From 309bd46528ec0d627f1cef96184043cca4a7ebb0 Mon Sep 17 00:00:00 2001 From: "Md. Mahmudul Hasan Shohag" Date: Thu, 10 Feb 2022 17:29:31 +0600 Subject: [PATCH 1/2] Compose updated to 1.1.0 and other libs updated --- app/build.gradle.kts | 2 +- build.gradle.kts | 2 +- buildSrc/src/main/kotlin/Libs.kt | 27 ++++++++++++++------------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index eaa08d1b..c39f22a2 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -17,7 +17,7 @@ android { minSdk = BuildConfigConst.minSdk targetSdk = BuildConfigConst.targetSdk versionCode = 1 - versionName = "4.0.0.000000" // Major.Minor.Patch.YYMMDD + versionName = "4.0.0.220210" // Major.Minor.Patch.YYMMDD vectorDrawables.useSupportLibrary = true testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/build.gradle.kts b/build.gradle.kts index 6fe45a34..82b334a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -21,7 +21,7 @@ buildscript { } plugins { - id("com.diffplug.spotless") version "6.1.2" + id("com.diffplug.spotless") version "6.2.2" } subprojects { diff --git a/buildSrc/src/main/kotlin/Libs.kt b/buildSrc/src/main/kotlin/Libs.kt index 1297cc5b..727e9fdf 100644 --- a/buildSrc/src/main/kotlin/Libs.kt +++ b/buildSrc/src/main/kotlin/Libs.kt @@ -1,5 +1,5 @@ object Libs { - const val androidGradlePlugin = "com.android.tools.build:gradle:7.2.0-beta01" + const val androidGradlePlugin = "com.android.tools.build:gradle:7.2.0-beta02" const val secretsGradlePlugin = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.0" @@ -24,7 +24,7 @@ object Libs { } object Yalantis { - const val uCrop = "com.github.yalantis:ucrop:2.2.7" + const val uCrop = "com.github.yalantis:ucrop:2.2.8" } object Airbnb { @@ -39,7 +39,7 @@ object Libs { const val exoplayer = "com.google.android.exoplayer:exoplayer:2.16.1" object Firebase { - const val bom = "com.google.firebase:firebase-bom:29.0.3" + const val bom = "com.google.firebase:firebase-bom:29.0.4" const val analytics = "com.google.firebase:firebase-analytics-ktx" } @@ -57,7 +57,7 @@ object Libs { } object Accompanist { - private const val version = "0.22.1-rc" + private const val version = "0.23.0" const val insets = "com.google.accompanist:accompanist-insets:$version" const val systemuicontroller = @@ -90,11 +90,12 @@ object Libs { const val androidGradlePlugin = "com.google.dagger:hilt-android-gradle-plugin:$version" const val core = "com.google.dagger:hilt-android:$version" const val compiler = "com.google.dagger:hilt-compiler:$version" - const val navigationCompose = "androidx.hilt:hilt-navigation-compose:1.0.0-rc01" + + const val navigationCompose = "androidx.hilt:hilt-navigation-compose:1.0.0" } object AndroidX { - const val appcompat = "androidx.appcompat:appcompat:1.4.0" + const val appcompat = "androidx.appcompat:appcompat:1.4.1" const val coreKtx = "androidx.core:core-ktx:1.7.0" const val swipeRefreshLayout = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" @@ -103,7 +104,7 @@ object Libs { } object Compose { - const val version = "1.1.0-rc03" + const val version = "1.1.0" const val compilerVersion = version const val compiler = "androidx.compose.compiler:compiler:$compilerVersion" @@ -134,13 +135,13 @@ object Libs { } object ConstraintLayout { - private const val version = "1.0.0-rc02" + private const val version = "1.0.0" const val compose = "androidx.constraintlayout:constraintlayout-compose:$version" } object Lifecycle { - private const val version = "2.4.0" + private const val version = "2.4.1" const val extensions = "androidx.lifecycle:lifecycle-extensions:$version" const val livedata = "androidx.lifecycle:lifecycle-livedata-ktx:$version" @@ -151,7 +152,7 @@ object Libs { } object Navigation { - private const val version = "2.4.0-rc01" + private const val version = "2.4.1" const val fragment = "androidx.navigation:navigation-fragment-ktx:$version" const val uiKtx = "androidx.navigation:navigation-ui-ktx:$version" @@ -167,7 +168,7 @@ object Libs { } object Room { - private const val version = "2.4.0" + private const val version = "2.4.1" const val runtime = "androidx.room:room-runtime:$version" const val compiler = "androidx.room:room-compiler:$version" @@ -193,7 +194,7 @@ object Libs { object OneSignal { const val gradlePlugin = "gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.14.0" - const val core = "com.onesignal:OneSignal:4.6.3" + const val core = "com.onesignal:OneSignal:4.6.7" } object Square { @@ -204,7 +205,7 @@ object Libs { const val converterMoshi = "com.squareup.retrofit2:converter-moshi:$version" } - const val okhttpLoggingInterceptor = "com.squareup.okhttp3:logging-interceptor:4.9.1" + const val okhttpLoggingInterceptor = "com.squareup.okhttp3:logging-interceptor:4.9.3" object Moshi { private const val version = "1.13.0" From ac648af1e7b07f2414f040935855135f674a1bd9 Mon Sep 17 00:00:00 2001 From: "Md. Mahmudul Hasan Shohag" Date: Thu, 10 Feb 2022 18:52:59 +0600 Subject: [PATCH 2/2] Composition: SwipeRefresh: animateItemPlacement() added to items --- .../swiperefresh/SwipeRefreshScreen.kt | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/org/imaginativeworld/whynotcompose/ui/screens/composition/swiperefresh/SwipeRefreshScreen.kt b/app/src/main/java/org/imaginativeworld/whynotcompose/ui/screens/composition/swiperefresh/SwipeRefreshScreen.kt index 6424dcda..598a1f8b 100644 --- a/app/src/main/java/org/imaginativeworld/whynotcompose/ui/screens/composition/swiperefresh/SwipeRefreshScreen.kt +++ b/app/src/main/java/org/imaginativeworld/whynotcompose/ui/screens/composition/swiperefresh/SwipeRefreshScreen.kt @@ -67,7 +67,7 @@ import org.imaginativeworld.whynotcompose.repositories.MockData fun SwipeRefreshScreen() { val scope = rememberCoroutineScope() - val items = remember { mutableStateOf(MockData.dummyListItem.toMutableList()) } + val items = remember { mutableStateOf(MockData.dummyListItem) } val isRefreshing = remember { mutableStateOf(false) } @@ -80,11 +80,7 @@ fun SwipeRefreshScreen() { delay(2000) - items.value = items.value.run { - shuffle() - - toMutableList() - } + items.value = items.value.shuffled() isRefreshing.value = false } @@ -96,7 +92,7 @@ fun SwipeRefreshScreen() { @Composable fun SwipeRefreshScreenSkeletonPreview() { AppTheme { - val items = remember { mutableStateOf(MockData.dummyListItem.toMutableList()) } + val items = remember { mutableStateOf(MockData.dummyListItem) } SwipeRefreshScreenSkeleton( items = items.value, @@ -108,7 +104,7 @@ fun SwipeRefreshScreenSkeletonPreview() { @Composable fun SwipeRefreshScreenSkeletonPreviewDark() { AppTheme { - val items = remember { mutableStateOf(MockData.dummyListItem.toMutableList()) } + val items = remember { mutableStateOf(MockData.dummyListItem) } SwipeRefreshScreenSkeleton( items = items.value, @@ -156,10 +152,10 @@ fun SwipeRefreshScreenSkeleton( .fillMaxSize(), contentPadding = PaddingValues(start = 16.dp, end = 16.dp, bottom = 8.dp) ) { - items(items) { item -> - + items(items, key = { it.id }) { item -> ListItem( modifier = Modifier + .animateItemPlacement() .padding(top = 8.dp) .background( color = MaterialTheme.colors.onBackground.copy(alpha = .1f),