diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/Theme.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/Theme.kt
index e1492adff6..0eb3b43d3a 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/Theme.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/Theme.kt
@@ -3,6 +3,7 @@ package com.x8bit.bitwarden.ui.platform.theme
import android.app.Activity
import android.content.Context
import android.os.Build
+import androidx.annotation.ColorRes
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.MaterialTheme
@@ -18,7 +19,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalView
import androidx.core.view.WindowCompat
import com.x8bit.bitwarden.R
-import com.x8bit.bitwarden.R.color
/**
* The overall application theme. This can be configured to support a [darkTheme] and
@@ -61,14 +61,62 @@ fun BitwardenTheme(
private fun darkColorScheme(context: Context): ColorScheme =
darkColorScheme(
- primary = Color(context.getColor(color.dark_primary)),
- secondary = Color(context.getColor(R.color.dark_primary)),
- tertiary = Color(context.getColor(R.color.dark_primary)),
+ primary = R.color.dark_primary.toColor(context),
+ onPrimary = R.color.dark_on_primary.toColor(context),
+ primaryContainer = R.color.dark_primary_container.toColor(context),
+ onPrimaryContainer = R.color.dark_on_primary_container.toColor(context),
+ secondary = R.color.dark_secondary.toColor(context),
+ onSecondary = R.color.dark_on_secondary.toColor(context),
+ secondaryContainer = R.color.dark_secondary_container.toColor(context),
+ onSecondaryContainer = R.color.dark_on_secondary_container.toColor(context),
+ tertiary = R.color.dark_tertiary.toColor(context),
+ onTertiary = R.color.dark_on_tertiary.toColor(context),
+ tertiaryContainer = R.color.dark_tertiary_container.toColor(context),
+ onTertiaryContainer = R.color.dark_on_tertiary_container.toColor(context),
+ error = R.color.dark_error.toColor(context),
+ onError = R.color.dark_on_error.toColor(context),
+ errorContainer = R.color.dark_error_container.toColor(context),
+ onErrorContainer = R.color.dark_on_error_container.toColor(context),
+ surface = R.color.dark_surface.toColor(context),
+ onSurface = R.color.dark_on_surface.toColor(context),
+ onSurfaceVariant = R.color.dark_on_surface_variant.toColor(context),
+ outline = R.color.dark_outline.toColor(context),
+ outlineVariant = R.color.dark_outline_variant.toColor(context),
+ inverseSurface = R.color.dark_inverse_surface.toColor(context),
+ inverseOnSurface = R.color.dark_inverse_on_surface.toColor(context),
+ inversePrimary = R.color.dark_inverse_primary.toColor(context),
+ scrim = R.color.dark_scrim.toColor(context),
)
private fun lightColorScheme(context: Context): ColorScheme =
lightColorScheme(
- primary = Color(context.getColor(color.primary)),
- secondary = Color(context.getColor(R.color.primary)),
- tertiary = Color(context.getColor(R.color.primary)),
+ primary = R.color.primary.toColor(context),
+ onPrimary = R.color.on_primary.toColor(context),
+ primaryContainer = R.color.primary_container.toColor(context),
+ onPrimaryContainer = R.color.on_primary_container.toColor(context),
+ secondary = R.color.secondary.toColor(context),
+ onSecondary = R.color.on_secondary.toColor(context),
+ secondaryContainer = R.color.secondary_container.toColor(context),
+ onSecondaryContainer = R.color.on_secondary_container.toColor(context),
+ tertiary = R.color.tertiary.toColor(context),
+ onTertiary = R.color.on_tertiary.toColor(context),
+ tertiaryContainer = R.color.tertiary_container.toColor(context),
+ onTertiaryContainer = R.color.on_tertiary_container.toColor(context),
+ error = R.color.error.toColor(context),
+ onError = R.color.on_error.toColor(context),
+ errorContainer = R.color.error_container.toColor(context),
+ onErrorContainer = R.color.on_error_container.toColor(context),
+ surface = R.color.surface.toColor(context),
+ onSurface = R.color.on_surface.toColor(context),
+ onSurfaceVariant = R.color.on_surface_variant.toColor(context),
+ outline = R.color.outline.toColor(context),
+ outlineVariant = R.color.outline_variant.toColor(context),
+ inverseSurface = R.color.inverse_surface.toColor(context),
+ inverseOnSurface = R.color.inverse_on_surface.toColor(context),
+ inversePrimary = R.color.inverse_primary.toColor(context),
+ scrim = R.color.scrim.toColor(context),
)
+
+@ColorRes
+private fun Int.toColor(context: Context): Color =
+ Color(context.getColor(this))
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index b8d0b3952f..1690c2e01b 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,20 +1,108 @@
- #dddddd
- #1452BC
- #175DDC
+ @color/silver_DDDDDD
+ @color/blue_1452BC
+ @color/blue_175DDC
+ @color/white_FFFFFF
+ @color/blue_DAE2FF
+ @color/blue_001848
+ @color/blue_DAE2FF
+ @color/blue_B2C5FF
+ @color/blue_001848
+ @color/blue_003FA3
+ @color/grey_585E71
+ @color/white_FFFFFF
+ @color/grey_DDE2F9
+ @color/blue_151B2C
+ @color/grey_DDE2F9
+ @color/grey_C0C6DD
+ @color/blue_151B2C
+ @color/grey_404659
+ @color/blue_3B5BA9
+ @color/white_FFFFFF
+ @color/blue_DAE2FF
+ @color/blue_001848
+ @color/blue_DAE2FF
+ @color/blue_B2C5FF
+ @color/blue_001848
+ @color/blue_1F438F
+ @color/red_BA1A1A
+ @color/white_FFFFFF
+ @color/red_FFDAD6
+ @color/red_410002
+ @color/grey_DBD9DD
+ @color/grey_FBF8FD
+ @color/grey_FBF8FD
+ @color/white_FFFFFF
+ @color/white_F5F3F7
+ @color/white_EFEDF1
+ @color/white_E9E7EC
+ @color/white_E4E2E6
+ @color/grey_1B1B1F
+ @color/grey_45464F
+ @color/grey_757780
+ @color/white_C5C6D0
+ @color/grey_303034
+ @color/grey_F2F0F4
+ @color/blue_B2C5FF
+ @color/black_000000
+ @color/black_000000
- #666666
- #191919
- #191919
- #52bdfb
+ @color/grey_666666
+ @color/grey_191919
+ @color/grey_191919
+ @color/blue_B2C5FF
+ @color/blue_002B74
+ @color/blue_003FA3
+ @color/blue_DAE2FF
+ @color/blue_DAE2FF
+ @color/blue_B2C5FF
+ @color/blue_001848
+ @color/blue_003FA3
+ @color/grey_C0C6DD
+ @color/grey_2A3042
+ @color/grey_404659
+ @color/grey_DDE2F9
+ @color/grey_DDE2F9
+ @color/grey_C0C6DD
+ @color/blue_151B2C
+ @color/grey_404659
+ @color/blue_B2C5FF
+ @color/blue_002B73
+ @color/blue_1F438F
+ @color/blue_DAE2FF
+ @color/blue_DAE2FF
+ @color/blue_B2C5FF
+ @color/blue_001848
+ @color/blue_1F438F
+ @color/red_FFB4AB
+ @color/red_690005
+ @color/red_93000A
+ @color/red_FFDAD6
+ @color/grey_131316
+ @color/grey_131316
+ @color/grey_39393C
+ @color/grey_0D0E11
+ @color/grey_1B1B1F
+ @color/grey_1F1F23
+ @color/grey_292A2D
+ @color/grey_343438
+ @color/grey_C7C6CA
+ @color/white_C5C6D0
+ @color/grey_8F909A
+ @color/grey_45464F
+ @color/white_E4E2E6
+ @color/grey_1B1B1F
+ @color/blue_0055D4
+ @color/black_000000
+ @color/black_000000
- #000000
- #333333
- #738182
- #efeff4
- #FFFFFF
+ @color/black_000000
+ @color/grey_333333
+ @color/grey_738182
+ @color/grey_EFEFF4
+ @color/white_FFFFFF
diff --git a/app/src/main/res/values/colors_palette.xml b/app/src/main/res/values/colors_palette.xml
new file mode 100644
index 0000000000..73e0133114
--- /dev/null
+++ b/app/src/main/res/values/colors_palette.xml
@@ -0,0 +1,66 @@
+
+
+
+ #DAE2FF
+ #B2C5FF
+ #175DDC
+ #0055D4
+ #3B5BA9
+ #1452BC
+ #1F438F
+ #003FA3
+ #002B74
+ #002B73
+ #001848
+ #151B2C
+
+
+ #FBF8FD
+ #DDE2F9
+ #EFEFF4
+ #F2F0F4
+ #DBD9DD
+ #E4E2E6
+ #C5C6D0
+ #C7C6CA
+ #8F909A
+ #C0C6DD
+ #757780
+ #738182
+ #585E71
+ #666666
+ #45464F
+ #404659
+ #333333
+ #303034
+ #2A3042
+ #39393C
+ #292A2D
+ #343438
+ #1F1F23
+ #1B1B1F
+ #191919
+ #131316
+ #0D0E11
+
+
+ #FFDAD6
+ #FFB4AB
+ #BA1A1A
+ #93000A
+ #690005
+ #410002
+
+
+ #FFFFFF
+ #F5F3F7
+ #EFEDF1
+ #E9E7EC
+ #C5C6D0
+ #E4E2E6
+
+
+ #dddddd
+ #000000
+
+