diff --git a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt index fcbb409ee..2fd62e964 100644 --- a/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt +++ b/app-nia-catalog/dependencies/releaseRuntimeClasspath.txt @@ -12,44 +12,44 @@ 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.7.0-beta01 -androidx.compose.animation:animation-core-android:1.7.0-beta01 -androidx.compose.animation:animation-core:1.7.0-beta01 -androidx.compose.animation:animation:1.7.0-beta01 -androidx.compose.foundation:foundation-android:1.7.0-beta01 -androidx.compose.foundation:foundation-layout-android:1.7.0-beta01 -androidx.compose.foundation:foundation-layout:1.7.0-beta01 -androidx.compose.foundation:foundation:1.7.0-beta01 +androidx.compose.animation:animation-android:1.7.0-rc01 +androidx.compose.animation:animation-core-android:1.7.0-rc01 +androidx.compose.animation:animation-core:1.7.0-rc01 +androidx.compose.animation:animation:1.7.0-rc01 +androidx.compose.foundation:foundation-android:1.7.0-rc01 +androidx.compose.foundation:foundation-layout-android:1.7.0-rc01 +androidx.compose.foundation:foundation-layout:1.7.0-rc01 +androidx.compose.foundation:foundation:1.7.0-rc01 androidx.compose.material3.adaptive:adaptive-android:1.0.0-rc01 androidx.compose.material3.adaptive:adaptive:1.0.0-rc01 -androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0-beta01 -androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta01 -androidx.compose.material3:material3-android:1.3.0-beta01 -androidx.compose.material3:material3:1.3.0-beta01 +androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0-rc01 +androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-rc01 +androidx.compose.material3:material3-android:1.3.0-rc01 +androidx.compose.material3:material3:1.3.0-rc01 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.7.0-beta01 -androidx.compose.material:material-ripple:1.7.0-beta01 -androidx.compose.runtime:runtime-android:1.7.0-beta01 -androidx.compose.runtime:runtime-saveable-android:1.7.0-beta01 -androidx.compose.runtime:runtime-saveable:1.7.0-beta01 -androidx.compose.runtime:runtime:1.7.0-beta01 -androidx.compose.ui:ui-android:1.7.0-beta01 -androidx.compose.ui:ui-geometry-android:1.7.0-beta01 -androidx.compose.ui:ui-geometry:1.7.0-beta01 -androidx.compose.ui:ui-graphics-android:1.7.0-beta01 -androidx.compose.ui:ui-graphics:1.7.0-beta01 -androidx.compose.ui:ui-text-android:1.7.0-beta01 -androidx.compose.ui:ui-text:1.7.0-beta01 -androidx.compose.ui:ui-tooling-preview-android:1.7.0-beta01 -androidx.compose.ui:ui-tooling-preview:1.7.0-beta01 -androidx.compose.ui:ui-unit-android:1.7.0-beta01 -androidx.compose.ui:ui-unit:1.7.0-beta01 -androidx.compose.ui:ui-util-android:1.7.0-beta01 -androidx.compose.ui:ui-util:1.7.0-beta01 -androidx.compose.ui:ui:1.7.0-beta01 +androidx.compose.material:material-ripple-android:1.7.0-rc01 +androidx.compose.material:material-ripple:1.7.0-rc01 +androidx.compose.runtime:runtime-android:1.7.0-rc01 +androidx.compose.runtime:runtime-saveable-android:1.7.0-rc01 +androidx.compose.runtime:runtime-saveable:1.7.0-rc01 +androidx.compose.runtime:runtime:1.7.0-rc01 +androidx.compose.ui:ui-android:1.7.0-rc01 +androidx.compose.ui:ui-geometry-android:1.7.0-rc01 +androidx.compose.ui:ui-geometry:1.7.0-rc01 +androidx.compose.ui:ui-graphics-android:1.7.0-rc01 +androidx.compose.ui:ui-graphics:1.7.0-rc01 +androidx.compose.ui:ui-text-android:1.7.0-rc01 +androidx.compose.ui:ui-text:1.7.0-rc01 +androidx.compose.ui:ui-tooling-preview-android:1.7.0-rc01 +androidx.compose.ui:ui-tooling-preview:1.7.0-rc01 +androidx.compose.ui:ui-unit-android:1.7.0-rc01 +androidx.compose.ui:ui-unit:1.7.0-rc01 +androidx.compose.ui:ui-util-android:1.7.0-rc01 +androidx.compose.ui:ui-util:1.7.0-rc01 +androidx.compose.ui:ui:1.7.0-rc01 androidx.compose:compose-bom:2024.02.02 androidx.concurrent:concurrent-futures:1.1.0 androidx.core:core-ktx:1.13.1 @@ -61,23 +61,23 @@ androidx.exifinterface:exifinterface:1.3.7 androidx.fragment:fragment:1.5.1 androidx.graphics:graphics-path:1.0.1 androidx.interpolator:interpolator:1.0.0 -androidx.lifecycle:lifecycle-common-java8:2.8.0 -androidx.lifecycle:lifecycle-common-jvm:2.8.0 -androidx.lifecycle:lifecycle-common:2.8.0 -androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.0 -androidx.lifecycle:lifecycle-livedata-core:2.8.0 -androidx.lifecycle:lifecycle-livedata:2.8.0 -androidx.lifecycle:lifecycle-process:2.8.0 -androidx.lifecycle:lifecycle-runtime-android:2.8.0 -androidx.lifecycle:lifecycle-runtime-compose-android:2.8.0 -androidx.lifecycle:lifecycle-runtime-compose:2.8.0 -androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.0 -androidx.lifecycle:lifecycle-runtime-ktx:2.8.0 -androidx.lifecycle:lifecycle-runtime:2.8.0 -androidx.lifecycle:lifecycle-viewmodel-android:2.8.0 -androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.0 -androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.0 -androidx.lifecycle:lifecycle-viewmodel:2.8.0 +androidx.lifecycle:lifecycle-common-java8:2.8.3 +androidx.lifecycle:lifecycle-common-jvm:2.8.3 +androidx.lifecycle:lifecycle-common:2.8.3 +androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.3 +androidx.lifecycle:lifecycle-livedata-core:2.8.3 +androidx.lifecycle:lifecycle-livedata:2.8.3 +androidx.lifecycle:lifecycle-process:2.8.3 +androidx.lifecycle:lifecycle-runtime-android:2.8.3 +androidx.lifecycle:lifecycle-runtime-compose-android:2.8.3 +androidx.lifecycle:lifecycle-runtime-compose:2.8.3 +androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.3 +androidx.lifecycle:lifecycle-runtime-ktx:2.8.3 +androidx.lifecycle:lifecycle-runtime:2.8.3 +androidx.lifecycle:lifecycle-viewmodel-android:2.8.3 +androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3 +androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.3 +androidx.lifecycle:lifecycle-viewmodel:2.8.3 androidx.loader:loader:1.0.0 androidx.metrics:metrics-performance:1.0.0-alpha04 androidx.profileinstaller:profileinstaller:1.3.1 @@ -109,10 +109,10 @@ 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:2.0.0 +org.jetbrains.kotlin:kotlin-stdlib-common:2.0.20 org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -org.jetbrains.kotlin:kotlin-stdlib:2.0.0 +org.jetbrains.kotlin:kotlin-stdlib:2.0.20 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 diff --git a/app/dependencies/prodReleaseRuntimeClasspath.txt b/app/dependencies/prodReleaseRuntimeClasspath.txt index 2206d265b..54a396dff 100644 --- a/app/dependencies/prodReleaseRuntimeClasspath.txt +++ b/app/dependencies/prodReleaseRuntimeClasspath.txt @@ -27,18 +27,18 @@ androidx.compose.material3.adaptive:adaptive-layout:1.0.0-rc01 androidx.compose.material3.adaptive:adaptive-navigation-android:1.0.0-rc01 androidx.compose.material3.adaptive:adaptive-navigation:1.0.0-rc01 androidx.compose.material3.adaptive:adaptive:1.0.0-rc01 -androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0-beta01 -androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-beta01 -androidx.compose.material3:material3-android:1.3.0-beta01 -androidx.compose.material3:material3-window-size-class-android:1.3.0-beta01 -androidx.compose.material3:material3-window-size-class:1.3.0-beta01 -androidx.compose.material3:material3:1.3.0-beta01 +androidx.compose.material3:material3-adaptive-navigation-suite-android:1.3.0-rc01 +androidx.compose.material3:material3-adaptive-navigation-suite:1.3.0-rc01 +androidx.compose.material3:material3-android:1.3.0-rc01 +androidx.compose.material3:material3-window-size-class-android:1.3.0-rc01 +androidx.compose.material3:material3-window-size-class:1.3.0-rc01 +androidx.compose.material3:material3:1.3.0-rc01 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.7.0-beta01 -androidx.compose.material:material-ripple:1.7.0-beta01 +androidx.compose.material:material-ripple-android:1.7.0-rc01 +androidx.compose.material:material-ripple:1.7.0-rc01 androidx.compose.runtime:runtime-android:1.7.0 androidx.compose.runtime:runtime-saveable-android:1.7.0 androidx.compose.runtime:runtime-saveable:1.7.0 @@ -132,9 +132,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-core-android:1.3.0-rc01 -androidx.window:window-core:1.3.0-rc01 -androidx.window:window:1.3.0-rc01 +androidx.window:window-core-android:1.3.0 +androidx.window:window-core:1.3.0 +androidx.window:window:1.3.0 androidx.work:work-runtime-ktx:2.9.0 androidx.work:work-runtime:2.9.0 com.caverock:androidsvg-aar:1.4 @@ -203,10 +203,10 @@ io.coil-kt:coil-svg:2.6.0 io.coil-kt:coil:2.6.0 javax.inject:javax.inject:1 org.checkerframework:checker-qual:3.12.0 -org.jetbrains.kotlin:kotlin-stdlib-common:2.0.0 +org.jetbrains.kotlin:kotlin-stdlib-common:2.0.20 org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0 org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0 -org.jetbrains.kotlin:kotlin-stdlib:2.0.0 +org.jetbrains.kotlin:kotlin-stdlib:2.0.20 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 diff --git a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt index 2f8572102..cffb13f34 100644 --- a/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt +++ b/app/src/main/kotlin/com/google/samples/apps/nowinandroid/MainActivity.kt @@ -23,7 +23,6 @@ import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.DisposableEffect @@ -55,8 +54,6 @@ import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import javax.inject.Inject -private const val TAG = "MainActivity" - @AndroidEntryPoint class MainActivity : ComponentActivity() { @@ -148,7 +145,6 @@ class MainActivity : ComponentActivity() { androidTheme = shouldUseAndroidTheme(uiState), disableDynamicTheming = shouldDisableDynamicTheming(uiState), ) { - @OptIn(ExperimentalMaterial3AdaptiveApi::class) NiaApp(appState) } } diff --git a/app/src/testDemo/kotlin/com/google/samples/apps/nowinandroid/ui/DeviceConfigurationOverrideWindowInsets.kt b/app/src/testDemo/kotlin/com/google/samples/apps/nowinandroid/ui/DeviceConfigurationOverrideWindowInsets.kt index 2fc88e561..a2409dd89 100644 --- a/app/src/testDemo/kotlin/com/google/samples/apps/nowinandroid/ui/DeviceConfigurationOverrideWindowInsets.kt +++ b/app/src/testDemo/kotlin/com/google/samples/apps/nowinandroid/ui/DeviceConfigurationOverrideWindowInsets.kt @@ -17,18 +17,17 @@ package com.google.samples.apps.nowinandroid.ui import android.view.WindowInsets -import android.widget.FrameLayout +import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberUpdatedState -import androidx.compose.ui.platform.ComposeView +import androidx.compose.ui.platform.AbstractComposeView import androidx.compose.ui.test.DeviceConfigurationOverride import androidx.compose.ui.viewinterop.AndroidView import androidx.core.view.WindowInsetsCompat import androidx.core.view.children /** - * A [DeviceConfigurationOverride] that allows overriding the [windowInsets] available - * to the content under test. + * A [DeviceConfigurationOverride] that overrides the window insets for the contained content. */ @Suppress("ktlint:standard:function-naming") fun DeviceConfigurationOverride.Companion.WindowInsets( @@ -38,10 +37,17 @@ fun DeviceConfigurationOverride.Companion.WindowInsets( val currentWindowInsets by rememberUpdatedState(windowInsets) AndroidView( factory = { context -> - object : FrameLayout(context) { + object : AbstractComposeView(context) { + @Composable + override fun Content() { + currentContentUnderTest() + } + override fun dispatchApplyWindowInsets(insets: WindowInsets): WindowInsets { children.forEach { - it.dispatchApplyWindowInsets(currentWindowInsets.toWindowInsets()) + it.dispatchApplyWindowInsets( + WindowInsets(currentWindowInsets.toWindowInsets()), + ) } return WindowInsetsCompat.CONSUMED.toWindowInsets()!! } @@ -52,17 +58,10 @@ fun DeviceConfigurationOverride.Companion.WindowInsets( */ @Deprecated("Deprecated in Java") override fun requestFitSystemWindows() { - dispatchApplyWindowInsets(currentWindowInsets.toWindowInsets()!!) + dispatchApplyWindowInsets(WindowInsets(currentWindowInsets.toWindowInsets()!!)) } - }.apply { - addView( - ComposeView(context).apply { - setContent { - currentContentUnderTest() - } - }, - ) } }, + update = { with(currentWindowInsets) { it.requestApplyInsets() } }, ) } diff --git a/core/designsystem/src/test/screenshots/LoadingWheel/LoadingWheel_animation_20.png b/core/designsystem/src/test/screenshots/LoadingWheel/LoadingWheel_animation_20.png index 570474cc1..74309056f 100644 Binary files a/core/designsystem/src/test/screenshots/LoadingWheel/LoadingWheel_animation_20.png and b/core/designsystem/src/test/screenshots/LoadingWheel/LoadingWheel_animation_20.png differ diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 232ef09b2..e5f671ef4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,15 +2,15 @@ accompanist = "0.34.0" androidDesugarJdkLibs = "2.0.4" # AGP and tools should be updated together -androidGradlePlugin = "8.4.0" -androidTools = "31.4.1" +androidGradlePlugin = "8.6.0" +androidTools = "31.6.0" androidxActivity = "1.8.2" androidxAppCompat = "1.7.0" androidxBrowser = "1.8.0" androidxComposeAlpha = "1.7.0-beta01" androidxComposeBom = "2024.02.02" androidxComposeMaterial3Adaptive = "1.0.0-rc01" -androidxComposeMaterial3AdaptiveNavigationSuite = "1.3.0-beta01" +androidxComposeMaterial3AdaptiveNavigationSuite = "1.3.0-rc01" androidxComposeRuntimeTracing = "1.0.0-beta01" androidxCore = "1.12.0" androidxCoreSplashscreen = "1.0.1" @@ -28,7 +28,7 @@ androidxTestRules = "1.5.0" androidxTestRunner = "1.5.2" androidxTracing = "1.3.0-alpha02" androidxUiAutomator = "2.3.0" -androidxWindowManager = "1.3.0-alpha03" +androidxWindowManager = "1.3.0" androidxWork = "2.9.0" coil = "2.6.0" dependencyGuard = "0.5.0" @@ -42,11 +42,11 @@ hilt = "2.51.1" hiltExt = "1.1.0" jacoco = "0.8.7" junit4 = "4.13.2" -kotlin = "2.0.0" +kotlin = "2.0.20" kotlinxCoroutines = "1.8.0" kotlinxDatetime = "0.5.0" kotlinxSerializationJson = "1.6.3" -ksp = "2.0.0-1.0.21" +ksp = "2.0.20-1.0.24" moduleGraph = "2.5.0" okhttp = "4.12.0" protobuf = "4.26.1"