Merge "[Spa] Update color of Spinners based on new UX" into main
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsColors.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsColors.kt
index d72ec26..69aba71 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsColors.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/theme/SettingsColors.kt
@@ -33,10 +33,6 @@
val secondaryText: Color = Color.Unspecified,
val primaryContainer: Color = Color.Unspecified,
val onPrimaryContainer: Color = Color.Unspecified,
- val spinnerHeaderContainer: Color = Color.Unspecified,
- val onSpinnerHeaderContainer: Color = Color.Unspecified,
- val spinnerItemContainer: Color = Color.Unspecified,
- val onSpinnerItemContainer: Color = Color.Unspecified,
)
internal val LocalColorScheme = staticCompositionLocalOf { SettingsColorScheme() }
@@ -76,10 +72,6 @@
secondaryText = tonalPalette.neutralVariant30,
primaryContainer = tonalPalette.primary90,
onPrimaryContainer = tonalPalette.neutral10,
- spinnerHeaderContainer = tonalPalette.primary90,
- onSpinnerHeaderContainer = tonalPalette.neutral10,
- spinnerItemContainer = tonalPalette.secondary90,
- onSpinnerItemContainer = tonalPalette.neutralVariant30,
)
}
@@ -103,10 +95,6 @@
secondaryText = tonalPalette.neutralVariant80,
primaryContainer = tonalPalette.secondary90,
onPrimaryContainer = tonalPalette.neutral10,
- spinnerHeaderContainer = tonalPalette.primary90,
- onSpinnerHeaderContainer = tonalPalette.neutral10,
- spinnerItemContainer = tonalPalette.secondary90,
- onSpinnerItemContainer = tonalPalette.neutralVariant30,
)
}
@@ -121,10 +109,6 @@
secondaryText = tonalPalette.neutralVariant80,
primaryContainer = tonalPalette.secondary90,
onPrimaryContainer = tonalPalette.neutral10,
- spinnerHeaderContainer = tonalPalette.primary90,
- onSpinnerHeaderContainer = tonalPalette.neutral10,
- spinnerItemContainer = tonalPalette.secondary90,
- onSpinnerItemContainer = tonalPalette.neutralVariant30,
)
}
@@ -139,9 +123,5 @@
secondaryText = tonalPalette.neutralVariant30,
primaryContainer = tonalPalette.primary90,
onPrimaryContainer = tonalPalette.neutral10,
- spinnerHeaderContainer = tonalPalette.primary90,
- onSpinnerHeaderContainer = tonalPalette.neutral10,
- spinnerItemContainer = tonalPalette.secondary90,
- onSpinnerItemContainer = tonalPalette.neutralVariant30,
)
}
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Spinner.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Spinner.kt
index 514ad669..c48a147 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Spinner.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/ui/Spinner.kt
@@ -33,6 +33,7 @@
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
@@ -74,8 +75,8 @@
modifier = Modifier.semantics { role = Role.DropdownList },
onClick = { expanded = true },
colors = ButtonDefaults.buttonColors(
- containerColor = SettingsTheme.colorScheme.spinnerHeaderContainer,
- contentColor = SettingsTheme.colorScheme.onSpinnerHeaderContainer,
+ containerColor = MaterialTheme.colorScheme.primaryContainer,
+ contentColor = MaterialTheme.colorScheme.onPrimaryContainer,
),
contentPadding = contentPadding,
) {
@@ -85,7 +86,7 @@
DropdownMenu(
expanded = expanded,
onDismissRequest = { expanded = false },
- modifier = Modifier.background(SettingsTheme.colorScheme.spinnerItemContainer),
+ modifier = Modifier.background(MaterialTheme.colorScheme.secondaryContainer),
) {
for (option in options) {
DropdownMenuItem(
@@ -93,7 +94,7 @@
SpinnerText(
option = option,
modifier = Modifier.padding(end = 24.dp),
- color = SettingsTheme.colorScheme.onSpinnerItemContainer,
+ color = MaterialTheme.colorScheme.onSecondaryContainer,
)
},
onClick = {
@@ -138,7 +139,7 @@
@Composable
private fun SpinnerPreview() {
SettingsTheme {
- var selectedId by rememberSaveable { mutableStateOf(1) }
+ var selectedId by rememberSaveable { mutableIntStateOf(1) }
Spinner(
options = (1..3).map { SpinnerOption(id = it, text = "Option $it") },
selectedId = selectedId,
diff --git a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/theme/SettingsColorsTest.kt b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/theme/SettingsColorsTest.kt
index 5ea92ab..625663d 100644
--- a/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/theme/SettingsColorsTest.kt
+++ b/packages/SettingsLib/Spa/tests/src/com/android/settingslib/spa/framework/theme/SettingsColorsTest.kt
@@ -37,15 +37,11 @@
assertThat(ls.categoryTitle).isNotEqualTo(ls.background)
assertThat(ls.secondaryText).isNotEqualTo(ls.background)
assertThat(ls.primaryContainer).isNotEqualTo(ls.onPrimaryContainer)
- assertThat(ls.spinnerHeaderContainer).isNotEqualTo(ls.onSpinnerHeaderContainer)
- assertThat(ls.spinnerItemContainer).isNotEqualTo(ls.onSpinnerItemContainer)
val ds = dynamicDarkColorScheme(context)
assertThat(ds.categoryTitle).isNotEqualTo(ds.background)
assertThat(ds.secondaryText).isNotEqualTo(ds.background)
assertThat(ds.primaryContainer).isNotEqualTo(ds.onPrimaryContainer)
- assertThat(ds.spinnerHeaderContainer).isNotEqualTo(ds.onSpinnerHeaderContainer)
- assertThat(ds.spinnerItemContainer).isNotEqualTo(ds.onSpinnerItemContainer)
}
@Test
@@ -58,10 +54,6 @@
assertThat(ls.secondaryText).isEqualTo(Color(red = 73, green = 69, blue = 79))
assertThat(ls.primaryContainer).isEqualTo(Color(red = 234, green = 221, blue = 255))
assertThat(ls.onPrimaryContainer).isEqualTo(Color(red = 28, green = 27, blue = 31))
- assertThat(ls.spinnerHeaderContainer).isEqualTo(Color(red = 234, green = 221, blue = 255))
- assertThat(ls.onSpinnerHeaderContainer).isEqualTo(Color(red = 28, green = 27, blue = 31))
- assertThat(ls.spinnerItemContainer).isEqualTo(Color(red = 232, green = 222, blue = 248))
- assertThat(ls.onSpinnerItemContainer).isEqualTo(Color(red = 73, green = 69, blue = 79))
val ds = darkColorScheme()
assertThat(ds.background).isEqualTo(Color(red = 28, green = 27, blue = 31))
@@ -71,9 +63,5 @@
assertThat(ds.secondaryText).isEqualTo(Color(red = 202, green = 196, blue = 208))
assertThat(ds.primaryContainer).isEqualTo(Color(red = 232, green = 222, blue = 248))
assertThat(ds.onPrimaryContainer).isEqualTo(Color(red = 28, green = 27, blue = 31))
- assertThat(ds.spinnerHeaderContainer).isEqualTo(Color(red = 234, green = 221, blue = 255))
- assertThat(ds.onSpinnerHeaderContainer).isEqualTo(Color(red = 28, green = 27, blue = 31))
- assertThat(ds.spinnerItemContainer).isEqualTo(Color(red = 232, green = 222, blue = 248))
- assertThat(ds.onSpinnerItemContainer).isEqualTo(Color(red = 73, green = 69, blue = 79))
}
}