From 960f7e876b522419d4ad029bc3442907a9b6c393 Mon Sep 17 00:00:00 2001 From: skydoves Date: Thu, 22 Feb 2024 00:33:42 +0900 Subject: [PATCH] Use ZoomableAsyncImage for zoomable subsampling --- app/build.gradle | 2 +- .../androiddeveloperroadmap/MainActivity.kt | 27 ++++--------------- build.gradle | 9 +++---- 3 files changed, 10 insertions(+), 28 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index dc19891..e2fa43a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -51,5 +51,5 @@ dependencies { implementation "com.github.skydoves:landscapist-coil:$landscapist_version" implementation "com.github.skydoves:landscapist-placeholder:$landscapist_version" - implementation "me.saket.telephoto:zoomable:0.6.2" + implementation "me.saket.telephoto:zoomable-image-coil:0.8.0" } diff --git a/app/src/main/kotlin/io/getstream/androiddeveloperroadmap/MainActivity.kt b/app/src/main/kotlin/io/getstream/androiddeveloperroadmap/MainActivity.kt index e62da87..5e6e964 100644 --- a/app/src/main/kotlin/io/getstream/androiddeveloperroadmap/MainActivity.kt +++ b/app/src/main/kotlin/io/getstream/androiddeveloperroadmap/MainActivity.kt @@ -24,16 +24,9 @@ import androidx.compose.material.MaterialTheme import androidx.compose.material.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.tooling.preview.Preview -import com.skydoves.landscapist.ImageOptions -import com.skydoves.landscapist.coil.CoilImage -import com.skydoves.landscapist.components.rememberImageComponent -import com.skydoves.landscapist.placeholder.shimmer.ShimmerPlugin import io.getstream.androiddeveloperroadmap.ui.theme.AndroidDeveloperRoadmapTheme -import io.getstream.androiddeveloperroadmap.ui.theme.shimmerHighLight -import me.saket.telephoto.zoomable.rememberZoomableState -import me.saket.telephoto.zoomable.zoomable +import me.saket.telephoto.zoomable.coil.ZoomableAsyncImage class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { @@ -53,20 +46,10 @@ class MainActivity : ComponentActivity() { @Composable private fun AndroidRoadmap() { - val background = MaterialTheme.colors.background - CoilImage( - modifier = Modifier - .fillMaxSize() - .zoomable(rememberZoomableState()), - imageModel = { "https://user-images.githubusercontent.com/24237865/144350753-5a52e6e5-3517-476c-8e5c-adad919abe8e.png" }, - component = rememberImageComponent { - // shows a shimmering effect when loading an image. - +ShimmerPlugin( - baseColor = background, - highlightColor = shimmerHighLight - ) - }, - imageOptions = ImageOptions(contentScale = ContentScale.Fit) + ZoomableAsyncImage( + modifier = Modifier.fillMaxSize(), + model = "https://user-images.githubusercontent.com/24237865/144350753-5a52e6e5-3517-476c-8e5c-adad919abe8e.png", + contentDescription = null ) } diff --git a/build.gradle b/build.gradle index b9e5408..0523eac 100644 --- a/build.gradle +++ b/build.gradle @@ -1,16 +1,15 @@ buildscript { ext { - compose_version = '1.5.2' - compose_compiler_version = '1.5.3' + compose_version = '1.6.1' + compose_compiler_version = '1.5.9' compose_activity_version = '1.7.2' - landscapist_version = '2.2.10' - zoomable_version = '1.5.1' + landscapist_version = '2.3.1' } } plugins { id 'com.android.application' version '8.1.2' apply false - id 'org.jetbrains.kotlin.android' version '1.9.10' apply false + id 'org.jetbrains.kotlin.android' version '1.9.22' apply false id "com.diffplug.spotless" version "6.7.0" apply false }