From e8669f8a3da5e51ec3bf3a99e6f0ac115e4df959 Mon Sep 17 00:00:00 2001 From: Johan von Forstner Date: Mon, 28 Dec 2020 20:16:02 +0100 Subject: [PATCH] Gallery: replace Picasso with Coil --- app/build.gradle | 2 +- .../vonforst/evmap/adapter/GalleryAdapter.kt | 35 +++++++++---------- app/src/main/res/layout/fragment_map.xml | 2 -- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b47ca0ab..e87d70ee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -110,7 +110,7 @@ dependencies { implementation 'com.squareup.okhttp3:okhttp:4.9.0' implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.9.0' implementation 'com.squareup.moshi:moshi-kotlin:1.9.2' - implementation 'com.squareup.picasso:picasso:2.71828' + implementation 'io.coil-kt:coil:1.1.0' implementation 'com.github.MikeOrtiz:TouchImageView:2.3.3' implementation "com.mikepenz:aboutlibraries-core:$about_libs_version" implementation "com.mikepenz:aboutlibraries:$about_libs_version" diff --git a/app/src/main/java/net/vonforst/evmap/adapter/GalleryAdapter.kt b/app/src/main/java/net/vonforst/evmap/adapter/GalleryAdapter.kt index 3e307e3c..28d59264 100644 --- a/app/src/main/java/net/vonforst/evmap/adapter/GalleryAdapter.kt +++ b/app/src/main/java/net/vonforst/evmap/adapter/GalleryAdapter.kt @@ -7,9 +7,8 @@ import android.widget.ImageView import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView +import coil.load import com.ortiz.touchview.TouchImageView -import com.squareup.picasso.Callback -import com.squareup.picasso.Picasso import net.vonforst.evmap.R import net.vonforst.evmap.api.goingelectric.ChargerPhoto @@ -73,18 +72,17 @@ class GalleryAdapter( if (detailView) { (holder.view as TouchImageView).resetZoom() } - Picasso.get() - .load( - "https://api.goingelectric.de/chargepoints/photo/?key=${apikey}" + - "&id=${getItem(position).id}" + - if (detailView) { - "&size=1000" - } else { - "&height=${holder.view.height}" - } - ) - .into(holder.view, object : Callback { - override fun onSuccess() { + holder.view.load( + "https://api.goingelectric.de/chargepoints/photo/?key=${apikey}" + + "&id=${getItem(position).id}" + + if (detailView) { + "&size=1000" + } else { + "&height=${holder.view.height}" + } + ) { + listener( + onSuccess = { _, _ -> if (!loaded && loadedListener != null && pageToLoad == position) { holder.view.viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener { @@ -96,16 +94,15 @@ class GalleryAdapter( }) loaded = true } - } - - override fun onError(e: Exception?) { + }, + onError = { _, _ -> if (!loaded && loadedListener != null && pageToLoad == position) { loadedListener.invoke() loaded = true } } - - }) + ) + } holder.view.transitionName = galleryTransitionName(position) if (itemClickListener != null) { holder.view.setOnClickListener { diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index 374ad902..06639792 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -88,7 +88,6 @@ android:layout_width="match_parent" android:layout_height="@dimen/gallery_height_with_margin" android:background="?android:colorBackground" - android:fitsSystemWindows="true" app:layout_behavior="@string/BackDropBottomSheetBehavior">