From 71409a99d065877e71eaa4252fa36368ef0ad0be Mon Sep 17 00:00:00 2001 From: Colin White Date: Mon, 14 Oct 2024 19:26:14 -0700 Subject: [PATCH 1/3] Migrate Compose sample to Material 3. --- samples/compose/build.gradle.kts | 2 +- .../src/androidMain/res/values/styles.xml | 12 ----- .../commonMain/kotlin/sample/compose/App.kt | 44 ++++++++++++------- samples/shared/build.gradle.kts | 1 + .../androidMain}/res/values-night/styles.xml | 2 +- .../androidMain}/res/values-v23/styles.xml | 5 --- .../androidMain}/res/values-v27/styles.xml | 0 .../src/androidMain}/res/values/styles.xml | 6 ++- samples/view/build.gradle.kts | 1 - .../src/main/res/values-night-v29/styles.xml | 9 ---- .../view/src/main/res/values-v29/styles.xml | 9 ---- 11 files changed, 35 insertions(+), 56 deletions(-) delete mode 100644 samples/compose/src/androidMain/res/values/styles.xml rename samples/{view/src/main => shared/src/androidMain}/res/values-night/styles.xml (84%) rename samples/{view/src/main => shared/src/androidMain}/res/values-v23/styles.xml (50%) rename samples/{view/src/main => shared/src/androidMain}/res/values-v27/styles.xml (100%) rename samples/{view/src/main => shared/src/androidMain}/res/values/styles.xml (58%) delete mode 100644 samples/view/src/main/res/values-night-v29/styles.xml delete mode 100644 samples/view/src/main/res/values-v29/styles.xml diff --git a/samples/compose/build.gradle.kts b/samples/compose/build.gradle.kts index 6e18d4b05b..ab2562ef46 100644 --- a/samples/compose/build.gradle.kts +++ b/samples/compose/build.gradle.kts @@ -94,7 +94,7 @@ kotlin { implementation(projects.samples.shared) implementation(projects.coilCompose) implementation(compose.components.resources) - implementation(compose.material) + implementation(compose.material3) } resources.srcDir("../shared/src/commonMain/resources") } diff --git a/samples/compose/src/androidMain/res/values/styles.xml b/samples/compose/src/androidMain/res/values/styles.xml deleted file mode 100644 index a7d3e82625..0000000000 --- a/samples/compose/src/androidMain/res/values/styles.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/samples/compose/src/commonMain/kotlin/sample/compose/App.kt b/samples/compose/src/commonMain/kotlin/sample/compose/App.kt index 9bcd4da5eb..ad8e332d62 100644 --- a/samples/compose/src/commonMain/kotlin/sample/compose/App.kt +++ b/samples/compose/src/commonMain/kotlin/sample/compose/App.kt @@ -1,6 +1,7 @@ package sample.compose import androidx.compose.foundation.clickable +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding @@ -10,15 +11,17 @@ import androidx.compose.foundation.lazy.staggeredgrid.LazyStaggeredGridState import androidx.compose.foundation.lazy.staggeredgrid.LazyVerticalStaggeredGrid import androidx.compose.foundation.lazy.staggeredgrid.StaggeredGridCells import androidx.compose.foundation.lazy.staggeredgrid.items -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Scaffold -import androidx.compose.material.Text -import androidx.compose.material.TopAppBar +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material.lightColors +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.Stable @@ -74,10 +77,16 @@ fun App( } MaterialTheme( - colors = lightColors( - primary = Color.White, - onPrimary = Color.Black, - ), + colorScheme = if (isSystemInDarkTheme()) { + remember { + darkColorScheme( + background = Color(0xFF141218), + surface = Color(0xFF121212), + ) + } + } else { + remember { lightColorScheme() } + }, ) { val screen by viewModel.screen.collectAsState() val isDetail = screen is Screen.Detail @@ -110,6 +119,7 @@ fun App( } } +@OptIn(ExperimentalMaterial3Api::class) @Composable private fun Toolbar( assetType: AssetType, @@ -119,11 +129,13 @@ private fun Toolbar( onBackPressed: () -> Unit, ) { TopAppBar( - title = { Text(Title) }, - navigationIcon = if (backEnabled) { - { BackIconButton(onBackPressed) } - } else { - null + title = { + Text(Title) + }, + navigationIcon = { + if (backEnabled) { + BackIconButton(onBackPressed) + } }, actions = { IconButton( diff --git a/samples/shared/build.gradle.kts b/samples/shared/build.gradle.kts index 1bd5819dc1..998f856fd1 100644 --- a/samples/shared/build.gradle.kts +++ b/samples/shared/build.gradle.kts @@ -25,6 +25,7 @@ kotlin { api(projects.coilVideo) api(libs.androidx.core) api(libs.androidx.lifecycle.viewmodel) + api(libs.google.material) } } appleMain { diff --git a/samples/view/src/main/res/values-night/styles.xml b/samples/shared/src/androidMain/res/values-night/styles.xml similarity index 84% rename from samples/view/src/main/res/values-night/styles.xml rename to samples/shared/src/androidMain/res/values-night/styles.xml index f63f4e35de..f37f89f630 100644 --- a/samples/view/src/main/res/values-night/styles.xml +++ b/samples/shared/src/androidMain/res/values-night/styles.xml @@ -5,7 +5,7 @@ #121212 #121212 - #00000000 + #121212 diff --git a/samples/view/src/main/res/values-v27/styles.xml b/samples/shared/src/androidMain/res/values-v27/styles.xml similarity index 100% rename from samples/view/src/main/res/values-v27/styles.xml rename to samples/shared/src/androidMain/res/values-v27/styles.xml diff --git a/samples/view/src/main/res/values/styles.xml b/samples/shared/src/androidMain/res/values/styles.xml similarity index 58% rename from samples/view/src/main/res/values/styles.xml rename to samples/shared/src/androidMain/res/values/styles.xml index 140d77c269..d76f061770 100644 --- a/samples/view/src/main/res/values/styles.xml +++ b/samples/shared/src/androidMain/res/values/styles.xml @@ -2,8 +2,10 @@ - - - -