From 97b8c51ab39e700557d490661baf55e7a1c97f76 Mon Sep 17 00:00:00 2001 From: David Perez Date: Tue, 13 May 2025 12:01:47 -0500 Subject: [PATCH] PM-21598: Update multi-tonal illustrations and icons to support dynamic colors (#5186) --- README.md | 21 ++- .../components/util/RememberVectorPainter.kt | 92 +++++++++- .../ui/platform/theme/color/ColorScheme.kt | 27 ++- .../main/res/drawable-night/account_setup.xml | 51 ------ .../main/res/drawable-night/blocked_uri.xml | 38 ---- .../drawable-night/ic_generator_filled.xml | 32 ---- .../res/drawable-night/ic_send_filled.xml | 17 -- .../res/drawable-night/ic_settings_filled.xml | 21 --- .../res/drawable-night/ic_vault_filled.xml | 17 -- .../res/drawable-night/il_secure_devices.xml | 73 -------- app/src/main/res/drawable-night/img_2fa.xml | 73 -------- .../res/drawable-night/img_authenticator.xml | 68 ------- .../drawable-night/img_folder_question.xml | 37 ---- .../res/drawable-night/img_import_logins.xml | 73 -------- .../res/drawable-night/img_secure_devices.xml | 73 -------- app/src/main/res/drawable-night/img_send.xml | 52 ------ .../res/drawable-night/img_setup_complete.xml | 61 ------- .../res/drawable-night/img_vault_items.xml | 80 --------- app/src/main/res/drawable-night/lock.xml | 40 ----- .../main/res/drawable-night/open_email.xml | 48 ----- .../res/drawable-night/pending_requests.xml | 76 -------- app/src/main/res/drawable-night/vault.xml | 74 -------- app/src/main/res/drawable-night/welcome_2.xml | 28 --- app/src/main/res/drawable-night/welcome_3.xml | 40 ----- app/src/main/res/drawable-night/welcome_4.xml | 73 -------- app/src/main/res/drawable/account_setup.xml | 102 ++++++----- app/src/main/res/drawable/blocked_uri.xml | 73 ++++---- .../main/res/drawable/ic_generator_filled.xml | 6 + app/src/main/res/drawable/ic_send_filled.xml | 16 +- .../main/res/drawable/ic_settings_filled.xml | 32 ++-- app/src/main/res/drawable/ic_vault_filled.xml | 3 + .../main/res/drawable/il_secure_devices.xml | 19 ++ app/src/main/res/drawable/img_2fa.xml | 19 ++ .../main/res/drawable/img_authenticator.xml | 146 ++++++++------- .../main/res/drawable/img_folder_question.xml | 9 + .../main/res/drawable/img_import_logins.xml | 151 +++++++++------- .../drawable/img_new_device_verification.xml | 98 +++++----- .../main/res/drawable/img_secure_devices.xml | 160 +++++++++-------- app/src/main/res/drawable/img_send.xml | 105 ++++++----- .../main/res/drawable/img_setup_complete.xml | 125 +++++++------ app/src/main/res/drawable/img_vault_items.xml | 170 ++++++++++-------- app/src/main/res/drawable/lock.xml | 78 ++++---- app/src/main/res/drawable/open_email.xml | 96 +++++----- .../main/res/drawable/pending_requests.xml | 160 +++++++++-------- app/src/main/res/drawable/vault.xml | 155 +++++++++------- app/src/main/res/drawable/welcome_2.xml | 50 +++--- app/src/main/res/drawable/welcome_3.xml | 77 ++++---- app/src/main/res/drawable/welcome_4.xml | 153 +++++++++------- .../theme/color/BitwardenColorScheme.kt | 5 + 49 files changed, 1285 insertions(+), 2008 deletions(-) delete mode 100644 app/src/main/res/drawable-night/account_setup.xml delete mode 100644 app/src/main/res/drawable-night/blocked_uri.xml delete mode 100644 app/src/main/res/drawable-night/ic_generator_filled.xml delete mode 100644 app/src/main/res/drawable-night/ic_send_filled.xml delete mode 100644 app/src/main/res/drawable-night/ic_settings_filled.xml delete mode 100644 app/src/main/res/drawable-night/ic_vault_filled.xml delete mode 100644 app/src/main/res/drawable-night/il_secure_devices.xml delete mode 100644 app/src/main/res/drawable-night/img_2fa.xml delete mode 100644 app/src/main/res/drawable-night/img_authenticator.xml delete mode 100644 app/src/main/res/drawable-night/img_folder_question.xml delete mode 100644 app/src/main/res/drawable-night/img_import_logins.xml delete mode 100644 app/src/main/res/drawable-night/img_secure_devices.xml delete mode 100644 app/src/main/res/drawable-night/img_send.xml delete mode 100644 app/src/main/res/drawable-night/img_setup_complete.xml delete mode 100644 app/src/main/res/drawable-night/img_vault_items.xml delete mode 100644 app/src/main/res/drawable-night/lock.xml delete mode 100644 app/src/main/res/drawable-night/open_email.xml delete mode 100644 app/src/main/res/drawable-night/pending_requests.xml delete mode 100644 app/src/main/res/drawable-night/vault.xml delete mode 100644 app/src/main/res/drawable-night/welcome_2.xml delete mode 100644 app/src/main/res/drawable-night/welcome_3.xml delete mode 100644 app/src/main/res/drawable-night/welcome_4.xml diff --git a/README.md b/README.md index 6e7973d752..6c2066e59e 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ - [Compatibility](#compatibility) - [Setup](#setup) +- [Theme](#theme) - [Dependencies](#dependencies) ## Compatibility @@ -15,7 +16,6 @@ ## Setup - 1. Clone the repository: ```sh @@ -52,6 +52,25 @@ Please avoid mixing formatting and logical changes in the same commit/PR. When possible, fix any large formatting issues in a separate PR before opening one to make logical changes to the same code. This helps others focus on the meaningful code changes when reviewing the code. +## Theme + +### Icons & Illustrations + +The app supports light mode, dark mode and dynamic colors. Most icons in the app will display correctly using tinting but multi-tonal icons and illustrations require extra processing in order to be displayed properly with dynamic colors. + +All illustrations and multi-tonal icons require the svg paths to be tagged with the `name` attribute in order for each individual path to be tinted the appropriate color. Any untagged path will not be tinted and the resulting image will be incorrect. + +The supported tags are as follows: + +* outline +* primary +* secondary +* tertiary +* accent +* logo +* navigation +* navigationActiveAccent + ## Dependencies ### Application Dependencies diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/util/RememberVectorPainter.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/util/RememberVectorPainter.kt index be5a03e3d5..71262dc8f6 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/util/RememberVectorPainter.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/components/util/RememberVectorPainter.kt @@ -2,10 +2,15 @@ package com.x8bit.bitwarden.ui.platform.components.util import androidx.annotation.DrawableRes import androidx.compose.runtime.Composable +import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.VectorGroup import androidx.compose.ui.graphics.vector.VectorPainter +import androidx.compose.ui.graphics.vector.VectorPath import androidx.compose.ui.graphics.vector.rememberVectorPainter import androidx.compose.ui.res.vectorResource +import com.bitwarden.ui.platform.theme.color.BitwardenColorScheme +import com.x8bit.bitwarden.ui.platform.theme.BitwardenTheme /** * Returns a [VectorPainter] built from the given [id] to circumvent issues with painter resources @@ -15,5 +20,90 @@ import androidx.compose.ui.res.vectorResource fun rememberVectorPainter( @DrawableRes id: Int, ): VectorPainter = rememberVectorPainter( - image = ImageVector.vectorResource(id), + image = multiTonalVectorResource(id = id), ) + +/** + * Creates a [ImageVector] and updates the path colors to match the current theme. + */ +@Composable +private fun multiTonalVectorResource( + @DrawableRes id: Int, +): ImageVector { + val originalImage = ImageVector.vectorResource(id = id) + return ImageVector + .Builder( + name = originalImage.name, + defaultWidth = originalImage.defaultWidth, + defaultHeight = originalImage.defaultHeight, + viewportWidth = originalImage.viewportWidth, + viewportHeight = originalImage.viewportHeight, + tintColor = originalImage.tintColor, + tintBlendMode = originalImage.tintBlendMode, + autoMirror = originalImage.autoMirror, + ) + .cloneVectorGroupWithUpdatedColors( + vectorGroup = originalImage.root, + colors = BitwardenTheme.colorScheme, + ) + .build() +} + +/** + * Copies the given [vectorGroup] into the builder while updating the the path colors with the + * provided [colors]. + */ +private fun ImageVector.Builder.cloneVectorGroupWithUpdatedColors( + vectorGroup: VectorGroup, + colors: BitwardenColorScheme, +): ImageVector.Builder { + vectorGroup.iterator().forEach { vectorNode -> + when (vectorNode) { + is VectorGroup -> { + addGroup( + name = vectorNode.name, + rotate = vectorNode.rotation, + pivotX = vectorNode.pivotX, + pivotY = vectorNode.pivotY, + scaleX = vectorNode.scaleX, + scaleY = vectorNode.scaleY, + translationX = vectorNode.translationX, + translationY = vectorNode.translationY, + clipPathData = vectorNode.clipPathData, + ) + cloneVectorGroupWithUpdatedColors(vectorGroup = vectorNode, colors = colors) + clearGroup() + } + + is VectorPath -> { + addPath( + pathData = vectorNode.pathData, + pathFillType = vectorNode.pathFillType, + name = vectorNode.name, + fill = when (vectorNode.name) { + "outline" -> SolidColor(colors.illustration.outline) + "primary" -> SolidColor(colors.illustration.backgroundPrimary) + "secondary" -> SolidColor(colors.illustration.backgroundSecondary) + "tertiary" -> SolidColor(colors.illustration.backgroundTertiary) + "accent" -> SolidColor(colors.illustration.accent) + "logo" -> SolidColor(colors.illustration.logo) + "navigation" -> SolidColor(colors.icon.secondary) + "navigationActiveAccent" -> SolidColor(colors.icon.navActiveAccent) + else -> vectorNode.fill + }, + fillAlpha = vectorNode.fillAlpha, + stroke = vectorNode.stroke, + strokeAlpha = vectorNode.strokeAlpha, + strokeLineWidth = vectorNode.strokeLineWidth, + strokeLineCap = vectorNode.strokeLineCap, + strokeLineJoin = vectorNode.strokeLineJoin, + strokeLineMiter = vectorNode.strokeLineMiter, + trimPathStart = vectorNode.trimPathStart, + trimPathEnd = vectorNode.trimPathEnd, + trimPathOffset = vectorNode.trimPathOffset, + ) + } + } + } + return this +} diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/color/ColorScheme.kt b/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/color/ColorScheme.kt index 3075ec5413..3749edbfc8 100644 --- a/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/color/ColorScheme.kt +++ b/app/src/main/java/com/x8bit/bitwarden/ui/platform/theme/color/ColorScheme.kt @@ -35,6 +35,7 @@ val darkBitwardenColorScheme: BitwardenColorScheme = BitwardenColorScheme( reversed = PrimitiveColors.gray1100, badgeBackground = PrimitiveColors.pink200, badgeForeground = PrimitiveColors.gray1100, + navActiveAccent = PrimitiveColors.blue500, ), filledButton = BitwardenColorScheme.FilledButtonColors( background = PrimitiveColors.blue400, @@ -73,6 +74,10 @@ val darkBitwardenColorScheme: BitwardenColorScheme = BitwardenColorScheme( illustration = BitwardenColorScheme.IllustrationColors( outline = PrimitiveColors.blue500, backgroundPrimary = PrimitiveColors.blue200, + backgroundSecondary = PrimitiveColors.blue300, + backgroundTertiary = PrimitiveColors.gray200, + accent = PrimitiveColors.yellow200, + logo = PrimitiveColors.gray100, ), ) @@ -107,6 +112,7 @@ val lightBitwardenColorScheme: BitwardenColorScheme = BitwardenColorScheme( reversed = PrimitiveColors.gray100, badgeBackground = PrimitiveColors.pink100, badgeForeground = PrimitiveColors.gray100, + navActiveAccent = PrimitiveColors.blue100, ), filledButton = BitwardenColorScheme.FilledButtonColors( background = PrimitiveColors.blue500, @@ -145,6 +151,10 @@ val lightBitwardenColorScheme: BitwardenColorScheme = BitwardenColorScheme( illustration = BitwardenColorScheme.IllustrationColors( outline = PrimitiveColors.blue700, backgroundPrimary = PrimitiveColors.blue100, + backgroundSecondary = PrimitiveColors.blue200, + backgroundTertiary = PrimitiveColors.gray100, + accent = PrimitiveColors.yellow200, + logo = PrimitiveColors.blue500, ), ) @@ -185,6 +195,7 @@ fun dynamicBitwardenColorScheme( reversed = materialColorScheme.inversePrimary, badgeBackground = materialColorScheme.error, badgeForeground = materialColorScheme.onError, + navActiveAccent = materialColorScheme.onPrimary, ), filledButton = BitwardenColorScheme.FilledButtonColors( background = materialColorScheme.primary, @@ -221,8 +232,20 @@ fun dynamicBitwardenColorScheme( error = defaultTheme.status.error, ), illustration = BitwardenColorScheme.IllustrationColors( - outline = materialColorScheme.tertiaryContainer, - backgroundPrimary = materialColorScheme.onTertiaryContainer, + outline = materialColorScheme.onSurface, + backgroundPrimary = if (isDarkTheme) { + materialColorScheme.outlineVariant + } else { + materialColorScheme.surfaceContainerHighest + }, + backgroundSecondary = if (isDarkTheme) { + materialColorScheme.surfaceContainerHighest + } else { + materialColorScheme.outlineVariant + }, + backgroundTertiary = materialColorScheme.surface, + accent = materialColorScheme.tertiaryContainer, + logo = materialColorScheme.primary, ), ) } diff --git a/app/src/main/res/drawable-night/account_setup.xml b/app/src/main/res/drawable-night/account_setup.xml deleted file mode 100644 index 12c522878c..0000000000 --- a/app/src/main/res/drawable-night/account_setup.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/blocked_uri.xml b/app/src/main/res/drawable-night/blocked_uri.xml deleted file mode 100644 index 01f9998f3f..0000000000 --- a/app/src/main/res/drawable-night/blocked_uri.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/ic_generator_filled.xml b/app/src/main/res/drawable-night/ic_generator_filled.xml deleted file mode 100644 index ab741b18bf..0000000000 --- a/app/src/main/res/drawable-night/ic_generator_filled.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/ic_send_filled.xml b/app/src/main/res/drawable-night/ic_send_filled.xml deleted file mode 100644 index d4723a5d2e..0000000000 --- a/app/src/main/res/drawable-night/ic_send_filled.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable-night/ic_settings_filled.xml b/app/src/main/res/drawable-night/ic_settings_filled.xml deleted file mode 100644 index 60afa6271b..0000000000 --- a/app/src/main/res/drawable-night/ic_settings_filled.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/app/src/main/res/drawable-night/ic_vault_filled.xml b/app/src/main/res/drawable-night/ic_vault_filled.xml deleted file mode 100644 index 7b6d888f63..0000000000 --- a/app/src/main/res/drawable-night/ic_vault_filled.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable-night/il_secure_devices.xml b/app/src/main/res/drawable-night/il_secure_devices.xml deleted file mode 100644 index 1e7bf98429..0000000000 --- a/app/src/main/res/drawable-night/il_secure_devices.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_2fa.xml b/app/src/main/res/drawable-night/img_2fa.xml deleted file mode 100644 index 2f2753f584..0000000000 --- a/app/src/main/res/drawable-night/img_2fa.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_authenticator.xml b/app/src/main/res/drawable-night/img_authenticator.xml deleted file mode 100644 index 64b35b183e..0000000000 --- a/app/src/main/res/drawable-night/img_authenticator.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_folder_question.xml b/app/src/main/res/drawable-night/img_folder_question.xml deleted file mode 100644 index f6d85261e1..0000000000 --- a/app/src/main/res/drawable-night/img_folder_question.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_import_logins.xml b/app/src/main/res/drawable-night/img_import_logins.xml deleted file mode 100644 index 64443dc268..0000000000 --- a/app/src/main/res/drawable-night/img_import_logins.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_secure_devices.xml b/app/src/main/res/drawable-night/img_secure_devices.xml deleted file mode 100644 index 45b2b74a46..0000000000 --- a/app/src/main/res/drawable-night/img_secure_devices.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_send.xml b/app/src/main/res/drawable-night/img_send.xml deleted file mode 100644 index 1ccba76602..0000000000 --- a/app/src/main/res/drawable-night/img_send.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_setup_complete.xml b/app/src/main/res/drawable-night/img_setup_complete.xml deleted file mode 100644 index f2b8d9b7f2..0000000000 --- a/app/src/main/res/drawable-night/img_setup_complete.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/img_vault_items.xml b/app/src/main/res/drawable-night/img_vault_items.xml deleted file mode 100644 index 3f5e7b6cab..0000000000 --- a/app/src/main/res/drawable-night/img_vault_items.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/lock.xml b/app/src/main/res/drawable-night/lock.xml deleted file mode 100644 index 914b4cf4e6..0000000000 --- a/app/src/main/res/drawable-night/lock.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/open_email.xml b/app/src/main/res/drawable-night/open_email.xml deleted file mode 100644 index dd53e3b41b..0000000000 --- a/app/src/main/res/drawable-night/open_email.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/pending_requests.xml b/app/src/main/res/drawable-night/pending_requests.xml deleted file mode 100644 index 670c537d8c..0000000000 --- a/app/src/main/res/drawable-night/pending_requests.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/vault.xml b/app/src/main/res/drawable-night/vault.xml deleted file mode 100644 index 635dc06784..0000000000 --- a/app/src/main/res/drawable-night/vault.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/welcome_2.xml b/app/src/main/res/drawable-night/welcome_2.xml deleted file mode 100644 index 8f155e882e..0000000000 --- a/app/src/main/res/drawable-night/welcome_2.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - diff --git a/app/src/main/res/drawable-night/welcome_3.xml b/app/src/main/res/drawable-night/welcome_3.xml deleted file mode 100644 index 0238feb373..0000000000 --- a/app/src/main/res/drawable-night/welcome_3.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - diff --git a/app/src/main/res/drawable-night/welcome_4.xml b/app/src/main/res/drawable-night/welcome_4.xml deleted file mode 100644 index a2fa9ef7a0..0000000000 --- a/app/src/main/res/drawable-night/welcome_4.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/account_setup.xml b/app/src/main/res/drawable/account_setup.xml index 2f54541443..1374650edf 100644 --- a/app/src/main/res/drawable/account_setup.xml +++ b/app/src/main/res/drawable/account_setup.xml @@ -3,49 +3,61 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/blocked_uri.xml b/app/src/main/res/drawable/blocked_uri.xml index 53e78dc836..c189077a6e 100644 --- a/app/src/main/res/drawable/blocked_uri.xml +++ b/app/src/main/res/drawable/blocked_uri.xml @@ -3,36 +3,45 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_generator_filled.xml b/app/src/main/res/drawable/ic_generator_filled.xml index d1c791d6d3..963d55bdf7 100644 --- a/app/src/main/res/drawable/ic_generator_filled.xml +++ b/app/src/main/res/drawable/ic_generator_filled.xml @@ -6,25 +6,31 @@ diff --git a/app/src/main/res/drawable/ic_send_filled.xml b/app/src/main/res/drawable/ic_send_filled.xml index 0fd2e5423d..de9d3b1f3f 100644 --- a/app/src/main/res/drawable/ic_send_filled.xml +++ b/app/src/main/res/drawable/ic_send_filled.xml @@ -3,11 +3,13 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - + + diff --git a/app/src/main/res/drawable/ic_settings_filled.xml b/app/src/main/res/drawable/ic_settings_filled.xml index fa301ec82f..dfdffbcbfa 100644 --- a/app/src/main/res/drawable/ic_settings_filled.xml +++ b/app/src/main/res/drawable/ic_settings_filled.xml @@ -3,19 +3,21 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - - - - - + + + + + + diff --git a/app/src/main/res/drawable/ic_vault_filled.xml b/app/src/main/res/drawable/ic_vault_filled.xml index cf997808df..539de4bde3 100644 --- a/app/src/main/res/drawable/ic_vault_filled.xml +++ b/app/src/main/res/drawable/ic_vault_filled.xml @@ -4,13 +4,16 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/il_secure_devices.xml b/app/src/main/res/drawable/il_secure_devices.xml index b5af5b1b9d..e44ce1816d 100644 --- a/app/src/main/res/drawable/il_secure_devices.xml +++ b/app/src/main/res/drawable/il_secure_devices.xml @@ -4,70 +4,89 @@ android:viewportWidth="96" android:viewportHeight="96"> diff --git a/app/src/main/res/drawable/img_2fa.xml b/app/src/main/res/drawable/img_2fa.xml index 735a3c4a71..3a2ba899f7 100644 --- a/app/src/main/res/drawable/img_2fa.xml +++ b/app/src/main/res/drawable/img_2fa.xml @@ -4,69 +4,88 @@ android:viewportWidth="200" android:viewportHeight="201"> diff --git a/app/src/main/res/drawable/img_authenticator.xml b/app/src/main/res/drawable/img_authenticator.xml index 18174ceadf..a9dd1cf4a9 100644 --- a/app/src/main/res/drawable/img_authenticator.xml +++ b/app/src/main/res/drawable/img_authenticator.xml @@ -3,71 +3,83 @@ android:height="200dp" android:viewportWidth="200" android:viewportHeight="200"> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_folder_question.xml b/app/src/main/res/drawable/img_folder_question.xml index 3ae36085e0..6e91206520 100644 --- a/app/src/main/res/drawable/img_folder_question.xml +++ b/app/src/main/res/drawable/img_folder_question.xml @@ -4,33 +4,42 @@ android:viewportWidth="200" android:viewportHeight="201"> diff --git a/app/src/main/res/drawable/img_import_logins.xml b/app/src/main/res/drawable/img_import_logins.xml index af02d13068..4aa95b9b59 100644 --- a/app/src/main/res/drawable/img_import_logins.xml +++ b/app/src/main/res/drawable/img_import_logins.xml @@ -3,71 +3,88 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_new_device_verification.xml b/app/src/main/res/drawable/img_new_device_verification.xml index 872f7fb081..ceafa0bed7 100644 --- a/app/src/main/res/drawable/img_new_device_verification.xml +++ b/app/src/main/res/drawable/img_new_device_verification.xml @@ -3,47 +3,59 @@ android:height="97dp" android:viewportWidth="97" android:viewportHeight="97"> - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_secure_devices.xml b/app/src/main/res/drawable/img_secure_devices.xml index 5159d99bd9..c8e763f2b5 100644 --- a/app/src/main/res/drawable/img_secure_devices.xml +++ b/app/src/main/res/drawable/img_secure_devices.xml @@ -3,75 +3,93 @@ android:height="200dp" android:viewportWidth="200" android:viewportHeight="200"> - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_send.xml b/app/src/main/res/drawable/img_send.xml index 8dec7b8a51..0af9ba48b8 100644 --- a/app/src/main/res/drawable/img_send.xml +++ b/app/src/main/res/drawable/img_send.xml @@ -3,50 +3,63 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_setup_complete.xml b/app/src/main/res/drawable/img_setup_complete.xml index 659dd784e6..e489f28809 100644 --- a/app/src/main/res/drawable/img_setup_complete.xml +++ b/app/src/main/res/drawable/img_setup_complete.xml @@ -3,59 +3,74 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/img_vault_items.xml b/app/src/main/res/drawable/img_vault_items.xml index 6614e9e2fc..fea25d6155 100644 --- a/app/src/main/res/drawable/img_vault_items.xml +++ b/app/src/main/res/drawable/img_vault_items.xml @@ -3,78 +3,100 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/lock.xml b/app/src/main/res/drawable/lock.xml index 4f050beb63..276f8e2e81 100644 --- a/app/src/main/res/drawable/lock.xml +++ b/app/src/main/res/drawable/lock.xml @@ -3,38 +3,48 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - + + + + + + + + + + diff --git a/app/src/main/res/drawable/open_email.xml b/app/src/main/res/drawable/open_email.xml index 2f9cee1a4e..38d2f4c260 100644 --- a/app/src/main/res/drawable/open_email.xml +++ b/app/src/main/res/drawable/open_email.xml @@ -3,46 +3,58 @@ android:height="193dp" android:viewportWidth="192" android:viewportHeight="193"> - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/pending_requests.xml b/app/src/main/res/drawable/pending_requests.xml index cadc96df6a..550b16a7d8 100644 --- a/app/src/main/res/drawable/pending_requests.xml +++ b/app/src/main/res/drawable/pending_requests.xml @@ -3,74 +3,94 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/vault.xml b/app/src/main/res/drawable/vault.xml index 93f3584280..c697b3579f 100644 --- a/app/src/main/res/drawable/vault.xml +++ b/app/src/main/res/drawable/vault.xml @@ -3,72 +3,91 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/welcome_2.xml b/app/src/main/res/drawable/welcome_2.xml index 93aa6f022f..7237536f9d 100644 --- a/app/src/main/res/drawable/welcome_2.xml +++ b/app/src/main/res/drawable/welcome_2.xml @@ -3,26 +3,32 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - + + + + + + diff --git a/app/src/main/res/drawable/welcome_3.xml b/app/src/main/res/drawable/welcome_3.xml index 315e64a4f5..4a301e69a9 100644 --- a/app/src/main/res/drawable/welcome_3.xml +++ b/app/src/main/res/drawable/welcome_3.xml @@ -3,38 +3,47 @@ android:height="189dp" android:viewportWidth="188" android:viewportHeight="189"> - - - - - - - - - + + + + + + + + + diff --git a/app/src/main/res/drawable/welcome_4.xml b/app/src/main/res/drawable/welcome_4.xml index 4b39372877..2518a13855 100644 --- a/app/src/main/res/drawable/welcome_4.xml +++ b/app/src/main/res/drawable/welcome_4.xml @@ -3,71 +3,90 @@ android:height="201dp" android:viewportWidth="200" android:viewportHeight="201"> - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/main/java/com/bitwarden/ui/platform/theme/color/BitwardenColorScheme.kt b/ui/src/main/java/com/bitwarden/ui/platform/theme/color/BitwardenColorScheme.kt index 4509074c91..4a80535cfd 100644 --- a/ui/src/main/java/com/bitwarden/ui/platform/theme/color/BitwardenColorScheme.kt +++ b/ui/src/main/java/com/bitwarden/ui/platform/theme/color/BitwardenColorScheme.kt @@ -65,6 +65,7 @@ data class BitwardenColorScheme( val reversed: Color, val badgeBackground: Color, val badgeForeground: Color, + val navActiveAccent: Color, ) /** @@ -133,5 +134,9 @@ data class BitwardenColorScheme( data class IllustrationColors( val outline: Color, val backgroundPrimary: Color, + val backgroundSecondary: Color, + val backgroundTertiary: Color, + val accent: Color, + val logo: Color, ) }