diff --git a/README.md b/README.md
index 1014da08a8..420ea916e7 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,6 @@
- [Compatibility](#compatibility)
- [Setup](#setup)
-- [Theme](#theme)
- [Dependencies](#dependencies)
## Compatibility
@@ -93,25 +92,6 @@ chmod +x .git/hooks/pre-commit
echo "detekt pre-commit hook installed successfully to .git/hooks/pre-commit"
```
-## 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/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImpl.kt b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImpl.kt
index de2868e99e..a6408ad8b0 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImpl.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImpl.kt
@@ -37,7 +37,7 @@ class CredentialExchangeRegistryManagerImpl(
CredentialTypes.CREDENTIAL_TYPE_TOTP,
CredentialTypes.CREDENTIAL_TYPE_WIFI,
),
- iconResId = BitwardenDrawable.icon,
+ iconResId = BitwardenDrawable.logo_bitwarden_icon,
),
)
.fold(
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt
index 6f740046f2..af8b688fc4 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt
@@ -231,7 +231,7 @@ private fun SetupAutoFillContentHeader(
@Composable
private fun OrderedHeaderContent() {
BitwardenGifImage(
- resId = BitwardenDrawable.img_setup_autofill,
+ resId = BitwardenDrawable.gif_setup_autofill,
modifier = Modifier
.clip(
RoundedCornerShape(
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupCompleteScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupCompleteScreen.kt
index b165b4714f..bc6aad773c 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupCompleteScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupCompleteScreen.kt
@@ -80,7 +80,7 @@ private fun SetupCompleteContent(
) {
Spacer(Modifier.height(32.dp))
Image(
- painter = rememberVectorPainter(BitwardenDrawable.img_setup_complete),
+ painter = rememberVectorPainter(BitwardenDrawable.ill_setup_complete),
contentDescription = null,
modifier = Modifier
.align(CenterHorizontally)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt
index 61c6b51f20..3158ac6849 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt
@@ -246,7 +246,7 @@ private fun SetUpLaterButton(
private fun ColumnScope.SetupUnlockHeaderCompact() {
Spacer(modifier = Modifier.height(height = 32.dp))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.account_setup),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_account_setup),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
@@ -290,7 +290,7 @@ private fun SetupUnlockHeaderMedium(
.standardHorizontalMargin(),
) {
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.account_setup),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_account_setup),
contentDescription = null,
modifier = Modifier
.size(size = 100.dp)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/checkemail/CheckEmailScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/checkemail/CheckEmailScreen.kt
index a4039ad213..444cf7e7e7 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/checkemail/CheckEmailScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/checkemail/CheckEmailScreen.kt
@@ -117,7 +117,7 @@ private fun CheckEmailContent(
) {
Spacer(modifier = Modifier.height(32.dp))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.open_email),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_open_email),
contentDescription = null,
contentScale = ContentScale.FillHeight,
modifier = Modifier
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/completeregistration/CompleteRegistrationScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/completeregistration/CompleteRegistrationScreen.kt
index 3242f73834..7905285cf8 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/completeregistration/CompleteRegistrationScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/completeregistration/CompleteRegistrationScreen.kt
@@ -330,7 +330,7 @@ private fun CompleteRegistrationContentHeader(
@Composable
private fun OrderedHeaderContent() {
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.lock),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_lock),
contentDescription = null,
modifier = Modifier.size(100.dp),
)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
index 21346febf2..4fca79b68f 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/landing/LandingScreen.kt
@@ -219,7 +219,7 @@ private fun LandingScreenContent(
Spacer(modifier = Modifier.weight(1f))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.bitwarden_logo),
+ painter = rememberVectorPainter(id = BitwardenDrawable.logo_bitwarden),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
index 296a1c04c3..43261eb228 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/startregistration/StartRegistrationScreen.kt
@@ -186,7 +186,7 @@ private fun StartRegistrationContent(
Spacer(modifier = Modifier.weight(1f))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.bitwarden_logo),
+ painter = rememberVectorPainter(id = BitwardenDrawable.logo_bitwarden),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
index 1aea24a0bc..b4ebf42216 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
@@ -122,8 +122,8 @@ val TwoFactorAuthMethod.shouldUseNfc: Boolean
@get:DrawableRes
val TwoFactorAuthMethod.imageRes: Int?
get() = when (this) {
- TwoFactorAuthMethod.YUBI_KEY -> BitwardenDrawable.yubi_key
- TwoFactorAuthMethod.EMAIL -> BitwardenDrawable.img_new_device_verification
- TwoFactorAuthMethod.AUTHENTICATOR_APP -> BitwardenDrawable.img_authenticator
+ TwoFactorAuthMethod.YUBI_KEY -> BitwardenDrawable.img_yubi_key
+ TwoFactorAuthMethod.EMAIL -> BitwardenDrawable.ill_new_device_verification
+ TwoFactorAuthMethod.AUTHENTICATOR_APP -> BitwardenDrawable.ill_authenticator
else -> null
}
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt
index 8e0d3e4017..6f2da7b6a9 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/welcome/WelcomeViewModel.kt
@@ -73,7 +73,7 @@ data class WelcomeState(
*/
@Parcelize
data object CardOne : WelcomeCard() {
- override val imageRes: Int get() = BitwardenDrawable.img_vault_items
+ override val imageRes: Int get() = BitwardenDrawable.ill_vault_items
override val titleRes: Int get() = BitwardenString.security_prioritized
override val messageRes: Int get() = BitwardenString.welcome_message_1
}
@@ -83,7 +83,7 @@ data class WelcomeState(
*/
@Parcelize
data object CardTwo : WelcomeCard() {
- override val imageRes: Int get() = BitwardenDrawable.welcome_2
+ override val imageRes: Int get() = BitwardenDrawable.ill_welcome_2
override val titleRes: Int get() = BitwardenString.quick_and_easy_login
override val messageRes: Int get() = BitwardenString.welcome_message_2
}
@@ -93,7 +93,7 @@ data class WelcomeState(
*/
@Parcelize
data object CardThree : WelcomeCard() {
- override val imageRes: Int get() = BitwardenDrawable.welcome_3
+ override val imageRes: Int get() = BitwardenDrawable.ill_welcome_3
override val titleRes: Int get() = BitwardenString.level_up_your_logins
override val messageRes: Int get() = BitwardenString.welcome_message_3
}
@@ -103,7 +103,7 @@ data class WelcomeState(
*/
@Parcelize
data object CardFour : WelcomeCard() {
- override val imageRes: Int get() = BitwardenDrawable.welcome_4
+ override val imageRes: Int get() = BitwardenDrawable.ill_welcome_4
override val titleRes: Int get() = BitwardenString.your_data_when_and_where_you_need_it
override val messageRes: Int get() = BitwardenString.welcome_message_4
}
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViews.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViews.kt
index 81cdbd697f..958771c726 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViews.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViews.kt
@@ -52,7 +52,7 @@ fun buildVaultItemAutofillRemoteViews(
getString(BitwardenString.go_to_my_vault)
}
},
- iconRes = BitwardenDrawable.icon,
+ iconRes = BitwardenDrawable.logo_bitwarden_icon,
shouldTintIcon = false,
autofillContentDescription = null,
)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensions.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensions.kt
index 6420159277..bb4d1d0749 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensions.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensions.kt
@@ -67,7 +67,7 @@ fun InlinePresentationSpec.createVaultItemInlinePresentationOrNull(
} else {
autofillAppInfo.context.getString(BitwardenString.my_vault)
},
- iconRes = BitwardenDrawable.icon,
+ iconRes = BitwardenDrawable.logo_bitwarden_icon,
shouldTintIcon = false,
)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/pendingrequests/PendingRequestsScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/pendingrequests/PendingRequestsScreen.kt
index b3a204cde1..fc6c72b576 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/pendingrequests/PendingRequestsScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/pendingrequests/PendingRequestsScreen.kt
@@ -337,7 +337,7 @@ private fun PendingRequestsEmpty(
Spacer(modifier = Modifier.height(16.dp))
Spacer(modifier = Modifier.weight(1f))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.pending_requests),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_pending_requests),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
@@ -375,7 +375,7 @@ private fun PendingRequestsBottomSheetContent(
Column(modifier = modifier.verticalScroll(rememberScrollState())) {
Spacer(modifier = Modifier.height(height = 24.dp))
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.img_2fa),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_2fa),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/blockautofill/BlockAutoFillScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/blockautofill/BlockAutoFillScreen.kt
index b4fb34b169..6f1d430759 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/blockautofill/BlockAutoFillScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/autofill/blockautofill/BlockAutoFillScreen.kt
@@ -222,7 +222,7 @@ private fun BlockAutoFillNoItems(
Spacer(modifier = Modifier.height(height = 24.dp))
Image(
painter = rememberVectorPainter(
- id = BitwardenDrawable.blocked_uri,
+ id = BitwardenDrawable.ill_blocked_uri,
),
contentDescription = null,
modifier = Modifier
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/flightrecorder/recordedLogs/RecordedLogsScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/flightrecorder/recordedLogs/RecordedLogsScreen.kt
index 1b5fa572e3..20fc2d88b8 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/flightrecorder/recordedLogs/RecordedLogsScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/flightrecorder/recordedLogs/RecordedLogsScreen.kt
@@ -135,7 +135,7 @@ fun RecordedLogsScreen(
BitwardenEmptyContent(
text = stringResource(id = BitwardenString.no_logs_recorded),
illustrationData = IconData.Local(
- iconRes = BitwardenDrawable.il_secure_devices,
+ iconRes = BitwardenDrawable.ill_secure_devices,
),
modifier = Modifier.fillMaxSize(),
)
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/tools/feature/send/SendEmpty.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/tools/feature/send/SendEmpty.kt
index d67c2ff182..4f5716d574 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/tools/feature/send/SendEmpty.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/tools/feature/send/SendEmpty.kt
@@ -58,7 +58,7 @@ fun SendEmpty(
Spacer(modifier = Modifier.weight(1F))
Image(
- painter = rememberVectorPainter(BitwardenDrawable.img_send),
+ painter = rememberVectorPainter(BitwardenDrawable.ill_send),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/reviewexport/ReviewExportScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/reviewexport/ReviewExportScreen.kt
index 824e9847f7..ca720a84c9 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/reviewexport/ReviewExportScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/exportitems/reviewexport/ReviewExportScreen.kt
@@ -205,7 +205,7 @@ private fun ReviewExportContent(
.padding(top = 24.dp, bottom = 16.dp),
) {
Image(
- painter = painterResource(id = BitwardenDrawable.img_import_logins),
+ painter = painterResource(id = BitwardenDrawable.ill_import_logins),
contentDescription = null,
modifier = Modifier.height(160.dp),
contentScale = ContentScale.Fit,
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsScreen.kt
index 713a72d435..5b234ebee6 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/importlogins/ImportLoginsScreen.kt
@@ -235,7 +235,7 @@ private fun InitialImportLoginsContent(
horizontalAlignment = Alignment.CenterHorizontally,
) {
Image(
- painter = rememberVectorPainter(BitwardenDrawable.img_import_logins),
+ painter = rememberVectorPainter(BitwardenDrawable.ill_import_logins),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
@@ -433,7 +433,7 @@ private fun ImportLoginsSuccessBottomSheetContent(
) {
Spacer(Modifier.height(24.dp))
Image(
- painter = rememberVectorPainter(BitwardenDrawable.img_secure_devices),
+ painter = rememberVectorPainter(BitwardenDrawable.ill_secure_devices),
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt
index bbda3b171b..725d160b0e 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensions.kt
@@ -279,7 +279,7 @@ fun VaultData.toViewState(
.asText()
},
vectorRes = totpData
- ?.let { BitwardenDrawable.img_folder_question },
+ ?.let { BitwardenDrawable.ill_folder_question },
)
}
}
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNoItems.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNoItems.kt
index edf1bd0142..a167fc8e9e 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNoItems.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultNoItems.kt
@@ -112,7 +112,7 @@ private fun VaultNoItems_preview() {
modifier = Modifier.background(BitwardenTheme.colorScheme.background.primary),
) {
VaultNoItems(
- vectorRes = BitwardenDrawable.img_vault_items,
+ vectorRes = BitwardenDrawable.ill_vault_items,
headerText = stringResource(id = BitwardenString.save_and_protect_your_data),
message = stringResource(
BitwardenString.the_vault_protects_more_than_just_passwords,
diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt
index 7df39da70e..6eb7f6b212 100644
--- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt
+++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreen.kt
@@ -355,7 +355,7 @@ private fun VaultScreenScaffold(
)
}
VaultNoItems(
- vectorRes = BitwardenDrawable.img_vault_items,
+ vectorRes = BitwardenDrawable.ill_vault_items,
headerText = stringResource(
id = BitwardenString.save_and_protect_your_data,
),
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 253ce794cd..05cf29fba2 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -14,7 +14,7 @@
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImplTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImplTest.kt
index 771b58917a..50c667c7c4 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImplTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/CredentialExchangeRegistryManagerImplTest.kt
@@ -67,7 +67,7 @@ class CredentialExchangeRegistryManagerImplTest {
CredentialTypes.CREDENTIAL_TYPE_TOTP,
CredentialTypes.CREDENTIAL_TYPE_WIFI,
),
- iconResId = BitwardenDrawable.icon,
+ iconResId = BitwardenDrawable.logo_bitwarden_icon,
),
)
settingsDiskSource.storeAppRegisteredForExport(true)
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
index 481a0d67fb..86f070bcdc 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
@@ -139,10 +139,10 @@ class TwoFactorAuthMethodExtensionTest {
@Test
fun `imageRes returns the expected value`() {
mapOf(
- TwoFactorAuthMethod.AUTHENTICATOR_APP to BitwardenDrawable.img_authenticator,
- TwoFactorAuthMethod.EMAIL to BitwardenDrawable.img_new_device_verification,
+ TwoFactorAuthMethod.AUTHENTICATOR_APP to BitwardenDrawable.ill_authenticator,
+ TwoFactorAuthMethod.EMAIL to BitwardenDrawable.ill_new_device_verification,
TwoFactorAuthMethod.DUO to null,
- TwoFactorAuthMethod.YUBI_KEY to BitwardenDrawable.yubi_key,
+ TwoFactorAuthMethod.YUBI_KEY to BitwardenDrawable.img_yubi_key,
TwoFactorAuthMethod.U2F to null,
TwoFactorAuthMethod.REMEMBER to null,
TwoFactorAuthMethod.DUO_ORGANIZATION to null,
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViewsTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViewsTest.kt
index 27e85639db..83d6659fd9 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViewsTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/BitwardenRemoteViewsTest.kt
@@ -205,7 +205,7 @@ class BitwardenRemoteViewsTest {
prepareRemoteViews(
name = APP_NAME,
subtitle = VAULT_IS_LOCKED,
- iconRes = BitwardenDrawable.icon,
+ iconRes = BitwardenDrawable.logo_bitwarden_icon,
)
// Test
@@ -233,7 +233,7 @@ class BitwardenRemoteViewsTest {
anyConstructed()
.setImageViewResource(
R.id.icon,
- BitwardenDrawable.icon,
+ BitwardenDrawable.logo_bitwarden_icon,
)
anyConstructed()
.setInt(
@@ -263,7 +263,7 @@ class BitwardenRemoteViewsTest {
prepareRemoteViews(
name = APP_NAME,
subtitle = GO_TO_MY_VAULT,
- iconRes = BitwardenDrawable.icon,
+ iconRes = BitwardenDrawable.logo_bitwarden_icon,
)
// Test
@@ -291,7 +291,7 @@ class BitwardenRemoteViewsTest {
anyConstructed()
.setImageViewResource(
R.id.icon,
- BitwardenDrawable.icon,
+ BitwardenDrawable.logo_bitwarden_icon,
)
anyConstructed()
.setInt(
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensionsTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensionsTest.kt
index 57e026a480..2fa414849b 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensionsTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/autofill/util/InlinePresentationSpecExtensionsTest.kt
@@ -253,7 +253,7 @@ class InlinePresentationSpecExtensionsTest {
Icon
.createWithResource(
testContext,
- BitwardenDrawable.icon,
+ BitwardenDrawable.logo_bitwarden_icon,
)
.setTintBlendMode(BlendMode.DST)
testContext.getString(R.string.app_name)
@@ -292,7 +292,7 @@ class InlinePresentationSpecExtensionsTest {
Icon
.createWithResource(
testContext,
- BitwardenDrawable.icon,
+ BitwardenDrawable.logo_bitwarden_icon,
)
.setTintBlendMode(BlendMode.DST)
testContext.getString(R.string.app_name)
@@ -389,7 +389,7 @@ class InlinePresentationSpecExtensionsTest {
Icon
.createWithResource(
testContext,
- BitwardenDrawable.icon,
+ BitwardenDrawable.logo_bitwarden_icon,
)
.setTintBlendMode(BlendMode.DST)
} returns icon
diff --git a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt
index 4bbaf033e1..9ed628fde2 100644
--- a/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt
+++ b/app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt
@@ -946,7 +946,7 @@ class VaultItemListingDataExtensionsTest {
message = BitwardenString.search_for_a_login_or_add_a_new_login.asText(),
shouldShowAddButton = false,
buttonText = BitwardenString.new_item.asText(),
- vectorRes = BitwardenDrawable.img_folder_question,
+ vectorRes = BitwardenDrawable.ill_folder_question,
),
vaultData.toViewState(
itemListingType = VaultItemListingState.ItemListingType.Vault.Trash,
diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt
index abfd28aba6..41a2faed2e 100644
--- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt
+++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt
@@ -112,7 +112,7 @@ fun UnlockScreen(
.width(220.dp)
.height(74.dp)
.fillMaxWidth(),
- painter = rememberVectorPainter(id = BitwardenDrawable.ic_logo_horizontal),
+ painter = rememberVectorPainter(id = BitwardenDrawable.logo_authenticator),
contentDescription = stringResource(BitwardenString.bitwarden_authenticator),
)
Spacer(modifier = Modifier.height(32.dp))
diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt
index 7c6aebca84..94e8fc3b0f 100644
--- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt
+++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/itemlisting/ItemListingScreen.kt
@@ -534,7 +534,7 @@ fun EmptyItemListingContent(
) {
Image(
- painter = rememberVectorPainter(id = BitwardenDrawable.img_authenticator),
+ painter = rememberVectorPainter(id = BitwardenDrawable.ill_authenticator),
contentDescription = stringResource(id = BitwardenString.empty_item_list),
modifier = Modifier
.size(size = 100.dp)
diff --git a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt
index 44525a518e..7a7fb1731b 100644
--- a/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt
+++ b/authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt
@@ -92,7 +92,7 @@ data class TutorialState(
*/
@Parcelize
data object IntroSlide : TutorialSlide() {
- override val image: Int get() = BitwardenDrawable.img_authenticator
+ override val image: Int get() = BitwardenDrawable.ill_authenticator
override val title: Int get() = BitwardenString.secure_your_accounts_with_bitwarden_authenticator
override val message: Int get() = BitwardenString.get_verification_codes_for_all_your_accounts
}
@@ -102,7 +102,7 @@ data class TutorialState(
*/
@Parcelize
data object QrScannerSlide : TutorialSlide() {
- override val image: Int get() = BitwardenDrawable.lock
+ override val image: Int get() = BitwardenDrawable.ill_lock
override val title: Int get() = BitwardenString.use_your_device_camera_to_scan_codes
override val message: Int get() = BitwardenString.scan_the_qr_code_in_your_2_step_verification_settings_for_any_account
}
diff --git a/authenticator/src/main/res/values/styles.xml b/authenticator/src/main/res/values/styles.xml
index fa14a29c21..ef420df315 100644
--- a/authenticator/src/main/res/values/styles.xml
+++ b/authenticator/src/main/res/values/styles.xml
@@ -12,7 +12,7 @@
diff --git a/ui/README.md b/ui/README.md
index a1b13e7125..f2aebd99c0 100644
--- a/ui/README.md
+++ b/ui/README.md
@@ -5,8 +5,42 @@ An Android library containing common UI components, types, and utilities.
## Contents
- [Compatibility](#compatibility)
+- [Theme](#theme)
## Compatibility
- **Minimum SDK**: 28
- **Target SDK**: 35
+
+## Theme
+
+### Icons & Illustrations
+
+#### Naming Convention
+
+All drawables should be named with the appropriate prefix to identify what they are and how they are intended to be used.
+
+| Prefix | Description |
+|---------|---------------|
+| `gif_` | gifs |
+| `ic_` | Icons |
+| `img_` | Raster Images |
+| `ill_` | Illustrations |
+| `logo_` | Brand Imagery |
+
+#### Multi-tonal 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
diff --git a/ui/src/main/res/drawable-hdpi/yubi_key.png b/ui/src/main/res/drawable-hdpi/img_yubi_key.png
similarity index 100%
rename from ui/src/main/res/drawable-hdpi/yubi_key.png
rename to ui/src/main/res/drawable-hdpi/img_yubi_key.png
diff --git a/ui/src/main/res/drawable-mdpi/yubi_key.png b/ui/src/main/res/drawable-mdpi/img_yubi_key.png
similarity index 100%
rename from ui/src/main/res/drawable-mdpi/yubi_key.png
rename to ui/src/main/res/drawable-mdpi/img_yubi_key.png
diff --git a/ui/src/main/res/drawable-night/img_setup_autofill.gif b/ui/src/main/res/drawable-night/gif_setup_autofill.gif
similarity index 100%
rename from ui/src/main/res/drawable-night/img_setup_autofill.gif
rename to ui/src/main/res/drawable-night/gif_setup_autofill.gif
diff --git a/ui/src/main/res/drawable-xhdpi/yubi_key.png b/ui/src/main/res/drawable-xhdpi/img_yubi_key.png
similarity index 100%
rename from ui/src/main/res/drawable-xhdpi/yubi_key.png
rename to ui/src/main/res/drawable-xhdpi/img_yubi_key.png
diff --git a/ui/src/main/res/drawable-xxhdpi/yubi_key.png b/ui/src/main/res/drawable-xxhdpi/img_yubi_key.png
similarity index 100%
rename from ui/src/main/res/drawable-xxhdpi/yubi_key.png
rename to ui/src/main/res/drawable-xxhdpi/img_yubi_key.png
diff --git a/ui/src/main/res/drawable-xxxhdpi/yubi_key.png b/ui/src/main/res/drawable-xxxhdpi/img_yubi_key.png
similarity index 100%
rename from ui/src/main/res/drawable-xxxhdpi/yubi_key.png
rename to ui/src/main/res/drawable-xxxhdpi/img_yubi_key.png
diff --git a/ui/src/main/res/drawable/email_check.xml b/ui/src/main/res/drawable/email_check.xml
deleted file mode 100644
index 99552cc433..0000000000
--- a/ui/src/main/res/drawable/email_check.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/src/main/res/drawable/img_setup_autofill.gif b/ui/src/main/res/drawable/gif_setup_autofill.gif
similarity index 100%
rename from ui/src/main/res/drawable/img_setup_autofill.gif
rename to ui/src/main/res/drawable/gif_setup_autofill.gif
diff --git a/ui/src/main/res/drawable/img_2fa.xml b/ui/src/main/res/drawable/ill_2fa.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_2fa.xml
rename to ui/src/main/res/drawable/ill_2fa.xml
diff --git a/ui/src/main/res/drawable/account_setup.xml b/ui/src/main/res/drawable/ill_account_setup.xml
similarity index 100%
rename from ui/src/main/res/drawable/account_setup.xml
rename to ui/src/main/res/drawable/ill_account_setup.xml
diff --git a/ui/src/main/res/drawable/img_authenticator.xml b/ui/src/main/res/drawable/ill_authenticator.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_authenticator.xml
rename to ui/src/main/res/drawable/ill_authenticator.xml
diff --git a/ui/src/main/res/drawable/blocked_uri.xml b/ui/src/main/res/drawable/ill_blocked_uri.xml
similarity index 100%
rename from ui/src/main/res/drawable/blocked_uri.xml
rename to ui/src/main/res/drawable/ill_blocked_uri.xml
diff --git a/ui/src/main/res/drawable/img_folder_question.xml b/ui/src/main/res/drawable/ill_folder_question.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_folder_question.xml
rename to ui/src/main/res/drawable/ill_folder_question.xml
diff --git a/ui/src/main/res/drawable/img_import_logins.xml b/ui/src/main/res/drawable/ill_import_logins.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_import_logins.xml
rename to ui/src/main/res/drawable/ill_import_logins.xml
diff --git a/ui/src/main/res/drawable/lock.xml b/ui/src/main/res/drawable/ill_lock.xml
similarity index 100%
rename from ui/src/main/res/drawable/lock.xml
rename to ui/src/main/res/drawable/ill_lock.xml
diff --git a/ui/src/main/res/drawable/img_new_device_verification.xml b/ui/src/main/res/drawable/ill_new_device_verification.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_new_device_verification.xml
rename to ui/src/main/res/drawable/ill_new_device_verification.xml
diff --git a/ui/src/main/res/drawable/open_email.xml b/ui/src/main/res/drawable/ill_open_email.xml
similarity index 100%
rename from ui/src/main/res/drawable/open_email.xml
rename to ui/src/main/res/drawable/ill_open_email.xml
diff --git a/ui/src/main/res/drawable/pending_requests.xml b/ui/src/main/res/drawable/ill_pending_requests.xml
similarity index 100%
rename from ui/src/main/res/drawable/pending_requests.xml
rename to ui/src/main/res/drawable/ill_pending_requests.xml
diff --git a/ui/src/main/res/drawable/il_secure_devices.xml b/ui/src/main/res/drawable/ill_secure_devices.xml
similarity index 100%
rename from ui/src/main/res/drawable/il_secure_devices.xml
rename to ui/src/main/res/drawable/ill_secure_devices.xml
diff --git a/ui/src/main/res/drawable/img_send.xml b/ui/src/main/res/drawable/ill_send.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_send.xml
rename to ui/src/main/res/drawable/ill_send.xml
diff --git a/ui/src/main/res/drawable/img_setup_complete.xml b/ui/src/main/res/drawable/ill_setup_complete.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_setup_complete.xml
rename to ui/src/main/res/drawable/ill_setup_complete.xml
diff --git a/ui/src/main/res/drawable/vault.xml b/ui/src/main/res/drawable/ill_vault.xml
similarity index 100%
rename from ui/src/main/res/drawable/vault.xml
rename to ui/src/main/res/drawable/ill_vault.xml
diff --git a/ui/src/main/res/drawable/img_vault_items.xml b/ui/src/main/res/drawable/ill_vault_items.xml
similarity index 100%
rename from ui/src/main/res/drawable/img_vault_items.xml
rename to ui/src/main/res/drawable/ill_vault_items.xml
diff --git a/ui/src/main/res/drawable/welcome_2.xml b/ui/src/main/res/drawable/ill_welcome_2.xml
similarity index 100%
rename from ui/src/main/res/drawable/welcome_2.xml
rename to ui/src/main/res/drawable/ill_welcome_2.xml
diff --git a/ui/src/main/res/drawable/welcome_3.xml b/ui/src/main/res/drawable/ill_welcome_3.xml
similarity index 100%
rename from ui/src/main/res/drawable/welcome_3.xml
rename to ui/src/main/res/drawable/ill_welcome_3.xml
diff --git a/ui/src/main/res/drawable/welcome_4.xml b/ui/src/main/res/drawable/ill_welcome_4.xml
similarity index 100%
rename from ui/src/main/res/drawable/welcome_4.xml
rename to ui/src/main/res/drawable/ill_welcome_4.xml
diff --git a/ui/src/main/res/drawable/img_secure_devices.xml b/ui/src/main/res/drawable/img_secure_devices.xml
deleted file mode 100644
index c8e763f2b5..0000000000
--- a/ui/src/main/res/drawable/img_secure_devices.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ui/src/main/res/drawable/ic_logo_horizontal.xml b/ui/src/main/res/drawable/logo_authenticator.xml
similarity index 100%
rename from ui/src/main/res/drawable/ic_logo_horizontal.xml
rename to ui/src/main/res/drawable/logo_authenticator.xml
diff --git a/ui/src/main/res/drawable/bitwarden_logo.xml b/ui/src/main/res/drawable/logo_bitwarden.xml
similarity index 100%
rename from ui/src/main/res/drawable/bitwarden_logo.xml
rename to ui/src/main/res/drawable/logo_bitwarden.xml
diff --git a/ui/src/main/res/drawable/icon.xml b/ui/src/main/res/drawable/logo_bitwarden_icon.xml
similarity index 100%
rename from ui/src/main/res/drawable/icon.xml
rename to ui/src/main/res/drawable/logo_bitwarden_icon.xml
diff --git a/ui/src/main/res/drawable/logo_rounded.xml b/ui/src/main/res/drawable/logo_shield_icon.xml
similarity index 100%
rename from ui/src/main/res/drawable/logo_rounded.xml
rename to ui/src/main/res/drawable/logo_shield_icon.xml