diff --git a/app/src/main/java/org/mozilla/fenix/theme/FirefoxTheme.kt b/app/src/main/java/org/mozilla/fenix/theme/FirefoxTheme.kt index e9475726d..954af61b3 100644 --- a/app/src/main/java/org/mozilla/fenix/theme/FirefoxTheme.kt +++ b/app/src/main/java/org/mozilla/fenix/theme/FirefoxTheme.kt @@ -87,72 +87,6 @@ object FirefoxTheme { get() = defaultTypography } -private val privateColorPalette = FirefoxColors( - layer1 = PhotonColors.Ink50, - layer2 = PhotonColors.Ink50, - layer3 = PhotonColors.Ink50, - layer4Start = PhotonColors.Purple70, - layer4Center = PhotonColors.Violet80, - layer4End = PhotonColors.Ink05, - layerAccent = PhotonColors.Violet40, - layerAccentNonOpaque = PhotonColors.Violet50A32, - layerAccentOpaque = Color(0xFF423262), - scrim = PhotonColors.DarkGrey90A95, - gradientStart = PhotonColors.Violet70, - gradientEnd = PhotonColors.Violet40, - actionPrimary = PhotonColors.Violet60, - actionSecondary = PhotonColors.LightGrey30, - actionTertiary = PhotonColors.DarkGrey10, - actionQuarternary = PhotonColors.DarkGrey80, - formDefault = PhotonColors.LightGrey05, - formSelected = PhotonColors.Violet40, - formSurface = PhotonColors.DarkGrey05, - formDisabled = PhotonColors.DarkGrey05, - formOn = PhotonColors.Violet40, - formOff = PhotonColors.LightGrey05, - indicatorActive = PhotonColors.LightGrey90, - indicatorInactive = PhotonColors.DarkGrey05, - textPrimary = PhotonColors.LightGrey05, - textSecondary = PhotonColors.LightGrey40, - textDisabled = PhotonColors.LightGrey05A40, - textWarning = PhotonColors.Red20, - textWarningButton = PhotonColors.Red70, - textAccent = PhotonColors.Violet20, - textAccentDisabled = PhotonColors.Violet20A60, - textOnColorPrimary = PhotonColors.LightGrey05, - textOnColorSecondary = PhotonColors.LightGrey40, - textActionPrimary = PhotonColors.LightGrey05, - textActionSecondary = PhotonColors.DarkGrey90, - textActionTertiary = PhotonColors.LightGrey05, - textActionTertiaryActive = PhotonColors.LightGrey05, - iconPrimary = PhotonColors.LightGrey05, - iconPrimaryInactive = PhotonColors.LightGrey05A60, - iconSecondary = PhotonColors.LightGrey40, - iconActive = PhotonColors.Violet40, - iconDisabled = PhotonColors.LightGrey05A40, - iconOnColor = PhotonColors.LightGrey05, - iconNotice = PhotonColors.Blue30, - iconButton = PhotonColors.LightGrey05, - iconWarning = PhotonColors.Red20, - iconWarningButton = PhotonColors.Red70, - iconAccentViolet = PhotonColors.Violet20, - iconAccentBlue = PhotonColors.Blue20, - iconAccentPink = PhotonColors.Pink20, - iconAccentGreen = PhotonColors.Green20, - iconAccentYellow = PhotonColors.Yellow20, - iconActionPrimary = PhotonColors.LightGrey05, - iconActionSecondary = PhotonColors.DarkGrey90, - iconActionTertiary = PhotonColors.LightGrey05, - iconGradientStart = PhotonColors.Violet20, - iconGradientEnd = PhotonColors.Blue20, - borderPrimary = PhotonColors.DarkGrey05, - borderInverted = PhotonColors.LightGrey30, - borderFormDefault = PhotonColors.LightGrey05, - borderAccent = PhotonColors.Violet40, - borderDisabled = PhotonColors.LightGrey05A40, - borderWarning = PhotonColors.Red40, -) - private val darkColorPalette = FirefoxColors( layer1 = PhotonColors.DarkGrey60, layer2 = PhotonColors.DarkGrey30, @@ -285,6 +219,12 @@ private val lightColorPalette = FirefoxColors( borderWarning = PhotonColors.Red70, ) +private val privateColorPalette = darkColorPalette.copy( + layer1 = PhotonColors.Ink50, + layer2 = PhotonColors.Ink50, + layer3 = PhotonColors.Ink50, +) + /** * A custom Color Palette for Mozilla Firefox for Android (Fenix). */ @@ -669,7 +609,74 @@ class FirefoxColors( borderWarning = other.borderWarning } - fun copy(): FirefoxColors = FirefoxColors( + /** + * Return a copy of this [FirefoxColors] and optionally overriding any of the provided values. + */ + fun copy( + layer1: Color = this.layer1, + layer2: Color = this.layer2, + layer3: Color = this.layer3, + layer4Start: Color = this.layer4Start, + layer4Center: Color = this.layer4Center, + layer4End: Color = this.layer4End, + layerAccent: Color = this.layerAccent, + layerAccentNonOpaque: Color = this.layerAccentNonOpaque, + layerAccentOpaque: Color = this.layerAccentOpaque, + scrim: Color = this.scrim, + gradientStart: Color = this.gradientStart, + gradientEnd: Color = this.gradientEnd, + actionPrimary: Color = this.actionPrimary, + actionSecondary: Color = this.actionSecondary, + actionTertiary: Color = this.actionTertiary, + actionQuarternary: Color = this.actionQuarternary, + formDefault: Color = this.formDefault, + formSelected: Color = this.formSelected, + formSurface: Color = this.formSurface, + formDisabled: Color = this.formDisabled, + formOn: Color = this.formOn, + formOff: Color = this.formOff, + indicatorActive: Color = this.indicatorActive, + indicatorInactive: Color = this.indicatorInactive, + textPrimary: Color = this.textPrimary, + textSecondary: Color = this.textSecondary, + textDisabled: Color = this.textDisabled, + textWarning: Color = this.textWarning, + textWarningButton: Color = this.textWarningButton, + textAccent: Color = this.textAccent, + textAccentDisabled: Color = this.textAccentDisabled, + textOnColorPrimary: Color = this.textOnColorPrimary, + textOnColorSecondary: Color = this.textOnColorSecondary, + textActionPrimary: Color = this.textActionPrimary, + textActionSecondary: Color = this.textActionSecondary, + textActionTertiary: Color = this.textActionTertiary, + textActionTertiaryActive: Color = this.textActionTertiaryActive, + iconPrimary: Color = this.iconPrimary, + iconPrimaryInactive: Color = this.iconPrimaryInactive, + iconSecondary: Color = this.iconSecondary, + iconActive: Color = this.iconActive, + iconDisabled: Color = this.iconDisabled, + iconOnColor: Color = this.iconOnColor, + iconNotice: Color = this.iconNotice, + iconButton: Color = this.iconButton, + iconWarning: Color = this.iconWarning, + iconWarningButton: Color = this.iconWarningButton, + iconAccentViolet: Color = this.iconAccentViolet, + iconAccentBlue: Color = this.iconAccentBlue, + iconAccentPink: Color = this.iconAccentPink, + iconAccentGreen: Color = this.iconAccentGreen, + iconAccentYellow: Color = this.iconAccentYellow, + iconActionPrimary: Color = this.iconActionPrimary, + iconActionSecondary: Color = this.iconActionSecondary, + iconActionTertiary: Color = this.iconActionTertiary, + iconGradientStart: Color = this.iconGradientStart, + iconGradientEnd: Color = this.iconGradientEnd, + borderPrimary: Color = this.borderPrimary, + borderInverted: Color = this.borderInverted, + borderFormDefault: Color = this.borderFormDefault, + borderAccent: Color = this.borderAccent, + borderDisabled: Color = this.borderDisabled, + borderWarning: Color = this.borderWarning, + ): FirefoxColors = FirefoxColors( layer1 = layer1, layer2 = layer2, layer3 = layer3, diff --git a/detekt-baseline.xml b/detekt-baseline.xml index 82d166a5f..3e9af9a41 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -664,7 +664,6 @@ UndocumentedPublicFunction:FenixSnackbar.kt$FenixSnackbar$fun setLength(duration: Int) UndocumentedPublicFunction:FenixSnackbar.kt$FenixSnackbar$fun setText(text: String) UndocumentedPublicFunction:FirefoxTheme.kt$@Composable fun ProvideFirefoxColors( colors: FirefoxColors, content: @Composable () -> Unit, ) - UndocumentedPublicFunction:FirefoxTheme.kt$FirefoxColors$fun copy(): FirefoxColors UndocumentedPublicFunction:FirefoxTheme.kt$FirefoxColors$fun update(other: FirefoxColors) UndocumentedPublicFunction:Fragment.kt$fun Fragment.breadcrumb( message: String, data: Map<String, String> = emptyMap(), ) UndocumentedPublicFunction:Fragment.kt$fun Fragment.getPreferenceKey(@StringRes resourceId: Int): String