diff options
2 files changed, 20 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt index b6a6e98cc4c6..47a787bb2415 100644 --- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt +++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/ActionTutorialContent.kt @@ -42,7 +42,6 @@ import androidx.compose.runtime.saveable.mapSaver import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource @@ -194,7 +193,7 @@ fun TutorialDescription( Text( text = stringResource(id = bodyTextId), style = MaterialTheme.typography.bodyLarge, - color = Color.White, + color = config.colors.bodyText, ) } } diff --git a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt index 26259912741a..eda23a51a1ae 100644 --- a/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt +++ b/packages/SystemUI/src/com/android/systemui/inputdevice/tutorial/ui/composable/TutorialScreenConfig.kt @@ -16,9 +16,12 @@ package com.android.systemui.inputdevice.tutorial.ui.composable +import androidx.annotation.ColorInt import androidx.annotation.RawRes import androidx.annotation.StringRes import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.toArgb +import androidx.core.graphics.ColorUtils import com.airbnb.lottie.compose.LottieDynamicProperties data class TutorialScreenConfig( @@ -30,8 +33,23 @@ data class TutorialScreenConfig( data class Colors( val background: Color, val title: Color, + val bodyText: Color, val animationColors: LottieDynamicProperties, - ) + ) { + constructor( + background: Color, + title: Color, + animationColors: LottieDynamicProperties, + ) : this(background, title, textColorOnBackground(background.toArgb()), animationColors) + + companion object { + private fun textColorOnBackground(@ColorInt background: Int): Color { + val whiteContrast = ColorUtils.calculateContrast(Color.White.toArgb(), background) + val blackContrast = ColorUtils.calculateContrast(Color.Black.toArgb(), background) + return if (whiteContrast >= blackContrast) Color.White else Color.Black + } + } + } data class Strings( @StringRes val titleResId: Int, |