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 + +