diff --git a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt index ca4bf99a3..8a4bff7ab 100644 --- a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt +++ b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt @@ -2,70 +2,71 @@ androidx.activity:activity-compose:1.8.0 androidx.activity:activity-ktx:1.8.0 androidx.activity:activity:1.8.0 androidx.annotation:annotation-experimental:1.4.0 -androidx.annotation:annotation-jvm:1.7.0 -androidx.annotation:annotation:1.7.0 +androidx.annotation:annotation-jvm:1.7.1 +androidx.annotation:annotation:1.7.1 androidx.appcompat:appcompat-resources:1.6.1 androidx.arch.core:core-common:2.2.0 androidx.arch.core:core-runtime:2.2.0 androidx.autofill:autofill:1.0.0 -androidx.browser:browser:1.6.0 +androidx.browser:browser:1.8.0 androidx.collection:collection-jvm:1.4.0 androidx.collection:collection-ktx:1.4.0 androidx.collection:collection:1.4.0 -androidx.compose.animation:animation-android:1.6.2 -androidx.compose.animation:animation-core-android:1.6.2 -androidx.compose.animation:animation-core:1.6.2 -androidx.compose.animation:animation:1.6.2 -androidx.compose.foundation:foundation-android:1.6.2 -androidx.compose.foundation:foundation-layout-android:1.6.2 -androidx.compose.foundation:foundation-layout:1.6.2 -androidx.compose.foundation:foundation:1.6.2 -androidx.compose.material3:material3-android:1.2.0 -androidx.compose.material3:material3:1.2.0 -androidx.compose.material:material-icons-core-android:1.6.2 -androidx.compose.material:material-icons-core:1.6.2 -androidx.compose.material:material-icons-extended-android:1.6.2 -androidx.compose.material:material-icons-extended:1.6.2 -androidx.compose.material:material-ripple-android:1.6.2 -androidx.compose.material:material-ripple:1.6.2 -androidx.compose.runtime:runtime-android:1.6.2 -androidx.compose.runtime:runtime-saveable-android:1.6.2 -androidx.compose.runtime:runtime-saveable:1.6.2 -androidx.compose.runtime:runtime:1.6.2 -androidx.compose.ui:ui-android:1.6.2 -androidx.compose.ui:ui-geometry-android:1.6.2 -androidx.compose.ui:ui-geometry:1.6.2 -androidx.compose.ui:ui-graphics-android:1.6.2 -androidx.compose.ui:ui-graphics:1.6.2 -androidx.compose.ui:ui-text-android:1.6.2 -androidx.compose.ui:ui-text:1.6.2 -androidx.compose.ui:ui-tooling-preview-android:1.6.2 -androidx.compose.ui:ui-tooling-preview:1.6.2 -androidx.compose.ui:ui-unit-android:1.6.2 -androidx.compose.ui:ui-unit:1.6.2 -androidx.compose.ui:ui-util-android:1.6.2 -androidx.compose.ui:ui-util:1.6.2 -androidx.compose.ui:ui:1.6.2 -androidx.compose:compose-bom:2024.02.01 +androidx.compose.animation:animation-android:1.6.3 +androidx.compose.animation:animation-core-android:1.6.3 +androidx.compose.animation:animation-core:1.6.3 +androidx.compose.animation:animation:1.6.3 +androidx.compose.foundation:foundation-android:1.6.3 +androidx.compose.foundation:foundation-layout-android:1.6.3 +androidx.compose.foundation:foundation-layout:1.6.3 +androidx.compose.foundation:foundation:1.6.3 +androidx.compose.material3:material3-android:1.2.1 +androidx.compose.material3:material3:1.2.1 +androidx.compose.material:material-icons-core-android:1.6.3 +androidx.compose.material:material-icons-core:1.6.3 +androidx.compose.material:material-icons-extended-android:1.6.3 +androidx.compose.material:material-icons-extended:1.6.3 +androidx.compose.material:material-ripple-android:1.6.3 +androidx.compose.material:material-ripple:1.6.3 +androidx.compose.runtime:runtime-android:1.6.3 +androidx.compose.runtime:runtime-saveable-android:1.6.3 +androidx.compose.runtime:runtime-saveable:1.6.3 +androidx.compose.runtime:runtime:1.6.3 +androidx.compose.ui:ui-android:1.6.3 +androidx.compose.ui:ui-geometry-android:1.6.3 +androidx.compose.ui:ui-geometry:1.6.3 +androidx.compose.ui:ui-graphics-android:1.6.3 +androidx.compose.ui:ui-graphics:1.6.3 +androidx.compose.ui:ui-text-android:1.6.3 +androidx.compose.ui:ui-text:1.6.3 +androidx.compose.ui:ui-tooling-preview-android:1.6.3 +androidx.compose.ui:ui-tooling-preview:1.6.3 +androidx.compose.ui:ui-unit-android:1.6.3 +androidx.compose.ui:ui-unit:1.6.3 +androidx.compose.ui:ui-util-android:1.6.3 +androidx.compose.ui:ui-util:1.6.3 +androidx.compose.ui:ui:1.6.3 +androidx.compose:compose-bom:2024.02.02 androidx.concurrent:concurrent-futures:1.1.0 androidx.core:core-ktx:1.12.0 androidx.core:core:1.12.0 androidx.customview:customview-poolingcontainer:1.0.0 androidx.customview:customview:1.0.0 androidx.emoji2:emoji2:1.3.0 -androidx.exifinterface:exifinterface:1.3.6 +androidx.exifinterface:exifinterface:1.3.7 androidx.fragment:fragment:1.5.1 androidx.interpolator:interpolator:1.0.0 -androidx.lifecycle:lifecycle-common-java8:2.6.2 -androidx.lifecycle:lifecycle-common:2.6.2 -androidx.lifecycle:lifecycle-livedata-core:2.6.2 -androidx.lifecycle:lifecycle-livedata:2.6.2 -androidx.lifecycle:lifecycle-process:2.6.2 -androidx.lifecycle:lifecycle-runtime-ktx:2.6.2 -androidx.lifecycle:lifecycle-runtime:2.6.2 -androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2 -androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2 -androidx.lifecycle:lifecycle-viewmodel:2.6.2 +androidx.lifecycle:lifecycle-common-java8:2.7.0 +androidx.lifecycle:lifecycle-common:2.7.0 +androidx.lifecycle:lifecycle-livedata-core-ktx:2.7.0 +androidx.lifecycle:lifecycle-livedata-core:2.7.0 +androidx.lifecycle:lifecycle-livedata:2.7.0 +androidx.lifecycle:lifecycle-process:2.7.0 +androidx.lifecycle:lifecycle-runtime-ktx:2.7.0 +androidx.lifecycle:lifecycle-runtime:2.7.0 +androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 +androidx.lifecycle:lifecycle-viewmodel-savedstate:2.7.0 +androidx.lifecycle:lifecycle-viewmodel:2.7.0 androidx.loader:loader:1.0.0 androidx.metrics:metrics-performance:1.0.0-alpha04 androidx.profileinstaller:profileinstaller:1.3.1 @@ -86,16 +87,16 @@ com.google.dagger:hilt-android:2.51 com.google.dagger:hilt-core:2.51 com.google.guava:listenablefuture:1.0 com.squareup.okhttp3:okhttp:4.12.0 -com.squareup.okio:okio-jvm:3.6.0 -com.squareup.okio:okio:3.6.0 -io.coil-kt:coil-base:2.5.0 -io.coil-kt:coil-compose-base:2.5.0 -io.coil-kt:coil-compose:2.5.0 -io.coil-kt:coil:2.5.0 +com.squareup.okio:okio-jvm:3.8.0 +com.squareup.okio:okio:3.8.0 +io.coil-kt:coil-base:2.6.0 +io.coil-kt:coil-compose-base:2.6.0 +io.coil-kt:coil-compose:2.6.0 +io.coil-kt:coil:2.6.0 javax.inject:javax.inject:1 org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 org.jetbrains.kotlin:kotlin-stdlib:1.9.22 org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 12ac3ded3..9e68ffa7d 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -90,6 +90,8 @@ dependencies { implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.material3.adaptive) + implementation(libs.androidx.compose.material3.adaptive.layout) + implementation(libs.androidx.compose.material3.adaptive.navigation) implementation(libs.androidx.compose.material3.windowSizeClass) implementation(libs.androidx.compose.runtime.tracing) implementation(libs.androidx.core.ktx) diff --git a/app/dependencies/prodReleaseRuntimeClasspath.txt b/app/dependencies/prodReleaseRuntimeClasspath.txt index b9da05522..69cf3e50e 100644 --- a/app/dependencies/prodReleaseRuntimeClasspath.txt +++ b/app/dependencies/prodReleaseRuntimeClasspath.txt @@ -2,57 +2,61 @@ androidx.activity:activity-compose:1.8.0 androidx.activity:activity-ktx:1.8.0 androidx.activity:activity:1.8.0 androidx.annotation:annotation-experimental:1.4.0 -androidx.annotation:annotation-jvm:1.7.0 -androidx.annotation:annotation:1.7.0 +androidx.annotation:annotation-jvm:1.7.1 +androidx.annotation:annotation:1.7.1 androidx.appcompat:appcompat-resources:1.6.1 androidx.appcompat:appcompat:1.6.1 androidx.arch.core:core-common:2.2.0 androidx.arch.core:core-runtime:2.2.0 androidx.autofill:autofill:1.0.0 -androidx.browser:browser:1.6.0 +androidx.browser:browser:1.8.0 androidx.collection:collection-jvm:1.4.0 androidx.collection:collection-ktx:1.4.0 androidx.collection:collection:1.4.0 -androidx.compose.animation:animation-android:1.6.2 -androidx.compose.animation:animation-core-android:1.6.2 -androidx.compose.animation:animation-core:1.6.2 -androidx.compose.animation:animation:1.6.2 -androidx.compose.foundation:foundation-android:1.6.2 -androidx.compose.foundation:foundation-layout-android:1.6.2 -androidx.compose.foundation:foundation-layout:1.6.2 -androidx.compose.foundation:foundation:1.6.2 -androidx.compose.material3:material3-adaptive-android:1.0.0-alpha06 -androidx.compose.material3:material3-adaptive:1.0.0-alpha06 -androidx.compose.material3:material3-android:1.2.0 -androidx.compose.material3:material3-window-size-class-android:1.2.0 -androidx.compose.material3:material3-window-size-class:1.2.0 -androidx.compose.material3:material3:1.2.0 -androidx.compose.material:material-icons-core-android:1.6.2 -androidx.compose.material:material-icons-core:1.6.2 -androidx.compose.material:material-icons-extended-android:1.6.2 -androidx.compose.material:material-icons-extended:1.6.2 -androidx.compose.material:material-ripple-android:1.6.2 -androidx.compose.material:material-ripple:1.6.2 -androidx.compose.runtime:runtime-android:1.6.2 -androidx.compose.runtime:runtime-saveable-android:1.6.2 -androidx.compose.runtime:runtime-saveable:1.6.2 +androidx.compose.animation:animation-android:1.6.3 +androidx.compose.animation:animation-core-android:1.6.3 +androidx.compose.animation:animation-core:1.6.3 +androidx.compose.animation:animation:1.6.3 +androidx.compose.foundation:foundation-android:1.6.3 +androidx.compose.foundation:foundation-layout-android:1.6.3 +androidx.compose.foundation:foundation-layout:1.6.3 +androidx.compose.foundation:foundation:1.6.3 +androidx.compose.material3.adaptive:adaptive-android:1.0.0-alpha08 +androidx.compose.material3.adaptive:adaptive-layout-android:1.0.0-alpha08 +androidx.compose.material3.adaptive:adaptive-layout:1.0.0-alpha08 +androidx.compose.material3.adaptive:adaptive-navigation-android:1.0.0-alpha08 +androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-alpha08 +androidx.compose.material3.adaptive:adaptive:1.0.0-alpha08 +androidx.compose.material3:material3-android:1.2.1 +androidx.compose.material3:material3-window-size-class-android:1.2.1 +androidx.compose.material3:material3-window-size-class:1.2.1 +androidx.compose.material3:material3:1.2.1 +androidx.compose.material:material-icons-core-android:1.6.3 +androidx.compose.material:material-icons-core:1.6.3 +androidx.compose.material:material-icons-extended-android:1.6.3 +androidx.compose.material:material-icons-extended:1.6.3 +androidx.compose.material:material-ripple-android:1.6.3 +androidx.compose.material:material-ripple:1.6.3 +androidx.compose.runtime:runtime-android:1.6.3 +androidx.compose.runtime:runtime-saveable-android:1.6.3 +androidx.compose.runtime:runtime-saveable:1.6.3 androidx.compose.runtime:runtime-tracing:1.0.0-beta01 -androidx.compose.runtime:runtime:1.6.2 -androidx.compose.ui:ui-android:1.6.2 -androidx.compose.ui:ui-geometry-android:1.6.2 -androidx.compose.ui:ui-geometry:1.6.2 -androidx.compose.ui:ui-graphics-android:1.6.2 -androidx.compose.ui:ui-graphics:1.6.2 -androidx.compose.ui:ui-text-android:1.6.2 -androidx.compose.ui:ui-text:1.6.2 -androidx.compose.ui:ui-tooling-preview-android:1.6.2 -androidx.compose.ui:ui-tooling-preview:1.6.2 -androidx.compose.ui:ui-unit-android:1.6.2 -androidx.compose.ui:ui-unit:1.6.2 -androidx.compose.ui:ui-util-android:1.6.2 -androidx.compose.ui:ui-util:1.6.2 -androidx.compose.ui:ui:1.6.2 -androidx.compose:compose-bom:2024.02.01 +androidx.compose.runtime:runtime:1.6.3 +androidx.compose.ui:ui-android:1.6.3 +androidx.compose.ui:ui-geometry-android:1.6.3 +androidx.compose.ui:ui-geometry:1.6.3 +androidx.compose.ui:ui-graphics-android:1.6.3 +androidx.compose.ui:ui-graphics:1.6.3 +androidx.compose.ui:ui-text-android:1.6.3 +androidx.compose.ui:ui-text:1.6.3 +androidx.compose.ui:ui-tooling-preview-android:1.6.3 +androidx.compose.ui:ui-tooling-preview:1.6.3 +androidx.compose.ui:ui-unit-android:1.6.3 +androidx.compose.ui:ui-unit:1.6.3 +androidx.compose.ui:ui-util-android:1.6.3 +androidx.compose.ui:ui-util:1.6.3 +androidx.compose.ui:ui:1.6.3 +androidx.compose:compose-bom:2024.02.02 androidx.concurrent:concurrent-futures:1.1.0 androidx.core:core-ktx:1.12.0 androidx.core:core-splashscreen:1.0.1 @@ -68,11 +72,11 @@ androidx.documentfile:documentfile:1.0.0 androidx.drawerlayout:drawerlayout:1.0.0 androidx.emoji2:emoji2-views-helper:1.3.0 androidx.emoji2:emoji2:1.3.0 -androidx.exifinterface:exifinterface:1.3.6 +androidx.exifinterface:exifinterface:1.3.7 androidx.fragment:fragment:1.5.1 androidx.hilt:hilt-common:1.1.0 -androidx.hilt:hilt-navigation-compose:1.0.0 -androidx.hilt:hilt-navigation:1.0.0 +androidx.hilt:hilt-navigation-compose:1.2.0 +androidx.hilt:hilt-navigation:1.2.0 androidx.hilt:hilt-work:1.1.0 androidx.interpolator:interpolator:1.0.0 androidx.legacy:legacy-support-core-utils:1.0.0 @@ -119,7 +123,9 @@ androidx.vectordrawable:vectordrawable:1.1.0 androidx.versionedparcelable:versionedparcelable:1.1.1 androidx.viewpager:viewpager:1.0.0 androidx.window.extensions.core:core:1.0.0 -androidx.window:window:1.2.0 +androidx.window:window-core-android:1.3.0-alpha02 +androidx.window:window-core:1.3.0-alpha02 +androidx.window:window:1.3.0-alpha02 androidx.work:work-runtime-ktx:2.9.0 androidx.work:work-runtime:2.9.0 com.caverock:androidsvg-aar:1.4 @@ -181,33 +187,33 @@ com.google.protobuf:protobuf-kotlin-lite:3.25.2 com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0 com.squareup.okhttp3:logging-interceptor:4.12.0 com.squareup.okhttp3:okhttp:4.12.0 -com.squareup.okio:okio-jvm:3.6.0 -com.squareup.okio:okio:3.6.0 +com.squareup.okio:okio-jvm:3.8.0 +com.squareup.okio:okio:3.8.0 com.squareup.retrofit2:retrofit:2.9.0 -io.coil-kt:coil-base:2.5.0 -io.coil-kt:coil-compose-base:2.5.0 -io.coil-kt:coil-compose:2.5.0 -io.coil-kt:coil-svg:2.5.0 -io.coil-kt:coil:2.5.0 +io.coil-kt:coil-base:2.6.0 +io.coil-kt:coil-compose-base:2.6.0 +io.coil-kt:coil-compose:2.6.0 +io.coil-kt:coil-svg:2.6.0 +io.coil-kt:coil:2.6.0 io.github.aakira:napier-android:1.4.1 io.github.aakira:napier:1.4.1 javax.inject:javax.inject:1 org.checkerframework:checker-qual:3.12.0 org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22 -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10 -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10 +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 org.jetbrains.kotlin:kotlin-stdlib:1.9.22 -org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3 -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3 -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3 -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3 -org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.7.3 -org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.7.3 +org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0 +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.0 +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0 +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0 +org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.8.0 +org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.8.0 org.jetbrains.kotlinx:kotlinx-datetime-jvm:0.5.0 org.jetbrains.kotlinx:kotlinx-datetime:0.5.0 -org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.0 -org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.0 -org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.0 -org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.0 -org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0 +org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3 +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3 +org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3 +org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3 +org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3 org.jetbrains:annotations:23.0.0 diff --git a/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt b/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt index 732e527bb..7c9dfcc7a 100644 --- a/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt +++ b/app/src/androidTest/kotlin/com/google/samples/apps/nowinandroid/ui/NiaAppStateTest.kt @@ -167,7 +167,7 @@ class NiaAppStateTest { } @Test - fun stateIsOfflineWhenNetworkMonitorIsOffline() = runTest(UnconfinedTestDispatcher()) { + fun niaAppState_whenNetworkMonitorIsOffline_StateIsOffline() = runTest(UnconfinedTestDispatcher()) { composeTestRule.setContent { state = NiaAppState( navController = NavHostController(LocalContext.current), @@ -214,7 +214,7 @@ class NiaAppStateTest { @Composable private fun rememberTestNavController(): TestNavHostController { val context = LocalContext.current - return remember { + return remember { TestNavHostController(context).apply { navigatorProvider.addNavigator(ComposeNavigator()) graph = createGraph(startDestination = "a") { diff --git a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/ui/interests2pane/InterestsListDetailScreen.kt b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/ui/interests2pane/InterestsListDetailScreen.kt index 98327923f..b3594b81f 100644 --- a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/ui/interests2pane/InterestsListDetailScreen.kt +++ b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/ui/interests2pane/InterestsListDetailScreen.kt @@ -20,11 +20,11 @@ import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.Box import androidx.compose.material3.Text import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi -import androidx.compose.material3.adaptive.ListDetailPaneScaffold -import androidx.compose.material3.adaptive.ListDetailPaneScaffoldRole -import androidx.compose.material3.adaptive.PaneAdaptedValue -import androidx.compose.material3.adaptive.ThreePaneScaffoldNavigator -import androidx.compose.material3.adaptive.rememberListDetailPaneScaffoldNavigator +import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold +import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole +import androidx.compose.material3.adaptive.layout.PaneAdaptedValue +import androidx.compose.material3.adaptive.navigation.ThreePaneScaffoldNavigator +import androidx.compose.material3.adaptive.navigation.rememberListDetailPaneScaffoldNavigator import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -93,7 +93,8 @@ internal fun InterestsListDetailScreen( } ListDetailPaneScaffold( - scaffoldState = listDetailNavigator.scaffoldState, + value = listDetailNavigator.scaffoldValue, + directive = listDetailNavigator.scaffoldDirective, listPane = { InterestsRoute( onTopicClick = ::onTopicClickShowDetailPane, @@ -129,8 +130,8 @@ internal fun InterestsListDetailScreen( @OptIn(ExperimentalMaterial3AdaptiveApi::class) private fun ThreePaneScaffoldNavigator.isListPaneVisible(): Boolean = - scaffoldState.scaffoldValue[ListDetailPaneScaffoldRole.List] == PaneAdaptedValue.Expanded + scaffoldValue[ListDetailPaneScaffoldRole.List] == PaneAdaptedValue.Expanded @OptIn(ExperimentalMaterial3AdaptiveApi::class) private fun ThreePaneScaffoldNavigator.isDetailPaneVisible(): Boolean = - scaffoldState.scaffoldValue[ListDetailPaneScaffoldRole.Detail] == PaneAdaptedValue.Expanded + scaffoldValue[ListDetailPaneScaffoldRole.Detail] == PaneAdaptedValue.Expanded diff --git a/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt b/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt index 4402cecd4..5ac766675 100644 --- a/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt +++ b/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt @@ -79,7 +79,7 @@ internal fun TopicRoute( viewModel: TopicViewModel = hiltViewModel(), ) { val topicUiState: TopicUiState by viewModel.topicUiState.collectAsStateWithLifecycle() - val newsUiState: NewsUiState by viewModel.newUiState.collectAsStateWithLifecycle() + val newsUiState: NewsUiState by viewModel.newsUiState.collectAsStateWithLifecycle() TrackScreenViewEvent(screenName = "Topic: ${viewModel.topicId}") TopicScreen( diff --git a/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModel.kt b/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModel.kt index 2dea8ba05..255e40f8b 100644 --- a/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModel.kt +++ b/feature/topic/src/main/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModel.kt @@ -62,7 +62,7 @@ class TopicViewModel @Inject constructor( initialValue = TopicUiState.Loading, ) - val newUiState: StateFlow = newsUiState( + val newsUiState: StateFlow = newsUiState( topicId = topicArgs.topicId, userDataRepository = userDataRepository, userNewsResourceRepository = userNewsResourceRepository, diff --git a/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt b/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt index a9c9d96dc..565732f59 100644 --- a/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt +++ b/feature/topic/src/test/kotlin/com/google/samples/apps/nowinandroid/feature/topic/TopicViewModelTest.kt @@ -91,7 +91,7 @@ class TopicViewModelTest { @Test fun uiStateNews_whenInitialized_thenShowLoading() = runTest { - assertEquals(NewsUiState.Loading, viewModel.newUiState.value) + assertEquals(NewsUiState.Loading, viewModel.newsUiState.value) } @Test @@ -117,7 +117,7 @@ class TopicViewModelTest { topicsRepository.sendTopics(testInputTopics.map { it.topic }) userDataRepository.setFollowedTopicIds(setOf(testInputTopics[1].topic.id)) val topicUiState = viewModel.topicUiState.value - val newsUiState = viewModel.newUiState.value + val newsUiState = viewModel.newsUiState.value assertIs(topicUiState) assertIs(newsUiState) @@ -131,7 +131,7 @@ class TopicViewModelTest { val collectJob = launch(UnconfinedTestDispatcher()) { combine( viewModel.topicUiState, - viewModel.newUiState, + viewModel.newsUiState, ::Pair, ).collect() } @@ -139,7 +139,7 @@ class TopicViewModelTest { userDataRepository.setFollowedTopicIds(setOf(testInputTopics[1].topic.id)) newsRepository.sendNewsResources(sampleNewsResources) val topicUiState = viewModel.topicUiState.value - val newsUiState = viewModel.newUiState.value + val newsUiState = viewModel.newsUiState.value assertIs(topicUiState) assertIs(newsUiState) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 481494a48..13e81df64 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,16 +6,16 @@ androidGradlePlugin = "8.3.0" androidTools = "31.3.0" androidxActivity = "1.8.0" androidxAppCompat = "1.6.1" -androidxBrowser = "1.6.0" -androidxComposeBom = "2024.02.01" +androidxBrowser = "1.8.0" +androidxComposeBom = "2024.02.02" androidxComposeCompiler = "1.5.8" -androidxComposeMaterial3Adaptive = "1.0.0-alpha06" +androidxComposeMaterial3Adaptive = "1.0.0-alpha08" androidxComposeRuntimeTracing = "1.0.0-beta01" androidxCore = "1.12.0" androidxCoreSplashscreen = "1.0.1" androidxDataStore = "1.0.0" androidxEspresso = "3.5.1" -androidxHiltNavigationCompose = "1.0.0" +androidxHiltNavigationCompose = "1.2.0" androidxLifecycle = "2.7.0" androidxMacroBenchmark = "1.2.2" androidxMetrics = "1.0.0-alpha04" @@ -29,12 +29,12 @@ androidxTracing = "1.3.0-alpha02" androidxUiAutomator = "2.2.0" androidxWindowManager = "1.2.0" androidxWork = "2.9.0" -coil = "2.5.0" +coil = "2.6.0" dependencyGuard = "0.4.3" firebaseBom = "32.4.0" firebaseCrashlyticsPlugin = "2.9.9" firebasePerfPlugin = "1.4.2" -gmsPlugin = "4.4.0" +gmsPlugin = "4.4.1" googleOss = "17.0.1" googleOssPlugin = "0.10.6" hilt = "2.51" @@ -42,9 +42,9 @@ hiltExt = "1.1.0" jacoco = "0.8.7" junit4 = "4.13.2" kotlin = "1.9.22" -kotlinxCoroutines = "1.7.3" +kotlinxCoroutines = "1.8.0" kotlinxDatetime = "0.5.0" -kotlinxSerializationJson = "1.6.0" +kotlinxSerializationJson = "1.6.3" ksp = "1.9.22-1.0.18" okhttp = "4.12.0" protobuf = "3.25.2" @@ -71,7 +71,9 @@ androidx-compose-foundation = { group = "androidx.compose.foundation", name = "f androidx-compose-foundation-layout = { group = "androidx.compose.foundation", name = "foundation-layout" } androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended" } androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" } -androidx-compose-material3-adaptive = { group = "androidx.compose.material3", name = "material3-adaptive", version.ref = "androidxComposeMaterial3Adaptive" } +androidx-compose-material3-adaptive = { group = "androidx.compose.material3.adaptive", name = "adaptive", version.ref = "androidxComposeMaterial3Adaptive" } +androidx-compose-material3-adaptive-layout = { group = "androidx.compose.material3.adaptive", name = "adaptive-layout", version.ref = "androidxComposeMaterial3Adaptive" } +androidx-compose-material3-adaptive-navigation = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation", version.ref = "androidxComposeMaterial3Adaptive" } androidx-compose-material3-windowSizeClass = { group = "androidx.compose.material3", name = "material3-window-size-class" } androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" } androidx-compose-runtime-tracing = { group = "androidx.compose.runtime", name = "runtime-tracing", version.ref = "androidxComposeRuntimeTracing" }