From 011d637f7cfdd051ae64a99568a0de63619e23f2 Mon Sep 17 00:00:00 2001
From: Dave Severns <149429124+dseverns-livefront@users.noreply.github.com>
Date: Mon, 24 Feb 2025 09:51:54 -0500
Subject: [PATCH] PM-18129 add authenticator illustration for 2fa screen
(#4763)
---
.../twofactorlogin/TwoFactorLoginScreen.kt | 6 +-
.../util/TwoFactorAuthMethodExtensions.kt | 1 +
.../res/drawable-night/img_authenticator.xml | 68 +++++++++++++++++
.../main/res/drawable/img_authenticator.xml | 73 +++++++++++++++++++
.../util/TwoFactorAuthMethodExtensionTest.kt | 2 +-
5 files changed, 146 insertions(+), 4 deletions(-)
create mode 100644 app/src/main/res/drawable-night/img_authenticator.xml
create mode 100644 app/src/main/res/drawable/img_authenticator.xml
diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt
index 3e44ce9c82..1e3ad26341 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt
@@ -229,7 +229,7 @@ private fun TwoFactorLoginScreenContent(
.imePadding()
.verticalScroll(rememberScrollState()),
) {
- if (state.authMethod == TwoFactorAuthMethod.EMAIL) {
+ if (state.authMethod != TwoFactorAuthMethod.YUBI_KEY) {
state.imageRes?.let {
Spacer(modifier = Modifier.height(12.dp))
Image(
@@ -237,7 +237,7 @@ private fun TwoFactorLoginScreenContent(
contentDescription = null,
modifier = Modifier
.standardHorizontalMargin()
- .size(100.dp),
+ .size(124.dp),
)
Spacer(modifier = Modifier.height(12.dp))
}
@@ -261,7 +261,7 @@ private fun TwoFactorLoginScreenContent(
Spacer(modifier = Modifier.height(12.dp))
- if (state.authMethod != TwoFactorAuthMethod.EMAIL) {
+ if (state.authMethod == TwoFactorAuthMethod.YUBI_KEY) {
state.imageRes?.let {
Spacer(modifier = Modifier.height(12.dp))
Image(
diff --git a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
index 8d3abba9a1..a5eeadc8e6 100644
--- a/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
+++ b/app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensions.kt
@@ -119,5 +119,6 @@ val TwoFactorAuthMethod.imageRes: Int?
get() = when (this) {
TwoFactorAuthMethod.YUBI_KEY -> R.drawable.yubi_key
TwoFactorAuthMethod.EMAIL -> R.drawable.img_new_device_verification
+ TwoFactorAuthMethod.AUTHENTICATOR_APP -> R.drawable.img_authenticator
else -> null
}
diff --git a/app/src/main/res/drawable-night/img_authenticator.xml b/app/src/main/res/drawable-night/img_authenticator.xml
new file mode 100644
index 0000000000..64b35b183e
--- /dev/null
+++ b/app/src/main/res/drawable-night/img_authenticator.xml
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/img_authenticator.xml b/app/src/main/res/drawable/img_authenticator.xml
new file mode 100644
index 0000000000..18174ceadf
--- /dev/null
+++ b/app/src/main/res/drawable/img_authenticator.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
index ffe43b43b0..d7236a2575 100644
--- a/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
+++ b/app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/util/TwoFactorAuthMethodExtensionTest.kt
@@ -135,7 +135,7 @@ class TwoFactorAuthMethodExtensionTest {
@Test
fun `imageRes returns the expected value`() {
mapOf(
- TwoFactorAuthMethod.AUTHENTICATOR_APP to null,
+ TwoFactorAuthMethod.AUTHENTICATOR_APP to R.drawable.img_authenticator,
TwoFactorAuthMethod.EMAIL to R.drawable.img_new_device_verification,
TwoFactorAuthMethod.DUO to null,
TwoFactorAuthMethod.YUBI_KEY to R.drawable.yubi_key,