diff --git a/android/build.gradle.kts b/android/build.gradle.kts
index 6f0c665..a0e28b1 100644
--- a/android/build.gradle.kts
+++ b/android/build.gradle.kts
@@ -34,7 +34,7 @@ android {
}
dependencies {
-
+ implementation(COIL.compose)
implementation(Kotlin.stdlib)
implementation(AndroidX.core.ktx)
implementation(AndroidX.appCompat)
diff --git a/android/src/main/java/playground/android/CoilFragment.kt b/android/src/main/java/playground/android/CoilFragment.kt
index 63f517a..f24ff51 100644
--- a/android/src/main/java/playground/android/CoilFragment.kt
+++ b/android/src/main/java/playground/android/CoilFragment.kt
@@ -1,14 +1,29 @@
package playground.android
import android.os.Bundle
-import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.ImageView
+import androidx.fragment.app.Fragment
+import coil.load
+import coil.transform.CircleCropTransformation
+import coil.transform.RoundedCornersTransformation
+import java.io.File
+
+
+/**
+ * coil-kt/coil - An image loading library for Android backed by Kotlin Coroutines
+- [Website](https://coil-kt.github.io/coil/)
+- [GitHub coil-kt/coil](https://github.com/coil-kt/coil)
+ */
class CoilFragment : Fragment() {
+ private var ivFile: ImageView? = null
+ private var ivUrl: ImageView? = null
+ private var ivDrawable: ImageView? = null
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
@@ -18,4 +33,69 @@ class CoilFragment : Fragment() {
return inflater.inflate(R.layout.fragment_coil, container, false)
}
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ // initializing the imageViews
+ initializeImages()
+
+ //Loading from a URL
+ loadFromURL()
+
+ //Loading from an image drawable
+ loadFromDrawable()
+
+ // Loading from a file
+ loadFromFile()
+
+ //adding placeholder to loading images
+ addingPlaceholder()
+
+ //applying some basic transformations to image using coil
+
+ // Crops and centres the image into a circle.
+ circleCropTransformation()
+
+ // Crops the image to fit the target's dimensions and rounds the corners of the image.
+ roundedCornerTransformation()
+
+
+ }
+
+ private fun roundedCornerTransformation() {
+ ivUrl?.load("https://via.placeholder.com/600/92c952") {
+ transformations(RoundedCornersTransformation())
+ }
+ }
+
+ private fun circleCropTransformation() {
+ ivUrl?.load("https://via.placeholder.com/600/92c952") {
+ transformations(CircleCropTransformation())
+ }
+ }
+
+ private fun addingPlaceholder() {
+ ivUrl?.load("https://via.placeholder.com/600/92c952") {
+ placeholder(R.drawable.placeholder_img)
+ }
+ }
+
+ private fun loadFromFile() {
+ ivFile?.load(File("/path/to/some_image_placeholder.png"))
+ }
+
+ private fun loadFromDrawable() {
+ ivDrawable?.load(R.drawable.placeholder_img)
+ }
+
+ private fun loadFromURL() {
+ ivUrl?.load("https://via.placeholder.com/600/92c952")
+ }
+
+ private fun initializeImages() {
+ ivFile = view?.findViewById(R.id.ivFile)
+ ivUrl = view?.findViewById(R.id.ivUrl)
+ ivDrawable = view?.findViewById(R.id.ivDrawable)
+ }
+
}
diff --git a/android/src/main/res/drawable/placeholder_img.jpeg b/android/src/main/res/drawable/placeholder_img.jpeg
new file mode 100644
index 0000000..fcde1cd
Binary files /dev/null and b/android/src/main/res/drawable/placeholder_img.jpeg differ
diff --git a/android/src/main/res/layout/fragment_coil.xml b/android/src/main/res/layout/fragment_coil.xml
index e819eee..026bd85 100644
--- a/android/src/main/res/layout/fragment_coil.xml
+++ b/android/src/main/res/layout/fragment_coil.xml
@@ -1,14 +1,28 @@
-
-
-
-
-
+
+
+
+
diff --git a/kotlin-jvm/build.gradle.kts b/kotlin-jvm/build.gradle.kts
index d579ff5..8489af6 100644
--- a/kotlin-jvm/build.gradle.kts
+++ b/kotlin-jvm/build.gradle.kts
@@ -86,6 +86,7 @@ dependencies {
implementation("com.apollographql.apollo:apollo-runtime:_")
implementation(KotlinX.serialization.json)
implementation(KotlinX.serialization.properties)
+
// Keep dependencies sorted to minimize merge conflicts on pull-requests!
}