diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f868621e..5cb9bdde 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -143,7 +143,6 @@ dependencies { implementation(projects.ui.theme) implementation(projects.ui.webview) - implementation(libs.accompanist.navigation.material) implementation(libs.accompanist.permissions) implementation(libs.androidx.activity.compose) implementation(libs.androidx.hilt.compose) @@ -156,6 +155,7 @@ dependencies { implementation(libs.compose.animation.animation) implementation(libs.compose.foundation.foundation) implementation(libs.compose.foundation.layout) + implementation(libs.compose.material.navigation) implementation(libs.compose.ui.tooling) implementation(libs.compose.ui.ui) implementation(libs.compose.ui.util) diff --git a/app/src/main/java/com/kafka/user/MainActivity.kt b/app/src/main/java/com/kafka/user/MainActivity.kt index 98d434c5..29d312b1 100644 --- a/app/src/main/java/com/kafka/user/MainActivity.kt +++ b/app/src/main/java/com/kafka/user/MainActivity.kt @@ -43,9 +43,9 @@ class MainActivity : ComponentActivity() { } } - override fun onNewIntent(intent: Intent?) { + override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) - if (::navController.isInitialized && intent != null) { + if (::navController.isInitialized) { navController.handleDeepLink(intent) } else { Timber.e(Error("navController is not initialized or intent is null. isFinishing = $isFinishing, intent = $intent")) diff --git a/app/src/main/java/com/kafka/user/home/AppNavigation.kt b/app/src/main/java/com/kafka/user/home/AppNavigation.kt index 8bc158c2..c2d37d14 100644 --- a/app/src/main/java/com/kafka/user/home/AppNavigation.kt +++ b/app/src/main/java/com/kafka/user/home/AppNavigation.kt @@ -4,6 +4,7 @@ import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material.navigation.bottomSheet import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.Stable @@ -27,7 +28,6 @@ import androidx.navigation.compose.dialog import androidx.navigation.compose.navigation import androidx.navigation.navArgument import androidx.navigation.navDeepLink -import com.google.accompanist.navigation.material.bottomSheet import com.kafka.reader.ReaderScreen import com.kafka.reader.online.OnlineReader import com.kafka.search.SearchScreen diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e8d17891..2ef3c838 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,13 @@ [versions] -accompanist = "0.34.0" +accompanist = "0.35.0-alpha" agp = "8.3.2" androidxhilt = "1.2.0" androidxlifecycle = "2.7.0" -navigation = "2.7.7" +navigation = "2.8.0-alpha07" coil = "2.6.0" -compose-alpha = "2024.01.00-alpha01" -compose-bom = "2024.04.00" -constraintlayout = "1.1.0-alpha13" +compose-alpha = "2024.04.00-alpha02" +compose-bom = "2024.04.01" +constraintlayout = "1.0.1" composecompiler = "1.5.12" coroutines = "1.8.0" dagger = "2.51" @@ -15,6 +15,7 @@ icons = "1.0.0" kotlin = "1.9.23" kotlin-immutable = "0.3.7" material3 = "1.2.1" +materialnavigation = "1.7.0-alpha07" mixpanel = "7.0.0" okhttp = "4.12.0" paging = "3.2.1" @@ -59,7 +60,7 @@ accompanist-permissions = { module = "com.google.accompanist:accompanist-permiss accompanist-placeholder = { module = "com.google.accompanist:accompanist-placeholder-material", version.ref = "accompanist" } accompanist-systemuicontroller = { module = "com.google.accompanist:accompanist-systemuicontroller", version.ref = "accompanist" } #accompanist-navigation-animation = { module = "com.google.accompanist:accompanist-navigation-animation", version.ref = "accompanist" } -accompanist-navigation-material = { module = "com.google.accompanist:accompanist-navigation-material", version.ref = "accompanist" } +#accompanist-navigation-material = { module = "com.google.accompanist:accompanist-navigation-material", version.ref = "accompanist" } accompanist-web = { module = "com.google.accompanist:accompanist-webview", version.ref = "accompanist" } exoplayer-core = { module = "com.google.android.exoplayer:exoplayer-core", version.ref = "exoplayer" } @@ -69,9 +70,9 @@ rebugger = "com.github.theapache64:rebugger:1.0.0-alpha06" media = "androidx.media:media:1.7.0" palette = "androidx.palette:palette-ktx:1.0.0" -androidx-activity-compose = "androidx.activity:activity-compose:1.8.2" +androidx-activity-compose = "androidx.activity:activity-compose:1.9.0" androidx-collection = "androidx.collection:collection-ktx:1.4.0" -androidx-core = "androidx.core:core-ktx:1.12.0" +androidx-core = "androidx.core:core-ktx:1.13.0" androidx-hilt-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "androidxhilt" } androidx-hilt-compose = "androidx.hilt:hilt-navigation-compose:1.2.0" @@ -81,7 +82,6 @@ hilt-compiler = { module = "com.google.dagger:hilt-android-compiler", version.re hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "dagger" } androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidxlifecycle" } -androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidxlifecycle" } androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidxlifecycle" } androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxlifecycle" } androidx-lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidxlifecycle" } @@ -106,14 +106,15 @@ androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = " coil-coil = { module = "io.coil-kt:coil", version.ref = "coil" } coil-compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } -compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" } -#compose-bom = { module = "dev.chrisbanes.compose:compose-bom", version.ref = "compose-alpha" } +#compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" } +compose-bom = { module = "dev.chrisbanes.compose:compose-bom", version.ref = "compose-alpha" } compose-runtime-runtime = { module = "androidx.compose.runtime:runtime" } compose-animation-animation = { module = "androidx.compose.animation:animation" } compose-foundation-foundation = { module = "androidx.compose.foundation:foundation" } compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout" } compose-material-iconsext = { module = "androidx.compose.material:material-icons-extended" } compose-material-material = { module = "androidx.compose.material:material" } +compose-material-navigation = { module = "androidx.compose.material:material-navigation", version.ref = "materialnavigation" } compose-material-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" } compose-ui-test = { module = "androidx.compose.ui:ui-test-junit4" } compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" } @@ -127,7 +128,7 @@ fetch-okhttp = "androidx.tonyodev.fetch2okhttp:xfetch2okhttp:3.1.6" dagger-dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" } -google-bom = "com.google.firebase:firebase-bom:32.8.0" +google-bom = "com.google.firebase:firebase-bom:32.8.1" google-analytics = { module = "com.google.firebase:firebase-analytics" } google-crashlytics = { module = "com.google.firebase:firebase-crashlytics" } google-dynamic_links = { module = "com.google.firebase:firebase-dynamic-links" } @@ -136,7 +137,7 @@ google-coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.8. google-firestore = { module = "com.google.firebase:firebase-firestore" } google-messaging = { module = "com.google.firebase:firebase-messaging" } google-performance = { module = "com.google.firebase:firebase-perf" } -google-playservices-auth = "com.google.android.gms:play-services-auth:21.0.0" +google-playservices-auth = "com.google.android.gms:play-services-auth:21.1.0" google-remoteConfig = { module = "com.google.firebase:firebase-config" } google-storage = { module = "com.google.firebase:firebase-storage-ktx" } @@ -168,7 +169,7 @@ pdfviewer = { module = "com.github.barteksc:android-pdf-viewer", version.ref = " threeTenAbp = "com.jakewharton.threetenabp:threetenabp:1.4.4" timber = "com.jakewharton.timber:timber:5.0.1" tracing = "androidx.tracing:tracing-ktx:1.2.0" -dataStore = "androidx.datastore:datastore-preferences:1.0.0" +dataStore = "androidx.datastore:datastore-preferences:1.1.0" jsoup = "org.jsoup:jsoup:1.16.1" core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "core-ktx" } androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-ext-junit" } diff --git a/navigation/build.gradle b/navigation/build.gradle index f0129b2a..ba275400 100644 --- a/navigation/build.gradle +++ b/navigation/build.gradle @@ -18,7 +18,6 @@ android { } dependencies { - implementation libs.accompanist.navigation.material implementation libs.androidx.core implementation libs.androidx.hilt.compose implementation libs.androidx.hilt.navigation @@ -31,6 +30,7 @@ dependencies { implementation project(':ui:common') implementation libs.androidx.navigation.compose implementation libs.compose.material.material + implementation libs.compose.material.navigation implementation libs.compose.runtime.runtime implementation libs.hilt.android diff --git a/navigation/src/main/java/org/kafka/navigation/RememberBottomSheetNavigator.kt b/navigation/src/main/java/org/kafka/navigation/RememberBottomSheetNavigator.kt index 328d7c0e..ee76df2a 100644 --- a/navigation/src/main/java/org/kafka/navigation/RememberBottomSheetNavigator.kt +++ b/navigation/src/main/java/org/kafka/navigation/RememberBottomSheetNavigator.kt @@ -1,16 +1,16 @@ package org.kafka.navigation import androidx.compose.animation.core.AnimationSpec +import androidx.compose.animation.core.SpringSpec import androidx.compose.material.ModalBottomSheetValue -import androidx.compose.material.SwipeableDefaults +import androidx.compose.material.navigation.BottomSheetNavigator import androidx.compose.material.rememberModalBottomSheetState import androidx.compose.runtime.Composable import androidx.compose.runtime.remember -import com.google.accompanist.navigation.material.BottomSheetNavigator @Composable fun rememberBottomSheetNavigator( - animationSpec: AnimationSpec = SwipeableDefaults.AnimationSpec, + animationSpec: AnimationSpec = SpringSpec(), skipHalfExpanded: Boolean = true, ): BottomSheetNavigator { val sheetState = rememberModalBottomSheetState( diff --git a/ui/common/build.gradle b/ui/common/build.gradle index 6a6ea0c6..3279a1c5 100644 --- a/ui/common/build.gradle +++ b/ui/common/build.gradle @@ -21,24 +21,24 @@ dependencies { api project(':ui:theme') implementation libs.accompanist.flowlayout - implementation libs.accompanist.navigation.material implementation libs.accompanist.systemuicontroller - api libs.androidx.core - api libs.androidx.hilt.compose - api libs.androidx.hilt.navigation - api libs.androidx.lifecycle.process - api libs.androidx.lifecycle.runtime - api libs.androidx.lifecycle.viewmodel.compose - api libs.androidx.lifecycle.viewmodel.ktx - api libs.coil.compose - api libs.compose.animation.animation - api libs.compose.foundation.foundation - api libs.compose.foundation.layout - api libs.compose.material.material3 - api libs.compose.runtime.runtime - api libs.compose.ui.tooling - api libs.compose.ui.ui - api libs.compose.ui.util + implementation libs.androidx.core + implementation libs.androidx.hilt.compose + implementation libs.androidx.hilt.navigation + implementation libs.androidx.lifecycle.process + implementation libs.androidx.lifecycle.runtime + implementation libs.androidx.lifecycle.viewmodel.compose + implementation libs.androidx.lifecycle.viewmodel.ktx + implementation libs.coil.compose + implementation libs.compose.animation.animation + implementation libs.compose.foundation.foundation + implementation libs.compose.foundation.layout + implementation libs.compose.material.material3 + implementation libs.compose.material.navigation + implementation libs.compose.runtime.runtime + implementation libs.compose.ui.tooling + implementation libs.compose.ui.ui + implementation libs.compose.ui.util implementation libs.icons.feather implementation libs.icons.font.awesome implementation libs.icons.tabler diff --git a/ui/webview/build.gradle b/ui/webview/build.gradle index 4451b869..e51c26f5 100644 --- a/ui/webview/build.gradle +++ b/ui/webview/build.gradle @@ -17,46 +17,45 @@ android { } dependencies { + implementation project(':base:domain') + implementation project(':data:repo') + api project('::ui:theme') api project(':ui:common') api project(':ui:components') - api libs.accompanist.flowlayout - api libs.accompanist.navigation.material - api libs.accompanist.placeholder - api libs.accompanist.swiperefresh - api libs.accompanist.systemuicontroller - api libs.accompanist.web - api libs.androidx.core - api libs.androidx.hilt.compose - api libs.androidx.hilt.navigation - api libs.androidx.lifecycle.livedata.ktx - api libs.androidx.lifecycle.process - api libs.androidx.lifecycle.runtime - api libs.androidx.lifecycle.viewmodel.compose - api libs.androidx.lifecycle.viewmodel.ktx - // debugApi libs.compose.ui.test.manifest - api libs.androidx.paging.compose - api libs.coil.compose - api libs.compose.animation.animation - api libs.compose.foundation.foundation - api libs.compose.foundation.layout - // api libs.compose.livedata - api libs.compose.material.material3 - api libs.compose.runtime.runtime - api libs.compose.ui.tooling - api libs.compose.ui.ui - api libs.compose.ui.util - api libs.icons.feather - api libs.icons.font.awesome - api libs.icons.tabler - api libs.lottie.compose - api libs.lottie.core - api libs.tracing - androidTestApi libs.compose.ui.test + implementation libs.accompanist.flowlayout + implementation libs.accompanist.placeholder + implementation libs.accompanist.swiperefresh + implementation libs.accompanist.systemuicontroller + implementation libs.accompanist.web + implementation libs.androidx.core + implementation libs.androidx.hilt.compose + implementation libs.androidx.hilt.navigation + implementation libs.androidx.lifecycle.livedata.ktx + implementation libs.androidx.lifecycle.process + implementation libs.androidx.lifecycle.runtime + implementation libs.androidx.lifecycle.viewmodel.compose + implementation libs.androidx.lifecycle.viewmodel.ktx + implementation libs.androidx.paging.compose + implementation libs.coil.compose + implementation libs.compose.animation.animation + implementation libs.compose.foundation.foundation + implementation libs.compose.foundation.layout + implementation libs.compose.material.material3 + implementation libs.compose.material.navigation + implementation libs.compose.runtime.runtime + implementation libs.compose.ui.tooling + implementation libs.compose.ui.ui + implementation libs.compose.ui.util + implementation libs.icons.feather + implementation libs.icons.font.awesome + implementation libs.icons.tabler + implementation libs.lottie.compose + implementation libs.lottie.core + implementation libs.tracing - implementation project(':base:domain') - implementation project(':data:repo') + androidTestApi libs.compose.ui.test implementation libs.coil.coil implementation libs.kotlin.stdlib }