diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt index 4131fecca4..9f6e93ff47 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/auth/feature/twofactorlogin/TwoFactorLoginScreen.kt @@ -7,10 +7,8 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.verticalScroll import androidx.compose.material3.ExperimentalMaterial3Api @@ -22,9 +20,7 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip import androidx.compose.ui.input.nestedscroll.nestedScroll -import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.input.ImeAction @@ -230,27 +226,23 @@ private fun TwoFactorLoginScreenContent( modifier = modifier .verticalScroll(rememberScrollState()), ) { - if (state.authMethod != TwoFactorAuthMethod.YUBI_KEY) { - state.imageRes?.let { - Spacer(modifier = Modifier.height(12.dp)) - Image( - painter = painterResource(id = it), - contentDescription = null, - modifier = Modifier - .standardHorizontalMargin() - .size(124.dp), - ) - Spacer(modifier = Modifier.height(12.dp)) - } + state.imageRes?.let { + Spacer(modifier = Modifier.height(12.dp)) + Image( + painter = painterResource(id = it), + contentDescription = null, + modifier = Modifier + .standardHorizontalMargin() + .size(124.dp), + ) + Spacer(modifier = Modifier.height(12.dp)) } Spacer(modifier = Modifier.height(height = 12.dp)) Text( text = if (state.isNewDeviceVerification) { stringResource(BitwardenString.enter_verification_code_new_device) } else { - state.authMethod.description( - state.displayEmail, - ).invoke() + state.authMethod.description(state.displayEmail).invoke() }, textAlign = TextAlign.Center, style = BitwardenTheme.typography.bodyMedium, @@ -262,23 +254,6 @@ private fun TwoFactorLoginScreenContent( Spacer(modifier = Modifier.height(12.dp)) - if (state.authMethod == TwoFactorAuthMethod.YUBI_KEY) { - state.imageRes?.let { - Spacer(modifier = Modifier.height(12.dp)) - Image( - painter = painterResource(id = it), - contentDescription = null, - alignment = Alignment.Center, - contentScale = ContentScale.FillWidth, - modifier = Modifier - .padding(horizontal = 24.dp) - .clip(RoundedCornerShape(4.dp)) - .fillMaxWidth(), - ) - Spacer(modifier = Modifier.height(24.dp)) - } - } - if (state.shouldShowCodeInput) { BitwardenPasswordField( value = state.codeInput, 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 b4ebf42216..00e6cbf72a 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 @@ -34,6 +34,7 @@ fun TwoFactorAuthMethod.description(email: String): Text = when (this) { TwoFactorAuthMethod.DUO -> { BitwardenString.follow_the_steps_from_duo_to_finish_logging_in.asText() } + TwoFactorAuthMethod.DUO_ORGANIZATION -> { BitwardenString.duo_two_step_login_is_required_for_your_account .asText() @@ -45,6 +46,7 @@ fun TwoFactorAuthMethod.description(email: String): Text = when (this) { TwoFactorAuthMethod.WEB_AUTH -> { BitwardenString.continue_to_complete_web_authn_verification.asText() } + TwoFactorAuthMethod.YUBI_KEY -> BitwardenString.yubi_key_instruction.asText() else -> "".asText() } @@ -122,7 +124,7 @@ val TwoFactorAuthMethod.shouldUseNfc: Boolean @get:DrawableRes val TwoFactorAuthMethod.imageRes: Int? get() = when (this) { - TwoFactorAuthMethod.YUBI_KEY -> BitwardenDrawable.img_yubi_key + TwoFactorAuthMethod.YUBI_KEY -> BitwardenDrawable.ill_2fa_key TwoFactorAuthMethod.EMAIL -> BitwardenDrawable.ill_new_device_verification TwoFactorAuthMethod.AUTHENTICATOR_APP -> BitwardenDrawable.ill_authenticator else -> null 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 86f070bcdc..f9ff5fde57 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 @@ -142,7 +142,7 @@ class TwoFactorAuthMethodExtensionTest { TwoFactorAuthMethod.AUTHENTICATOR_APP to BitwardenDrawable.ill_authenticator, TwoFactorAuthMethod.EMAIL to BitwardenDrawable.ill_new_device_verification, TwoFactorAuthMethod.DUO to null, - TwoFactorAuthMethod.YUBI_KEY to BitwardenDrawable.img_yubi_key, + TwoFactorAuthMethod.YUBI_KEY to BitwardenDrawable.ill_2fa_key, TwoFactorAuthMethod.U2F to null, TwoFactorAuthMethod.REMEMBER to null, TwoFactorAuthMethod.DUO_ORGANIZATION to null, diff --git a/ui/src/main/res/drawable-hdpi/img_yubi_key.png b/ui/src/main/res/drawable-hdpi/img_yubi_key.png deleted file mode 100644 index ca8936de15..0000000000 Binary files a/ui/src/main/res/drawable-hdpi/img_yubi_key.png and /dev/null differ diff --git a/ui/src/main/res/drawable-mdpi/img_yubi_key.png b/ui/src/main/res/drawable-mdpi/img_yubi_key.png deleted file mode 100644 index ec44159a70..0000000000 Binary files a/ui/src/main/res/drawable-mdpi/img_yubi_key.png and /dev/null differ diff --git a/ui/src/main/res/drawable-xhdpi/img_yubi_key.png b/ui/src/main/res/drawable-xhdpi/img_yubi_key.png deleted file mode 100644 index a69444039e..0000000000 Binary files a/ui/src/main/res/drawable-xhdpi/img_yubi_key.png and /dev/null differ diff --git a/ui/src/main/res/drawable-xxhdpi/img_yubi_key.png b/ui/src/main/res/drawable-xxhdpi/img_yubi_key.png deleted file mode 100644 index fa02ce2c9b..0000000000 Binary files a/ui/src/main/res/drawable-xxhdpi/img_yubi_key.png and /dev/null differ diff --git a/ui/src/main/res/drawable-xxxhdpi/img_yubi_key.png b/ui/src/main/res/drawable-xxxhdpi/img_yubi_key.png deleted file mode 100644 index cb1776b3a5..0000000000 Binary files a/ui/src/main/res/drawable-xxxhdpi/img_yubi_key.png and /dev/null differ diff --git a/ui/src/main/res/drawable/ill_2fa_key.xml b/ui/src/main/res/drawable/ill_2fa_key.xml new file mode 100644 index 0000000000..c21b987f00 --- /dev/null +++ b/ui/src/main/res/drawable/ill_2fa_key.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + +