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