diff --git a/AccessibilityCodelab/app/build.gradle b/AccessibilityCodelab/app/build.gradle index 07a195162..c82cd1566 100644 --- a/AccessibilityCodelab/app/build.gradle +++ b/AccessibilityCodelab/app/build.gradle @@ -69,7 +69,7 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) @@ -105,7 +105,7 @@ dependencies { implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.10.0" implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0" - implementation 'androidx.navigation:navigation-compose:2.9.7' + implementation 'androidx.navigation:navigation-compose:2.9.8' androidTestImplementation 'androidx.test:rules:1.7.0' androidTestImplementation 'androidx.test:runner:1.7.0' diff --git a/AccessibilityCodelab/build.gradle b/AccessibilityCodelab/build.gradle index a7e1de7a0..a87ccf1de 100644 --- a/AccessibilityCodelab/build.gradle +++ b/AccessibilityCodelab/build.gradle @@ -21,13 +21,13 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:9.1.0' + classpath 'com.android.tools.build:gradle:9.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' + id 'com.diffplug.spotless' version '8.4.0' id 'org.jetbrains.kotlin.plugin.compose' version "2.3.10" apply false } diff --git a/AccessibilityCodelab/gradle/wrapper/gradle-wrapper.properties b/AccessibilityCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/AccessibilityCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/AccessibilityCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/AccessibilityCodelab/gradlew b/AccessibilityCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/AccessibilityCodelab/gradlew +++ b/AccessibilityCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/AdaptiveUiCodelab/gradle/libs.versions.toml b/AdaptiveUiCodelab/gradle/libs.versions.toml index c45bdbe26..8b41daece 100644 --- a/AdaptiveUiCodelab/gradle/libs.versions.toml +++ b/AdaptiveUiCodelab/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -androidGradlePlugin = "9.1.0" -composeBom = "2026.03.00" +androidGradlePlugin = "9.2.0" +composeBom = "2026.04.01" coreKtx = "1.18.0" activityCompose = "1.13.0" espressoCore = "3.7.0" diff --git a/AdaptiveUiCodelab/gradle/wrapper/gradle-wrapper.properties b/AdaptiveUiCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/AdaptiveUiCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/AdaptiveUiCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/AdaptiveUiCodelab/gradlew b/AdaptiveUiCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/AdaptiveUiCodelab/gradlew +++ b/AdaptiveUiCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/AdvancedStateAndSideEffectsCodelab/app/build.gradle b/AdvancedStateAndSideEffectsCodelab/app/build.gradle index 7b9368266..f0fa51ff1 100644 --- a/AdvancedStateAndSideEffectsCodelab/app/build.gradle +++ b/AdvancedStateAndSideEffectsCodelab/app/build.gradle @@ -103,7 +103,7 @@ dependencies { implementation "androidx.appcompat:appcompat:1.7.1" implementation "androidx.tracing:tracing:1.3.0" - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) androidTestImplementation(composeBom) implementation "androidx.compose.runtime:runtime" diff --git a/AdvancedStateAndSideEffectsCodelab/build.gradle b/AdvancedStateAndSideEffectsCodelab/build.gradle index 90d93206c..c8b958da2 100644 --- a/AdvancedStateAndSideEffectsCodelab/build.gradle +++ b/AdvancedStateAndSideEffectsCodelab/build.gradle @@ -20,15 +20,15 @@ buildscript { mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:9.1.0" + classpath "com.android.tools.build:gradle:9.2.0" classpath "com.google.dagger:hilt-android-gradle-plugin:2.59.2" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' - id 'com.google.devtools.ksp' version '2.3.6' apply false + id 'com.diffplug.spotless' version '8.4.0' + id 'com.google.devtools.ksp' version '2.3.7' apply false } subprojects { diff --git a/AdvancedStateAndSideEffectsCodelab/gradle/wrapper/gradle-wrapper.properties b/AdvancedStateAndSideEffectsCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/AdvancedStateAndSideEffectsCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/AdvancedStateAndSideEffectsCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/AdvancedStateAndSideEffectsCodelab/gradlew b/AdvancedStateAndSideEffectsCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/AdvancedStateAndSideEffectsCodelab/gradlew +++ b/AdvancedStateAndSideEffectsCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/BasicLayoutsCodelab/app/build.gradle b/BasicLayoutsCodelab/app/build.gradle index ee148ed65..bb17bfd5e 100644 --- a/BasicLayoutsCodelab/app/build.gradle +++ b/BasicLayoutsCodelab/app/build.gradle @@ -57,7 +57,7 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) androidTestImplementation(composeBom) diff --git a/BasicLayoutsCodelab/build.gradle b/BasicLayoutsCodelab/build.gradle index 28b03ade2..aea13a121 100644 --- a/BasicLayoutsCodelab/build.gradle +++ b/BasicLayoutsCodelab/build.gradle @@ -19,14 +19,14 @@ buildscript { mavenCentral() } dependencies { - classpath "com.android.tools.build:gradle:9.1.0" + classpath "com.android.tools.build:gradle:9.2.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' + id 'com.diffplug.spotless' version '8.4.0' } subprojects { diff --git a/BasicLayoutsCodelab/gradle/wrapper/gradle-wrapper.properties b/BasicLayoutsCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/BasicLayoutsCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/BasicLayoutsCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/BasicLayoutsCodelab/gradlew b/BasicLayoutsCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/BasicLayoutsCodelab/gradlew +++ b/BasicLayoutsCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/MigrationCodelab/app/build.gradle b/MigrationCodelab/app/build.gradle index 02942ce57..96adc6d4f 100644 --- a/MigrationCodelab/app/build.gradle +++ b/MigrationCodelab/app/build.gradle @@ -56,29 +56,29 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) androidTestImplementation(composeBom) kapt "androidx.room:room-compiler:2.8.4" - kapt "com.github.bumptech.glide:compiler:5.0.5" + kapt "com.github.bumptech.glide:compiler:5.0.7" implementation "androidx.appcompat:appcompat:1.7.1" implementation "androidx.constraintlayout:constraintlayout:2.2.1" implementation "androidx.core:core-ktx:1.18.0" implementation "androidx.fragment:fragment-ktx:1.8.9" implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.10.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.10.0" - implementation "androidx.navigation:navigation-fragment-ktx:2.9.7" - implementation "androidx.navigation:navigation-ui-ktx:2.9.7" + implementation "androidx.navigation:navigation-fragment-ktx:2.9.8" + implementation "androidx.navigation:navigation-ui-ktx:2.9.8" implementation "androidx.recyclerview:recyclerview:1.4.0" implementation "androidx.room:room-runtime:2.8.4" implementation "androidx.room:room-ktx:2.8.4" implementation "androidx.tracing:tracing:1.3.0" implementation "androidx.viewpager2:viewpager2:1.1.0" - implementation "androidx.work:work-runtime-ktx:2.11.1" - implementation "com.github.bumptech.glide:glide:5.0.5" + implementation "androidx.work:work-runtime-ktx:2.11.2" + implementation "com.github.bumptech.glide:glide:5.0.7" implementation "com.google.android.material:material:1.13.0" - implementation "com.google.code.gson:gson:2.13.2" + implementation "com.google.code.gson:gson:2.14.0" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2" @@ -99,7 +99,7 @@ dependencies { androidTestImplementation "androidx.test.espresso:espresso-intents:3.7.0" androidTestImplementation "androidx.test.ext:junit:1.3.0" androidTestImplementation "androidx.test.uiautomator:uiautomator:2.3.0" - androidTestImplementation "androidx.work:work-testing:2.11.1" + androidTestImplementation "androidx.work:work-testing:2.11.2" androidTestImplementation "com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:4.1.1" androidTestImplementation "com.google.truth:truth:1.4.5" androidTestImplementation "androidx.compose.ui:ui-test-junit4" diff --git a/MigrationCodelab/build.gradle b/MigrationCodelab/build.gradle index 15808402b..2a886061a 100644 --- a/MigrationCodelab/build.gradle +++ b/MigrationCodelab/build.gradle @@ -21,16 +21,16 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:9.1.0" + classpath "com.android.tools.build:gradle:9.2.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10" - classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.9.7" + classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.9.8" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' - id 'com.android.legacy-kapt' version '9.1.0' apply false + id 'com.diffplug.spotless' version '8.4.0' + id 'com.android.legacy-kapt' version '9.2.0' apply false } allprojects { diff --git a/MigrationCodelab/gradle/wrapper/gradle-wrapper.properties b/MigrationCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/MigrationCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/MigrationCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/MigrationCodelab/gradlew b/MigrationCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/MigrationCodelab/gradlew +++ b/MigrationCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/NavigationCodelab/app/build.gradle b/NavigationCodelab/app/build.gradle index e815aa93c..dd4728fe0 100644 --- a/NavigationCodelab/app/build.gradle +++ b/NavigationCodelab/app/build.gradle @@ -76,7 +76,7 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) androidTestImplementation(composeBom) @@ -91,12 +91,12 @@ dependencies { implementation "androidx.compose.material:material" implementation "androidx.compose.material:material-icons-extended" implementation "androidx.activity:activity-compose:1.13.0" - implementation "androidx.navigation:navigation-compose:2.9.7" + implementation "androidx.navigation:navigation-compose:2.9.8" debugImplementation "androidx.compose.ui:ui-tooling" // Testing dependencies androidTestImplementation "androidx.arch.core:core-testing:2.2.0" - androidTestImplementation "androidx.navigation:navigation-testing:2.9.7" + androidTestImplementation "androidx.navigation:navigation-testing:2.9.8" androidTestImplementation "androidx.test.espresso:espresso-contrib:3.7.0" androidTestImplementation "androidx.test.espresso:espresso-core:3.7.0" diff --git a/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTabRow.kt b/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTabRow.kt index 6a50c73ca..d9342bf89 100644 --- a/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTabRow.kt +++ b/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTabRow.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.example.compose.rally.RallyDestination import java.util.Locale +import androidx.compose.ui.platform.LocalLocale @Composable fun RallyTabRow( @@ -113,7 +114,7 @@ private fun RallyTab( Icon(imageVector = icon, contentDescription = text, tint = tabTintColor) if (selected) { Spacer(Modifier.width(12.dp)) - Text(text.uppercase(Locale.getDefault()), color = tabTintColor) + Text(text.uppercase(LocalLocale.current.platformLocale), color = tabTintColor) } } } diff --git a/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewScreen.kt b/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewScreen.kt index 4c02ce01f..a2a0b7e0a 100644 --- a/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewScreen.kt +++ b/NavigationCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewScreen.kt @@ -57,6 +57,7 @@ import com.example.compose.rally.ui.components.RallyAlertDialog import com.example.compose.rally.ui.components.RallyDivider import com.example.compose.rally.ui.components.formatAmount import java.util.Locale +import androidx.compose.ui.platform.LocalLocale @Composable fun OverviewScreen( @@ -97,7 +98,7 @@ private fun AlertCard() { showDialog = false }, bodyText = alertMessage, - buttonText = "Dismiss".uppercase(Locale.getDefault()) + buttonText = "Dismiss".uppercase(LocalLocale.current.platformLocale) ) } Card { diff --git a/NavigationCodelab/build.gradle b/NavigationCodelab/build.gradle index 732caaf58..8d0f83de6 100644 --- a/NavigationCodelab/build.gradle +++ b/NavigationCodelab/build.gradle @@ -21,14 +21,14 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:9.1.0" + classpath "com.android.tools.build:gradle:9.2.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' + id 'com.diffplug.spotless' version '8.4.0' } subprojects { diff --git a/NavigationCodelab/gradle/wrapper/gradle-wrapper.properties b/NavigationCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/NavigationCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/NavigationCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/NavigationCodelab/gradlew b/NavigationCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/NavigationCodelab/gradlew +++ b/NavigationCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/PerformanceCodelab/app/build.gradle.kts b/PerformanceCodelab/app/build.gradle.kts index 59af705ee..eb4249c63 100644 --- a/PerformanceCodelab/app/build.gradle.kts +++ b/PerformanceCodelab/app/build.gradle.kts @@ -88,7 +88,7 @@ dependencies { implementation(libs.androidx.tracing.ktx) // TODO Codelab task: Add androidx.runtime-tracing dependency to enable Composition Tracing - implementation("androidx.compose.runtime:runtime-tracing:1.10.5") + implementation("androidx.compose.runtime:runtime-tracing:1.11.0") implementation(libs.coil.compose) implementation(libs.androidx.media3.exoplayer) diff --git a/PerformanceCodelab/gradle/libs.versions.toml b/PerformanceCodelab/gradle/libs.versions.toml index 6cd2ac37b..02c8171a4 100644 --- a/PerformanceCodelab/gradle/libs.versions.toml +++ b/PerformanceCodelab/gradle/libs.versions.toml @@ -1,11 +1,11 @@ [versions] coil = "2.7.0" -com-android-application = "9.1.0" +com-android-application = "9.2.0" desugar_jdk_libs = "2.1.5" kotlinx-datetime = "0.7.1-0.6.x-compat" lifecycle-viewmodel-compose = "2.10.0" material-icons-core = "1.7.8" -media3 = "1.9.2" +media3 = "1.10.0" org-jetbrains-kotlin-android = "2.3.10" core-ktx = "1.18.0" junit = "4.13.2" @@ -13,16 +13,16 @@ androidx-test-ext-junit = "1.3.0" espresso-core = "3.7.0" lifecycle-runtime-ktx = "2.10.0" activity-compose = "1.13.0" -compose-bom = "2026.03.00" -runtime-tracing = "1.10.5" +compose-bom = "2026.04.01" +runtime-tracing = "1.11.0" tracing-ktx = "1.3.0" tracing-perfetto = "1.0.1" uiautomator = "2.3.0" benchmark = "1.4.1" -androidx-baselineprofile = "1.5.0-alpha04" +androidx-baselineprofile = "1.5.0-alpha05" profileinstaller = "1.4.1" material3 = "1.4.0" -spotless = "8.3.0" +spotless = "8.4.0" ktlint = "1.2.1" [libraries] diff --git a/PerformanceCodelab/gradle/wrapper/gradle-wrapper.properties b/PerformanceCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/PerformanceCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/PerformanceCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/PerformanceCodelab/gradlew b/PerformanceCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/PerformanceCodelab/gradlew +++ b/PerformanceCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/TestingCodelab/app/build.gradle b/TestingCodelab/app/build.gradle index b095b88c3..5b156da37 100644 --- a/TestingCodelab/app/build.gradle +++ b/TestingCodelab/app/build.gradle @@ -79,7 +79,7 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) androidTestImplementation(composeBom) diff --git a/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTopAppBar.kt b/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTopAppBar.kt index 1a6078d00..69cbc6649 100644 --- a/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTopAppBar.kt +++ b/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/components/RallyTopAppBar.kt @@ -47,6 +47,7 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import com.example.compose.rally.RallyScreen import java.util.Locale +import androidx.compose.ui.platform.LocalLocale @Composable fun RallyTopAppBar( @@ -113,7 +114,7 @@ private fun RallyTab( Icon(imageVector = icon, contentDescription = null, tint = tabTintColor) if (selected) { Spacer(Modifier.width(12.dp)) - Text(text.uppercase(Locale.getDefault()), color = tabTintColor) + Text(text.uppercase(LocalLocale.current.platformLocale), color = tabTintColor) } } } diff --git a/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewBody.kt b/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewBody.kt index cd31a27dd..4cc4bb3f8 100644 --- a/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewBody.kt +++ b/TestingCodelab/app/src/main/java/com/example/compose/rally/ui/overview/OverviewBody.kt @@ -65,6 +65,7 @@ import com.example.compose.rally.ui.components.RallyDivider import com.example.compose.rally.ui.components.formatAmount import com.example.compose.rally.ui.theme.RallyTheme import java.util.Locale +import androidx.compose.ui.platform.LocalLocale @Composable fun OverviewBody(onScreenChange: (RallyScreen) -> Unit = {}) { @@ -95,7 +96,7 @@ private fun AlertCard() { showDialog = false }, bodyText = alertMessage, - buttonText = "Dismiss".uppercase(Locale.getDefault()) + buttonText = "Dismiss".uppercase(LocalLocale.current.platformLocale) ) } diff --git a/TestingCodelab/build.gradle b/TestingCodelab/build.gradle index a64202714..17537c742 100644 --- a/TestingCodelab/build.gradle +++ b/TestingCodelab/build.gradle @@ -48,14 +48,14 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:9.1.0" + classpath "com.android.tools.build:gradle:9.2.0" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:$kotlinVersion" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' + id 'com.diffplug.spotless' version '8.4.0' } subprojects { diff --git a/TestingCodelab/gradle/wrapper/gradle-wrapper.properties b/TestingCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/TestingCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/TestingCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/TestingCodelab/gradlew b/TestingCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/TestingCodelab/gradlew +++ b/TestingCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. diff --git a/ThemingCodelab/app/build.gradle b/ThemingCodelab/app/build.gradle index 11d8396b2..6e1da4a3a 100644 --- a/ThemingCodelab/app/build.gradle +++ b/ThemingCodelab/app/build.gradle @@ -86,7 +86,7 @@ android { } dependencies { - def composeBom = platform('androidx.compose:compose-bom:2026.03.00') + def composeBom = platform('androidx.compose:compose-bom:2026.04.01') implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) diff --git a/ThemingCodelab/build.gradle b/ThemingCodelab/build.gradle index 697f5f420..aa6eb42d8 100644 --- a/ThemingCodelab/build.gradle +++ b/ThemingCodelab/build.gradle @@ -21,14 +21,14 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:9.1.0' + classpath 'com.android.tools.build:gradle:9.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10" classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:2.3.10" } } plugins { - id 'com.diffplug.spotless' version '8.3.0' + id 'com.diffplug.spotless' version '8.4.0' } subprojects { diff --git a/ThemingCodelab/gradle/wrapper/gradle-wrapper.properties b/ThemingCodelab/gradle/wrapper/gradle-wrapper.properties index dbc3ce4a0..c61a118f7 100644 --- a/ThemingCodelab/gradle/wrapper/gradle-wrapper.properties +++ b/ThemingCodelab/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/ThemingCodelab/gradlew b/ThemingCodelab/gradlew index 0262dcbd5..739907dfd 100755 --- a/ThemingCodelab/gradlew +++ b/ThemingCodelab/gradlew @@ -57,7 +57,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/b631911858264c0b6e4d6603d677ff5218766cee/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/2d6327017519d23b96af35865dc997fcb544fb40/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/.