Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8e59a5c authored by Lucas Dupin's avatar Lucas Dupin Committed by Automerger Merge Worker
Browse files

Merge "Define the Compose MaterialTheme for SystemUI" into udc-dev am: 137c193d

parents a5ff264c 137c193d
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -85,7 +85,7 @@ private val ButtonPaddings = PaddingValues(horizontal = 16.dp, vertical = 8.dp)


@Composable
@Composable
private fun filledButtonColors(): ButtonColors {
private fun filledButtonColors(): ButtonColors {
    val colors = LocalAndroidColorScheme.current
    val colors = LocalAndroidColorScheme.current.deprecated
    return ButtonDefaults.buttonColors(
    return ButtonDefaults.buttonColors(
        containerColor = colors.colorAccentPrimary,
        containerColor = colors.colorAccentPrimary,
        contentColor = colors.textColorOnAccent,
        contentColor = colors.textColorOnAccent,
@@ -94,7 +94,7 @@ private fun filledButtonColors(): ButtonColors {


@Composable
@Composable
private fun outlineButtonColors(): ButtonColors {
private fun outlineButtonColors(): ButtonColors {
    val colors = LocalAndroidColorScheme.current
    val colors = LocalAndroidColorScheme.current.deprecated
    return ButtonDefaults.outlinedButtonColors(
    return ButtonDefaults.outlinedButtonColors(
        contentColor = colors.textColorPrimary,
        contentColor = colors.textColorPrimary,
    )
    )
@@ -102,7 +102,7 @@ private fun outlineButtonColors(): ButtonColors {


@Composable
@Composable
private fun outlineButtonBorder(): BorderStroke {
private fun outlineButtonBorder(): BorderStroke {
    val colors = LocalAndroidColorScheme.current
    val colors = LocalAndroidColorScheme.current.deprecated
    return BorderStroke(
    return BorderStroke(
        width = 1.dp,
        width = 1.dp,
        color = colors.colorAccentPrimaryVariant,
        color = colors.colorAccentPrimaryVariant,
+77 −27
Original line number Original line Diff line number Diff line
@@ -37,7 +37,56 @@ val LocalAndroidColorScheme =
 * Important: Use M3 colors from MaterialTheme.colorScheme whenever possible instead. In the future,
 * Important: Use M3 colors from MaterialTheme.colorScheme whenever possible instead. In the future,
 * most of the colors in this class will be removed in favor of their M3 counterpart.
 * most of the colors in this class will be removed in favor of their M3 counterpart.
 */
 */
class AndroidColorScheme internal constructor(context: Context) {
class AndroidColorScheme(context: Context) {
    val onSecondaryFixedVariant = getColor(context, R.attr.materialColorOnSecondaryFixedVariant)
    val onTertiaryFixedVariant = getColor(context, R.attr.materialColorOnTertiaryFixedVariant)
    val surfaceContainerLowest = getColor(context, R.attr.materialColorSurfaceContainerLowest)
    val onPrimaryFixedVariant = getColor(context, R.attr.materialColorOnPrimaryFixedVariant)
    val onSecondaryContainer = getColor(context, R.attr.materialColorOnSecondaryContainer)
    val onTertiaryContainer = getColor(context, R.attr.materialColorOnTertiaryContainer)
    val surfaceContainerLow = getColor(context, R.attr.materialColorSurfaceContainerLow)
    val onPrimaryContainer = getColor(context, R.attr.materialColorOnPrimaryContainer)
    val secondaryFixedDim = getColor(context, R.attr.materialColorSecondaryFixedDim)
    val onErrorContainer = getColor(context, R.attr.materialColorOnErrorContainer)
    val onSecondaryFixed = getColor(context, R.attr.materialColorOnSecondaryFixed)
    val onSurfaceInverse = getColor(context, R.attr.materialColorOnSurfaceInverse)
    val tertiaryFixedDim = getColor(context, R.attr.materialColorTertiaryFixedDim)
    val onTertiaryFixed = getColor(context, R.attr.materialColorOnTertiaryFixed)
    val primaryFixedDim = getColor(context, R.attr.materialColorPrimaryFixedDim)
    val secondaryContainer = getColor(context, R.attr.materialColorSecondaryContainer)
    val errorContainer = getColor(context, R.attr.materialColorErrorContainer)
    val onPrimaryFixed = getColor(context, R.attr.materialColorOnPrimaryFixed)
    val primaryInverse = getColor(context, R.attr.materialColorPrimaryInverse)
    val secondaryFixed = getColor(context, R.attr.materialColorSecondaryFixed)
    val surfaceInverse = getColor(context, R.attr.materialColorSurfaceInverse)
    val surfaceVariant = getColor(context, R.attr.materialColorSurfaceVariant)
    val tertiaryContainer = getColor(context, R.attr.materialColorTertiaryContainer)
    val tertiaryFixed = getColor(context, R.attr.materialColorTertiaryFixed)
    val primaryContainer = getColor(context, R.attr.materialColorPrimaryContainer)
    val onBackground = getColor(context, R.attr.materialColorOnBackground)
    val primaryFixed = getColor(context, R.attr.materialColorPrimaryFixed)
    val onSecondary = getColor(context, R.attr.materialColorOnSecondary)
    val onTertiary = getColor(context, R.attr.materialColorOnTertiary)
    val surfaceDim = getColor(context, R.attr.materialColorSurfaceDim)
    val surfaceBright = getColor(context, R.attr.materialColorSurfaceBright)
    val onError = getColor(context, R.attr.materialColorOnError)
    val surface = getColor(context, R.attr.materialColorSurface)
    val surfaceContainerHigh = getColor(context, R.attr.materialColorSurfaceContainerHigh)
    val surfaceContainerHighest = getColor(context, R.attr.materialColorSurfaceContainerHighest)
    val onSurfaceVariant = getColor(context, R.attr.materialColorOnSurfaceVariant)
    val outline = getColor(context, R.attr.materialColorOutline)
    val outlineVariant = getColor(context, R.attr.materialColorOutlineVariant)
    val onPrimary = getColor(context, R.attr.materialColorOnPrimary)
    val onSurface = getColor(context, R.attr.materialColorOnSurface)
    val surfaceContainer = getColor(context, R.attr.materialColorSurfaceContainer)
    val primary = getColor(context, R.attr.materialColorPrimary)
    val secondary = getColor(context, R.attr.materialColorSecondary)
    val tertiary = getColor(context, R.attr.materialColorTertiary)

    @Deprecated("Use the new android tokens: go/sysui-colors")
    val deprecated = DeprecatedValues(context)

    class DeprecatedValues(context: Context) {
        val colorPrimary = getColor(context, R.attr.colorPrimary)
        val colorPrimary = getColor(context, R.attr.colorPrimary)
        val colorPrimaryDark = getColor(context, R.attr.colorPrimaryDark)
        val colorPrimaryDark = getColor(context, R.attr.colorPrimaryDark)
        val colorAccent = getColor(context, R.attr.colorAccent)
        val colorAccent = getColor(context, R.attr.colorAccent)
@@ -64,6 +113,7 @@ class AndroidColorScheme internal constructor(context: Context) {
        val textColorOnAccent = getColor(context, R.attr.textColorOnAccent)
        val textColorOnAccent = getColor(context, R.attr.textColorOnAccent)
        val colorForeground = getColor(context, R.attr.colorForeground)
        val colorForeground = getColor(context, R.attr.colorForeground)
        val colorForegroundInverse = getColor(context, R.attr.colorForegroundInverse)
        val colorForegroundInverse = getColor(context, R.attr.colorForegroundInverse)
    }


    companion object {
    companion object {
        fun getColor(context: Context, attr: Int): Color {
        fun getColor(context: Context, attr: Int): Color {
+4 −2
Original line number Original line Diff line number Diff line
@@ -40,7 +40,9 @@ class SystemUIThemeTest {
    @Test
    @Test
    fun testAndroidColorsAreAvailableInsideTheme() {
    fun testAndroidColorsAreAvailableInsideTheme() {
        composeRule.setContent {
        composeRule.setContent {
            PlatformTheme { Text("foo", color = LocalAndroidColorScheme.current.colorAccent) }
            PlatformTheme {
                Text("foo", color = LocalAndroidColorScheme.current.deprecated.colorAccent)
            }
        }
        }


        composeRule.onNodeWithText("foo").assertIsDisplayed()
        composeRule.onNodeWithText("foo").assertIsDisplayed()
@@ -50,7 +52,7 @@ class SystemUIThemeTest {
    fun testAccessingAndroidColorsWithoutThemeThrows() {
    fun testAccessingAndroidColorsWithoutThemeThrows() {
        assertThrows(IllegalStateException::class.java) {
        assertThrows(IllegalStateException::class.java) {
            composeRule.setContent {
            composeRule.setContent {
                Text("foo", color = LocalAndroidColorScheme.current.colorAccent)
                Text("foo", color = LocalAndroidColorScheme.current.deprecated.colorAccent)
            }
            }
        }
        }
    }
    }
+4 −4
Original line number Original line Diff line number Diff line
@@ -91,7 +91,7 @@ fun PeopleScreen(


    // Make sure to use the Android colors and not the default Material3 colors to have the exact
    // Make sure to use the Android colors and not the default Material3 colors to have the exact
    // same colors as the View implementation.
    // same colors as the View implementation.
    val androidColors = LocalAndroidColorScheme.current
    val androidColors = LocalAndroidColorScheme.current.deprecated
    Surface(
    Surface(
        color = androidColors.colorBackground,
        color = androidColors.colorBackground,
        contentColor = androidColors.textColorPrimary,
        contentColor = androidColors.textColorPrimary,
@@ -170,7 +170,7 @@ private fun LazyListScope.ConversationList(
            stringResource(headerTextResource),
            stringResource(headerTextResource),
            Modifier.padding(start = 16.dp),
            Modifier.padding(start = 16.dp),
            style = MaterialTheme.typography.labelLarge,
            style = MaterialTheme.typography.labelLarge,
            color = LocalAndroidColorScheme.current.colorAccentPrimaryVariant,
            color = LocalAndroidColorScheme.current.deprecated.colorAccentPrimaryVariant,
        )
        )


        Spacer(Modifier.height(10.dp))
        Spacer(Modifier.height(10.dp))
@@ -180,7 +180,7 @@ private fun LazyListScope.ConversationList(
        if (index > 0) {
        if (index > 0) {
            item {
            item {
                Divider(
                Divider(
                    color = LocalAndroidColorScheme.current.colorBackground,
                    color = LocalAndroidColorScheme.current.deprecated.colorBackground,
                    thickness = 2.dp,
                    thickness = 2.dp,
                )
                )
            }
            }
@@ -204,7 +204,7 @@ private fun Tile(
    withTopCornerRadius: Boolean,
    withTopCornerRadius: Boolean,
    withBottomCornerRadius: Boolean,
    withBottomCornerRadius: Boolean,
) {
) {
    val androidColors = LocalAndroidColorScheme.current
    val androidColors = LocalAndroidColorScheme.current.deprecated
    val cornerRadius = dimensionResource(R.dimen.people_space_widget_radius)
    val cornerRadius = dimensionResource(R.dimen.people_space_widget_radius)
    val topCornerRadius = if (withTopCornerRadius) cornerRadius else 0.dp
    val topCornerRadius = if (withTopCornerRadius) cornerRadius else 0.dp
    val bottomCornerRadius = if (withBottomCornerRadius) cornerRadius else 0.dp
    val bottomCornerRadius = if (withBottomCornerRadius) cornerRadius else 0.dp
+4 −4
Original line number Original line Diff line number Diff line
@@ -76,8 +76,8 @@ internal fun PeopleScreenEmpty(
            Modifier.fillMaxWidth().defaultMinSize(minHeight = 56.dp),
            Modifier.fillMaxWidth().defaultMinSize(minHeight = 56.dp),
            colors =
            colors =
                ButtonDefaults.buttonColors(
                ButtonDefaults.buttonColors(
                    containerColor = androidColors.colorAccentPrimary,
                    containerColor = androidColors.deprecated.colorAccentPrimary,
                    contentColor = androidColors.textColorOnAccent,
                    contentColor = androidColors.deprecated.textColorOnAccent,
                )
                )
        ) {
        ) {
            Text(stringResource(R.string.got_it))
            Text(stringResource(R.string.got_it))
@@ -90,8 +90,8 @@ private fun ExampleTile() {
    val androidColors = LocalAndroidColorScheme.current
    val androidColors = LocalAndroidColorScheme.current
    Surface(
    Surface(
        shape = RoundedCornerShape(28.dp),
        shape = RoundedCornerShape(28.dp),
        color = androidColors.colorSurface,
        color = androidColors.deprecated.colorSurface,
        contentColor = androidColors.textColorPrimary,
        contentColor = androidColors.deprecated.textColorPrimary,
    ) {
    ) {
        Row(
        Row(
            Modifier.padding(vertical = 20.dp, horizontal = 16.dp),
            Modifier.padding(vertical = 20.dp, horizontal = 16.dp),
Loading