mirror of
https://github.com/bitwarden/android.git
synced 2025-12-10 20:07:59 -06:00
[PM-23125] Move authenticator drawables to ui module (#5440)
This commit is contained in:
parent
b1dc894fe8
commit
1070c9d46e
@ -37,6 +37,7 @@ import com.bitwarden.authenticator.ui.platform.components.scaffold.BitwardenScaf
|
||||
import com.bitwarden.authenticator.ui.platform.composition.LocalBiometricsManager
|
||||
import com.bitwarden.authenticator.ui.platform.manager.biometrics.BiometricsManager
|
||||
import com.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import com.bitwarden.ui.util.asText
|
||||
|
||||
/**
|
||||
@ -131,7 +132,7 @@ fun UnlockScreen(
|
||||
.height(74.dp)
|
||||
.fillMaxWidth(),
|
||||
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.primary),
|
||||
painter = painterResource(id = R.drawable.ic_logo_horizontal),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_logo_horizontal),
|
||||
contentDescription = stringResource(R.string.bitwarden_authenticator),
|
||||
)
|
||||
Spacer(modifier = Modifier.height(32.dp))
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.bitwarden.authenticator.ui.authenticator.feature.edititem
|
||||
|
||||
import android.widget.Toast
|
||||
import androidx.compose.animation.core.animateFloatAsState
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.Row
|
||||
@ -16,6 +17,7 @@ import androidx.compose.foundation.lazy.LazyListScope
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||
import androidx.compose.material3.FabPosition
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBarDefaults
|
||||
@ -27,6 +29,7 @@ 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.draw.rotate
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.testTag
|
||||
@ -60,10 +63,8 @@ import com.bitwarden.authenticator.ui.platform.components.stepper.BitwardenStepp
|
||||
import com.bitwarden.authenticator.ui.platform.components.toggle.BitwardenSwitch
|
||||
import com.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
|
||||
import com.bitwarden.ui.platform.components.icon.BitwardenIcon
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import com.bitwarden.ui.util.asText
|
||||
import kotlinx.collections.immutable.toImmutableList
|
||||
|
||||
/**
|
||||
@ -306,7 +307,11 @@ fun EditItemContent(
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
item(key = "AdvancedOptions") {
|
||||
val iconRotationDegrees = animateFloatAsState(
|
||||
targetValue = if (viewState.isAdvancedOptionsExpanded) 180f else 0f,
|
||||
label = "expanderIconRotationAnimation",
|
||||
)
|
||||
Spacer(modifier = Modifier.height(16.dp))
|
||||
Row(
|
||||
modifier = Modifier
|
||||
@ -322,7 +327,8 @@ fun EditItemContent(
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
onClick = onExpandAdvancedOptionsClicked,
|
||||
)
|
||||
.padding(vertical = 12.dp),
|
||||
.padding(vertical = 12.dp)
|
||||
.animateItem(),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Text(
|
||||
@ -331,16 +337,16 @@ fun EditItemContent(
|
||||
color = MaterialTheme.colorScheme.primary,
|
||||
)
|
||||
Spacer(Modifier.width(8.dp))
|
||||
BitwardenIcon(
|
||||
iconData = IconData.Local(
|
||||
iconRes = if (viewState.isAdvancedOptionsExpanded) {
|
||||
R.drawable.ic_chevron_up
|
||||
} else {
|
||||
R.drawable.ic_chevron_down
|
||||
},
|
||||
contentDescription = R.string.collapse_advanced_options.asText(),
|
||||
),
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_chevron_down),
|
||||
contentDescription = if (viewState.isAdvancedOptionsExpanded) {
|
||||
stringResource(R.string.collapse_advanced_options)
|
||||
} else {
|
||||
stringResource(R.string.expand_advanced_options)
|
||||
},
|
||||
tint = MaterialTheme.colorScheme.primary,
|
||||
modifier = Modifier
|
||||
.rotate(degrees = iconRotationDegrees.value),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -385,7 +385,7 @@ private fun ItemListingContent(
|
||||
ItemListingExpandableFabAction.ScanQrCode(
|
||||
label = R.string.scan_a_qr_code.asText(),
|
||||
icon = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_camera),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_camera),
|
||||
contentDescription = stringResource(id = R.string.scan_a_qr_code),
|
||||
testTag = "ScanQRCodeButton",
|
||||
),
|
||||
@ -394,7 +394,7 @@ private fun ItemListingContent(
|
||||
ItemListingExpandableFabAction.EnterSetupKey(
|
||||
label = R.string.enter_key_manually.asText(),
|
||||
icon = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_keyboard_24px),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_keyboard),
|
||||
contentDescription = stringResource(id = R.string.enter_key_manually),
|
||||
testTag = "EnterSetupKeyButton",
|
||||
),
|
||||
@ -403,7 +403,7 @@ private fun ItemListingContent(
|
||||
),
|
||||
expandableFabIcon = ExpandableFabIcon(
|
||||
iconData = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_plus),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_plus),
|
||||
contentDescription = stringResource(id = R.string.add_item),
|
||||
testTag = "AddItemButton",
|
||||
),
|
||||
@ -608,7 +608,7 @@ fun EmptyItemListingContent(
|
||||
ItemListingExpandableFabAction.ScanQrCode(
|
||||
label = R.string.scan_a_qr_code.asText(),
|
||||
icon = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_camera),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_camera),
|
||||
contentDescription = stringResource(id = R.string.scan_a_qr_code),
|
||||
testTag = "ScanQRCodeButton",
|
||||
),
|
||||
@ -617,7 +617,7 @@ fun EmptyItemListingContent(
|
||||
ItemListingExpandableFabAction.EnterSetupKey(
|
||||
label = R.string.enter_key_manually.asText(),
|
||||
icon = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_keyboard_24px),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_keyboard),
|
||||
contentDescription = stringResource(id = R.string.enter_key_manually),
|
||||
testTag = "EnterSetupKeyButton",
|
||||
),
|
||||
@ -626,7 +626,7 @@ fun EmptyItemListingContent(
|
||||
),
|
||||
expandableFabIcon = ExpandableFabIcon(
|
||||
iconData = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_plus),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_plus),
|
||||
contentDescription = stringResource(id = R.string.add_item),
|
||||
testTag = "AddItemButton",
|
||||
),
|
||||
@ -675,9 +675,9 @@ fun EmptyItemListingContent(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
painter = painterResource(
|
||||
id = when (appTheme) {
|
||||
AppTheme.DARK -> R.drawable.ic_empty_vault_dark
|
||||
AppTheme.LIGHT -> R.drawable.ic_empty_vault_light
|
||||
AppTheme.DEFAULT -> R.drawable.ic_empty_vault
|
||||
AppTheme.DARK -> BitwardenDrawable.ic_empty_vault_dark
|
||||
AppTheme.LIGHT -> BitwardenDrawable.ic_empty_vault_light
|
||||
AppTheme.DEFAULT -> BitwardenDrawable.ic_empty_vault
|
||||
},
|
||||
),
|
||||
contentDescription = stringResource(
|
||||
@ -718,7 +718,7 @@ private fun DownloadBitwardenActionCard(
|
||||
onDownloadBitwardenClick: () -> Unit,
|
||||
) = BitwardenActionCard(
|
||||
modifier = modifier,
|
||||
actionIcon = rememberVectorPainter(R.drawable.ic_bitwarden),
|
||||
actionIcon = rememberVectorPainter(BitwardenDrawable.ic_shield),
|
||||
actionText = stringResource(R.string.download_bitwarden_card_message),
|
||||
callToActionText = stringResource(R.string.download_now),
|
||||
titleText = stringResource(R.string.download_bitwarden_card_title),
|
||||
@ -763,7 +763,7 @@ private fun SyncWithBitwardenActionCard(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = R.drawable.ic_bitwarden),
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_shield),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.primary,
|
||||
modifier = Modifier.size(size = 20.dp),
|
||||
|
||||
@ -38,6 +38,7 @@ import com.bitwarden.authenticator.ui.platform.components.indicator.BitwardenCir
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.components.icon.BitwardenIcon
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* The verification code item displayed to the user.
|
||||
@ -165,7 +166,7 @@ fun VaultVerificationCodeItem(
|
||||
},
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_copy),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_copy),
|
||||
contentDescription = stringResource(id = R.string.copy),
|
||||
)
|
||||
},
|
||||
@ -181,7 +182,7 @@ fun VaultVerificationCodeItem(
|
||||
},
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_edit_item),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_edit_item),
|
||||
contentDescription = stringResource(R.string.edit_item),
|
||||
)
|
||||
},
|
||||
@ -198,7 +199,7 @@ fun VaultVerificationCodeItem(
|
||||
},
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_arrow_right),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_arrow_right),
|
||||
contentDescription = stringResource(
|
||||
id = R.string.copy_to_bitwarden_vault,
|
||||
),
|
||||
@ -217,7 +218,7 @@ fun VaultVerificationCodeItem(
|
||||
},
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_delete_item),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_delete_item),
|
||||
contentDescription = stringResource(id = R.string.delete_item),
|
||||
)
|
||||
},
|
||||
@ -238,7 +239,7 @@ private fun VerificationCodeItem_preview() {
|
||||
periodSeconds = 30,
|
||||
timeLeftSeconds = 15,
|
||||
alertThresholdSeconds = 7,
|
||||
startIcon = IconData.Local(R.drawable.ic_login_item),
|
||||
startIcon = IconData.Local(BitwardenDrawable.ic_login_item),
|
||||
onItemClick = {},
|
||||
onDropdownMenuClick = {},
|
||||
allowLongPress = true,
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
package com.bitwarden.authenticator.ui.authenticator.feature.model
|
||||
|
||||
import android.os.Parcelable
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
/**
|
||||
@ -18,7 +18,7 @@ data class VerificationCodeDisplayItem(
|
||||
val alertThresholdSeconds: Int,
|
||||
val authCode: String,
|
||||
val startIcon: IconData = IconData.Local(
|
||||
iconRes = R.drawable.ic_login_item,
|
||||
iconRes = BitwardenDrawable.ic_login_item,
|
||||
testTag = "BitwardenIcon",
|
||||
),
|
||||
val favorite: Boolean,
|
||||
|
||||
@ -54,6 +54,7 @@ import com.bitwarden.authenticator.ui.platform.feature.settings.navigateToSettin
|
||||
import com.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.bitwarden.ui.platform.base.util.max
|
||||
import com.bitwarden.ui.platform.base.util.toDp
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import com.bitwarden.ui.platform.theme.RootTransitionProviders
|
||||
import com.bitwarden.ui.platform.util.toObjectNavigationRoute
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
@ -306,8 +307,8 @@ private sealed class AuthenticatorNavBarTab : Parcelable {
|
||||
*/
|
||||
@Parcelize
|
||||
data object VerificationCodes : AuthenticatorNavBarTab() {
|
||||
override val iconResSelected get() = R.drawable.ic_verification_codes_filled
|
||||
override val iconRes get() = R.drawable.ic_verification_codes
|
||||
override val iconResSelected get() = BitwardenDrawable.ic_verification_codes_filled
|
||||
override val iconRes get() = BitwardenDrawable.ic_verification_codes
|
||||
override val labelRes get() = R.string.verification_codes
|
||||
override val contentDescriptionRes get() = R.string.verification_codes
|
||||
override val route get() = ItemListingRoute.toObjectNavigationRoute()
|
||||
@ -319,8 +320,8 @@ private sealed class AuthenticatorNavBarTab : Parcelable {
|
||||
*/
|
||||
@Parcelize
|
||||
data object Settings : AuthenticatorNavBarTab() {
|
||||
override val iconResSelected get() = R.drawable.ic_settings_filled
|
||||
override val iconRes get() = R.drawable.ic_settings
|
||||
override val iconResSelected get() = BitwardenDrawable.ic_settings_solid
|
||||
override val iconRes get() = BitwardenDrawable.ic_settings
|
||||
override val labelRes get() = R.string.settings
|
||||
override val contentDescriptionRes get() = R.string.settings
|
||||
override val route get() = SettingsGraphRoute.toObjectNavigationRoute()
|
||||
|
||||
@ -19,7 +19,7 @@ import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.semantics.testTag
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* The empty state for the item search screen.
|
||||
@ -35,7 +35,7 @@ fun ItemSearchEmptyContent(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_search_24px),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_search_wide),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
modifier = Modifier
|
||||
|
||||
@ -26,6 +26,7 @@ import com.bitwarden.authenticator.ui.platform.components.scaffold.BitwardenScaf
|
||||
import com.bitwarden.ui.platform.base.util.EventsEffect
|
||||
import com.bitwarden.ui.platform.base.util.bottomDivider
|
||||
import com.bitwarden.ui.platform.components.appbar.NavigationIcon
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* The search screen for authenticator items.
|
||||
@ -67,7 +68,7 @@ fun ItemSearchScreen(
|
||||
onSearchTermChange = searchHandlers.onSearchTermChange,
|
||||
scrollBehavior = scrollBehavior,
|
||||
navigationIcon = NavigationIcon(
|
||||
navigationIcon = painterResource(id = R.drawable.ic_back),
|
||||
navigationIcon = painterResource(id = BitwardenDrawable.ic_back),
|
||||
navigationIconContentDescription = stringResource(id = R.string.back),
|
||||
onNavigationIconClick = searchHandlers.onBackClick,
|
||||
),
|
||||
|
||||
@ -27,6 +27,7 @@ import com.bitwarden.authenticator.ui.platform.components.indicator.BitwardenCir
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.components.icon.BitwardenIcon
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* The verification code item displayed to the user.
|
||||
@ -115,7 +116,7 @@ fun VaultVerificationCodeItem(
|
||||
onClick = onCopyClick,
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_copy),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_copy),
|
||||
contentDescription = stringResource(id = R.string.copy),
|
||||
tint = MaterialTheme.colorScheme.primary,
|
||||
modifier = Modifier.size(24.dp),
|
||||
@ -130,7 +131,7 @@ fun VaultVerificationCodeItem(
|
||||
private fun VerificationCodeItem_preview() {
|
||||
AuthenticatorTheme {
|
||||
VaultVerificationCodeItem(
|
||||
startIcon = IconData.Local(R.drawable.ic_login_item),
|
||||
startIcon = IconData.Local(BitwardenDrawable.ic_login_item),
|
||||
issuer = "Sample Label",
|
||||
supportingLabel = "Supporting Label",
|
||||
authCode = "1234567890".chunked(3).joinToString(" "),
|
||||
|
||||
@ -6,8 +6,8 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.platform.testTag
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Represents the Authenticator search action item.
|
||||
@ -29,7 +29,7 @@ fun AuthenticatorSearchActionItem(
|
||||
modifier = Modifier.testTag("SearchButton"),
|
||||
) {
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = R.drawable.ic_search_24px),
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_search_wide),
|
||||
contentDescription = contentDescription,
|
||||
)
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ private fun ActionCardPreview() {
|
||||
@Composable
|
||||
private fun ActionCardWithTrailingPreview() {
|
||||
BitwardenActionCard(
|
||||
actionIcon = rememberVectorPainter(id = R.drawable.ic_bitwarden),
|
||||
actionIcon = rememberVectorPainter(id = BitwardenDrawable.ic_shield),
|
||||
actionText = "An action with trailing content",
|
||||
titleText = "This is a title",
|
||||
callToActionText = "Take action",
|
||||
|
||||
@ -31,11 +31,11 @@ import androidx.compose.ui.semantics.role
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.ui.platform.components.dialog.BitwardenSelectionDialog
|
||||
import com.bitwarden.authenticator.ui.platform.components.dialog.BitwardenSelectionRow
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.components.model.TooltipData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import com.bitwarden.ui.util.asText
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
@ -118,7 +118,7 @@ fun BitwardenMultiSelectButton(
|
||||
modifier = Modifier.size(16.dp),
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_tooltip_small),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_tooltip_small),
|
||||
contentDescription = it.contentDescription,
|
||||
)
|
||||
}
|
||||
@ -130,7 +130,7 @@ fun BitwardenMultiSelectButton(
|
||||
enabled = shouldShowDialog,
|
||||
trailingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_region_select_dropdown),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_region_select_dropdown),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
)
|
||||
|
||||
@ -30,6 +30,7 @@ import androidx.compose.ui.text.input.VisualTransformation
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.ui.platform.components.util.nonLetterColorVisualTransformation
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Represents a Bitwarden-styled password field that hoists show/hide password state to the caller.
|
||||
@ -103,9 +104,9 @@ fun BitwardenPasswordField(
|
||||
) {
|
||||
@DrawableRes
|
||||
val painterRes = if (showPassword) {
|
||||
R.drawable.ic_visibility_off
|
||||
BitwardenDrawable.ic_visibility_off
|
||||
} else {
|
||||
R.drawable.ic_visibility
|
||||
BitwardenDrawable.ic_visibility
|
||||
}
|
||||
|
||||
@StringRes
|
||||
|
||||
@ -14,9 +14,9 @@ import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.text.input.VisualTransformation
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.components.row.BitwardenRowOfActions
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Represents a Bitwarden-styled text field accompanied by a series of actions.
|
||||
@ -91,7 +91,7 @@ private fun BitwardenTextFieldWithActions_preview() {
|
||||
onValueChange = {},
|
||||
actions = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_tooltip),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_tooltip),
|
||||
contentDescription = "Action 1",
|
||||
)
|
||||
},
|
||||
|
||||
@ -9,9 +9,9 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.ui.platform.components.model.IconResource
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* An icon button that displays an icon from the provided [IconResource].
|
||||
@ -52,7 +52,7 @@ private fun BitwardenIconButtonWithResource_preview() {
|
||||
AuthenticatorTheme {
|
||||
BitwardenIconButtonWithResource(
|
||||
iconRes = IconResource(
|
||||
iconPainter = painterResource(id = R.drawable.ic_tooltip),
|
||||
iconPainter = painterResource(id = BitwardenDrawable.ic_tooltip),
|
||||
contentDescription = "Sample Icon",
|
||||
),
|
||||
onClick = {},
|
||||
|
||||
@ -38,6 +38,7 @@ import com.bitwarden.authenticator.ui.platform.components.model.IconResource
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.components.icon.BitwardenIcon
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import kotlinx.collections.immutable.ImmutableList
|
||||
import kotlinx.collections.immutable.persistentListOf
|
||||
|
||||
@ -135,7 +136,7 @@ fun BitwardenListItem(
|
||||
modifier = Modifier.semantics { optionsTestTag?.let { testTag = it } },
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.ic_more_horizontal),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_more_horizontal),
|
||||
contentDescription = stringResource(id = R.string.options),
|
||||
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
modifier = Modifier.size(24.dp),
|
||||
@ -180,7 +181,7 @@ private fun BitwardenListItem_preview() {
|
||||
BitwardenListItem(
|
||||
label = "Sample Label",
|
||||
supportingLabel = "Jan 3, 2024, 10:35 AM",
|
||||
startIcon = IconData.Local(R.drawable.ic_login_item),
|
||||
startIcon = IconData.Local(BitwardenDrawable.ic_login_item),
|
||||
onClick = {},
|
||||
selectionDataList = persistentListOf(),
|
||||
)
|
||||
|
||||
@ -15,6 +15,7 @@ import com.bitwarden.authenticator.ui.platform.components.dialog.BitwardenTwoBut
|
||||
import com.bitwarden.authenticator.ui.platform.theme.AuthenticatorTheme
|
||||
import com.bitwarden.ui.platform.base.util.mirrorIfRtl
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Represents a row of text that can be clicked on and contains an external link.
|
||||
@ -52,7 +53,7 @@ fun BitwardenExternalLinkRow(
|
||||
) {
|
||||
Icon(
|
||||
modifier = Modifier.mirrorIfRtl(),
|
||||
painter = rememberVectorPainter(id = R.drawable.ic_external_link),
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_external_link),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
|
||||
@ -5,13 +5,13 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.semantics.semantics
|
||||
import androidx.compose.ui.semantics.testTag
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.ui.platform.components.field.BitwardenTextFieldWithActions
|
||||
import com.bitwarden.authenticator.ui.platform.components.icon.BitwardenIconButtonWithResource
|
||||
import com.bitwarden.authenticator.ui.platform.components.model.IconResource
|
||||
import com.bitwarden.ui.platform.base.util.ZERO_WIDTH_CHARACTER
|
||||
import com.bitwarden.ui.platform.base.util.orNullIfBlank
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Displays a stepper that allows the user to increment and decrement an int value.
|
||||
@ -58,7 +58,7 @@ fun BitwardenStepper(
|
||||
actions = {
|
||||
BitwardenIconButtonWithResource(
|
||||
iconRes = IconResource(
|
||||
iconPainter = rememberVectorPainter(id = R.drawable.ic_minus),
|
||||
iconPainter = rememberVectorPainter(id = BitwardenDrawable.ic_minus),
|
||||
contentDescription = "\u2212",
|
||||
),
|
||||
onClick = {
|
||||
@ -76,7 +76,7 @@ fun BitwardenStepper(
|
||||
)
|
||||
BitwardenIconButtonWithResource(
|
||||
iconRes = IconResource(
|
||||
iconPainter = rememberVectorPainter(id = R.drawable.ic_plus),
|
||||
iconPainter = rememberVectorPainter(id = BitwardenDrawable.ic_plus),
|
||||
contentDescription = "+",
|
||||
),
|
||||
onClick = {
|
||||
|
||||
@ -34,6 +34,7 @@ import com.bitwarden.ui.platform.base.util.standardHorizontalMargin
|
||||
import com.bitwarden.ui.platform.components.appbar.NavigationIcon
|
||||
import com.bitwarden.ui.platform.components.divider.BitwardenHorizontalDivider
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
|
||||
/**
|
||||
* Top level screen for the debug menu.
|
||||
@ -62,7 +63,7 @@ fun DebugMenuScreen(
|
||||
title = stringResource(R.string.debug_menu),
|
||||
scrollBehavior = scrollBehavior,
|
||||
navigationIcon = NavigationIcon(
|
||||
navigationIcon = rememberVectorPainter(R.drawable.ic_back),
|
||||
navigationIcon = rememberVectorPainter(BitwardenDrawable.ic_back),
|
||||
navigationIconContentDescription = stringResource(id = R.string.back),
|
||||
onNavigationIconClick = remember(viewModel) {
|
||||
{
|
||||
|
||||
@ -69,6 +69,7 @@ import com.bitwarden.ui.platform.base.util.mirrorIfRtl
|
||||
import com.bitwarden.ui.platform.base.util.spanStyleOf
|
||||
import com.bitwarden.ui.platform.components.util.rememberVectorPainter
|
||||
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import com.bitwarden.ui.util.Text
|
||||
import com.bitwarden.ui.util.asText
|
||||
|
||||
@ -310,7 +311,7 @@ private fun VaultSettings(
|
||||
modifier = Modifier
|
||||
.mirrorIfRtl()
|
||||
.size(24.dp),
|
||||
painter = painterResource(id = R.drawable.ic_navigate_next),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_navigate_next),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
@ -328,7 +329,7 @@ private fun VaultSettings(
|
||||
modifier = Modifier
|
||||
.mirrorIfRtl()
|
||||
.size(24.dp),
|
||||
painter = painterResource(id = R.drawable.ic_navigate_next),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_navigate_next),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
@ -370,10 +371,8 @@ private fun VaultSettings(
|
||||
withDivider = true,
|
||||
content = {
|
||||
Icon(
|
||||
modifier = Modifier
|
||||
.mirrorIfRtl()
|
||||
.size(24.dp),
|
||||
painter = painterResource(id = R.drawable.ic_external_link),
|
||||
modifier = Modifier.mirrorIfRtl(),
|
||||
painter = painterResource(id = BitwardenDrawable.ic_external_link),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
@ -510,7 +509,7 @@ private fun ThemeSelectionRow(
|
||||
.mirrorIfRtl()
|
||||
.size(24.dp),
|
||||
painter = painterResource(
|
||||
id = R.drawable.ic_navigate_next,
|
||||
id = BitwardenDrawable.ic_navigate_next,
|
||||
),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
@ -647,7 +646,7 @@ private fun CopyRow(
|
||||
color = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
Icon(
|
||||
painter = rememberVectorPainter(id = R.drawable.ic_copy),
|
||||
painter = rememberVectorPainter(id = BitwardenDrawable.ic_copy),
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.onSurface,
|
||||
)
|
||||
|
||||
@ -3,6 +3,7 @@ package com.bitwarden.authenticator.ui.platform.feature.tutorial
|
||||
import android.os.Parcelable
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.ui.platform.base.BaseViewModel
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import kotlinx.coroutines.flow.update
|
||||
import kotlinx.parcelize.Parcelize
|
||||
@ -91,7 +92,7 @@ data class TutorialState(
|
||||
*/
|
||||
@Parcelize
|
||||
data object IntroSlide : TutorialSlide() {
|
||||
override val image: Int get() = R.drawable.ic_tutorial_verification_codes
|
||||
override val image: Int get() = BitwardenDrawable.ic_tutorial_verification_codes
|
||||
override val title: Int get() = R.string.secure_your_accounts_with_bitwarden_authenticator
|
||||
override val message: Int get() = R.string.get_verification_codes_for_all_your_accounts
|
||||
}
|
||||
@ -101,7 +102,7 @@ data class TutorialState(
|
||||
*/
|
||||
@Parcelize
|
||||
data object QrScannerSlide : TutorialSlide() {
|
||||
override val image: Int get() = R.drawable.ic_tutorial_qr_scanner
|
||||
override val image: Int get() = BitwardenDrawable.ic_tutorial_qr_scanner
|
||||
override val title: Int get() = R.string.use_your_device_camera_to_scan_codes
|
||||
override val message: Int get() = R.string.scan_the_qr_code_in_your_2_step_verification_settings_for_any_account
|
||||
}
|
||||
@ -111,7 +112,7 @@ data class TutorialState(
|
||||
*/
|
||||
@Parcelize
|
||||
data object UniqueCodesSlide : TutorialSlide() {
|
||||
override val image: Int get() = R.drawable.ic_tutorial_2fa
|
||||
override val image: Int get() = BitwardenDrawable.ic_tutorial_2fa
|
||||
override val title: Int get() = R.string.sign_in_using_unique_codes
|
||||
override val message: Int get() = R.string.when_using_2_step_verification_youll_enter_your_username_and_password_and_a_code_generated_in_this_app
|
||||
}
|
||||
|
||||
@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="25dp"
|
||||
android:viewportHeight="25"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="#ffffff"
|
||||
android:pathData="M20,11.103H7.83L13.42,5.513L12,4.103L4,12.103L12,20.103L13.41,18.693L7.83,13.103H20V11.103Z" />
|
||||
</vector>
|
||||
@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="18dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="18"
|
||||
android:viewportHeight="20">
|
||||
<path
|
||||
android:pathData="M17.186,0.25C17.109,0.171 17.017,0.108 16.916,0.064C16.814,0.021 16.704,-0.001 16.593,0L1.408,0C1.297,-0.001 1.187,0.021 1.085,0.064C0.983,0.108 0.892,0.171 0.816,0.25C0.735,0.325 0.671,0.416 0.628,0.517C0.584,0.618 0.562,0.726 0.563,0.835L0.563,10.835C0.566,11.596 0.715,12.35 1.003,13.056C1.277,13.753 1.645,14.41 2.098,15.01C2.563,15.611 3.083,16.166 3.653,16.671C4.181,17.15 4.738,17.598 5.319,18.012C5.826,18.367 6.357,18.704 6.914,19.021C7.471,19.339 7.864,19.553 8.093,19.665C8.325,19.777 8.512,19.866 8.651,19.925C8.76,19.977 8.88,20.002 9.001,20C9.12,20.002 9.237,19.974 9.344,19.921C9.485,19.86 9.67,19.774 9.904,19.661C10.138,19.549 10.537,19.334 11.084,19.017C11.63,18.701 12.168,18.364 12.678,18.009C13.26,17.594 13.818,17.146 14.347,16.667C14.917,16.163 15.438,15.607 15.903,15.006C16.354,14.406 16.722,13.749 16.997,13.052C17.286,12.346 17.435,11.592 17.438,10.831V0.831C17.438,0.723 17.416,0.615 17.372,0.515C17.329,0.415 17.265,0.325 17.186,0.25ZM15.228,10.926C15.228,14.551 9.001,17.665 9.001,17.665L9.001,2.142L15.228,2.142L15.228,10.926Z"
|
||||
android:fillColor="#175DDC"/>
|
||||
</vector>
|
||||
@ -1,13 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="18dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="18">
|
||||
<path
|
||||
android:pathData="M3.125,5.25C2.78,5.25 2.5,5.53 2.5,5.875C2.5,6.22 2.78,6.5 3.125,6.5H4.375C4.72,6.5 5,6.22 5,5.875C5,5.53 4.72,5.25 4.375,5.25H3.125Z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M14.219,0.25H7.969C6.588,0.25 5.469,1.369 5.469,2.75H2.5C1.119,2.75 0,3.869 0,5.25V14C0,15.381 1.119,16.5 2.5,16.5H7.396C8.479,17.286 9.81,17.75 11.25,17.75C12.69,17.75 14.021,17.286 15.104,16.5H17.5C18.881,16.5 20,15.381 20,14V5.25C20,3.869 18.881,2.75 17.5,2.75H16.719C16.719,1.369 15.599,0.25 14.219,0.25ZM4.688,11.188C4.688,12.722 5.214,14.133 6.096,15.25H2.5C1.81,15.25 1.25,14.69 1.25,14V5.25C1.25,4.56 1.81,4 2.5,4H5.469C6.159,4 6.719,3.44 6.719,2.75C6.719,2.06 7.278,1.5 7.969,1.5H14.219C14.909,1.5 15.469,2.06 15.469,2.75C15.469,3.44 16.028,4 16.719,4H17.5C18.19,4 18.75,4.56 18.75,5.25V14C18.75,14.69 18.19,15.25 17.5,15.25H16.404C16.376,15.286 16.347,15.322 16.318,15.357C17.252,14.224 17.813,12.771 17.813,11.188C17.813,7.563 14.874,4.625 11.25,4.625C7.626,4.625 4.688,7.563 4.688,11.188ZM11.25,16.5C14.184,16.5 16.563,14.122 16.563,11.188C16.563,8.253 14.184,5.875 11.25,5.875C8.316,5.875 5.938,8.253 5.938,11.188C5.938,14.122 8.316,16.5 11.25,16.5Z"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
@ -1,13 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="18dp"
|
||||
android:height="18dp"
|
||||
android:viewportWidth="18"
|
||||
android:viewportHeight="18">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M1.5,1.5h15v15h-15z"/>
|
||||
<path
|
||||
android:pathData="M8.677,11.585C8.961,11.874 9.084,11.823 9.361,11.538C9.361,11.538 15.286,5.843 15.704,5.455C16.122,5.068 16.892,5.635 16.262,6.214C15.633,6.794 9.835,12.381 9.835,12.381C9.335,12.788 8.655,12.788 8.155,12.381L1.808,6.295C1.105,5.656 1.74,4.944 2.356,5.533C4.726,7.797 8.677,11.585 8.677,11.585Z"
|
||||
android:fillColor="#175DDC"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -1,13 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="18dp"
|
||||
android:height="18dp"
|
||||
android:viewportWidth="18"
|
||||
android:viewportHeight="18">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M1.5,1.5h15v15h-15z"/>
|
||||
<path
|
||||
android:pathData="M9.323,6.415C9.039,6.126 8.916,6.177 8.639,6.462C8.639,6.462 2.714,12.157 2.296,12.545C1.878,12.932 1.108,12.365 1.738,11.785C2.367,11.206 8.165,5.619 8.165,5.619C8.665,5.212 9.345,5.212 9.845,5.619L16.192,11.705C16.895,12.344 16.26,13.056 15.644,12.467C13.274,10.203 9.323,6.415 9.323,6.415Z"
|
||||
android:fillColor="#175DDC"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -1,17 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M2,2h20v20h-20z"/>
|
||||
<path
|
||||
android:pathData="M7.625,5.75H20.125C21.16,5.75 22,6.589 22,7.625V20.125C22,21.16 21.16,22 20.125,22H7.625C6.589,22 5.75,21.16 5.75,20.125V7.625C5.75,6.589 6.589,5.75 7.625,5.75ZM7.625,7C7.28,7 7,7.28 7,7.625V20.125C7,20.47 7.28,20.75 7.625,20.75H20.125C20.47,20.75 20.75,20.47 20.75,20.125V7.625C20.75,7.28 20.47,7 20.125,7H7.625Z"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M16.375,2H3.875C2.839,2 2,2.839 2,3.875V16.375C2,17.41 2.839,18.25 3.875,18.25H5.75V17H3.875C3.53,17 3.25,16.72 3.25,16.375V3.875C3.25,3.53 3.53,3.25 3.875,3.25H16.375C16.72,3.25 17,3.53 17,3.875V5.75H18.25V3.875C18.25,2.839 17.41,2 16.375,2Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="#1B1B1F"
|
||||
android:pathData="M17.366,2.08L20.811,2.206L20.812,2.206C21.106,2.218 21.384,2.346 21.586,2.562C21.788,2.777 21.897,3.063 21.889,3.357L21.798,6.76C21.784,6.924 21.708,7.078 21.585,7.187C21.461,7.296 21.3,7.354 21.134,7.347C20.968,7.341 20.811,7.271 20.694,7.152C20.577,7.034 20.51,6.875 20.507,6.71L20.563,4.589C20.559,4.57 20.55,4.552 20.537,4.537C20.524,4.523 20.508,4.511 20.49,4.504C20.471,4.497 20.452,4.495 20.433,4.497C20.413,4.5 20.395,4.507 20.379,4.518L13.545,11.325C13.422,11.437 13.261,11.497 13.094,11.493C12.927,11.489 12.768,11.42 12.649,11.302C12.531,11.184 12.462,11.025 12.457,10.857C12.452,10.69 12.512,10.529 12.624,10.406L19.411,3.653C19.511,3.454 19.257,3.44 19.257,3.44L17.329,3.37C17.164,3.355 17.01,3.277 16.899,3.153C16.789,3.028 16.73,2.867 16.734,2.701C16.739,2.535 16.808,2.378 16.925,2.263C17.042,2.147 17.201,2.082 17.366,2.08Z" />
|
||||
<path
|
||||
android:fillColor="#1B1B1F"
|
||||
android:pathData="M12,3.25H5.125C4.089,3.25 3.25,4.089 3.25,5.125V18.875C3.25,19.91 4.089,20.75 5.125,20.75H18.875C19.91,20.75 20.75,19.91 20.75,18.875V12C20.75,11.655 20.47,11.375 20.125,11.375C19.78,11.375 19.5,11.655 19.5,12V18.875C19.5,19.22 19.22,19.5 18.875,19.5H5.125C4.78,19.5 4.5,19.22 4.5,18.875V5.125C4.5,4.78 4.78,4.5 5.125,4.5H12C12.345,4.5 12.625,4.22 12.625,3.875C12.625,3.53 12.345,3.25 12,3.25Z" />
|
||||
</vector>
|
||||
@ -1,10 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20,5H4C2.9,5 2.01,5.9 2.01,7L2,17C2,18.1 2.9,19 4,19H20C21.1,19 22,18.1 22,17V7C22,5.9 21.1,5 20,5ZM20,7V17H4V7H20ZM13,8H11V10H13V8ZM11,11H13V13H11V11ZM10,8H8V10H10V8ZM8,11H10V13H8V11ZM7,11H5V13H7V11ZM5,8H7V10H5V8ZM16,14H8V16H16V14ZM14,11H16V13H14V11ZM16,8H14V10H16V8ZM17,11H19V13H17V11ZM19,8H17V10H19V8Z" />
|
||||
</vector>
|
||||
@ -1,10 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<path
|
||||
android:pathData="M4.375,10C4.375,9.655 4.655,9.375 5,9.375H15C15.345,9.375 15.625,9.655 15.625,10C15.625,10.345 15.345,10.625 15,10.625H5C4.655,10.625 4.375,10.345 4.375,10Z"
|
||||
android:fillColor="#151B2C"
|
||||
android:fillType="evenOdd"/>
|
||||
</vector>
|
||||
@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="20dp"
|
||||
android:height="20dp"
|
||||
android:viewportHeight="20"
|
||||
android:viewportWidth="20">
|
||||
<path
|
||||
android:fillColor="#151B2C"
|
||||
android:pathData="M10,1.875C10,1.53 9.72,1.25 9.375,1.25C9.03,1.25 8.75,1.53 8.75,1.875V10H0.625C0.28,10 0,10.28 0,10.625C0,10.97 0.28,11.25 0.625,11.25H8.75V19.375C8.75,19.72 9.03,20 9.375,20C9.72,20 10,19.72 10,19.375V11.25H18.125C18.47,11.25 18.75,10.97 18.75,10.625C18.75,10.28 18.47,10 18.125,10H10V1.875Z" />
|
||||
</vector>
|
||||
@ -1,18 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="20"
|
||||
android:viewportHeight="20">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0h20v20h-20z"/>
|
||||
<path
|
||||
android:pathData="M0,11.738V8.238C0,7.478 0.616,6.863 1.375,6.863H2.178C2.47,6.131 2.862,5.451 3.336,4.838L2.928,4.145C2.542,3.491 2.76,2.648 3.414,2.262L6.429,0.485C7.083,0.099 7.926,0.317 8.312,0.971L8.72,1.663C9.138,1.599 9.565,1.566 10,1.566C10.408,1.566 10.811,1.596 11.204,1.652L11.606,0.956C11.986,0.298 12.827,0.073 13.484,0.453L16.515,2.203C17.173,2.582 17.399,3.423 17.019,4.081L16.617,4.778C17.112,5.406 17.52,6.107 17.822,6.863H18.625C19.384,6.863 20,7.478 20,8.238V11.738C20,12.497 19.384,13.113 18.625,13.113H17.822C17.53,13.844 17.138,14.525 16.664,15.138L17.072,15.831C17.458,16.485 17.24,17.328 16.586,17.713L13.571,19.491C12.917,19.877 12.074,19.659 11.688,19.005L11.28,18.312C10.862,18.376 10.435,18.409 10,18.409C9.592,18.409 9.19,18.38 8.796,18.324L8.394,19.02C8.014,19.677 7.173,19.903 6.516,19.523L3.484,17.773C2.827,17.393 2.601,16.552 2.981,15.895L3.383,15.198C2.888,14.57 2.48,13.869 2.178,13.113H1.375C0.616,13.113 0,12.497 0,11.738ZM1.25,8.238C1.25,8.169 1.306,8.113 1.375,8.113H2.98C3.037,8.113 3.086,8.075 3.102,8.021C3.423,6.891 4.015,5.874 4.803,5.046C4.842,5.005 4.849,4.943 4.821,4.895L4.004,3.51C3.969,3.451 3.989,3.374 4.049,3.339L7.064,1.562C7.123,1.526 7.2,1.546 7.235,1.606L8.05,2.989C8.079,3.037 8.136,3.061 8.191,3.046C8.769,2.896 9.375,2.816 10,2.816C10.602,2.816 11.187,2.891 11.746,3.03C11.8,3.044 11.858,3.02 11.886,2.971L12.689,1.581C12.723,1.521 12.8,1.501 12.859,1.535L15.891,3.285C15.95,3.32 15.971,3.396 15.936,3.456L15.133,4.848C15.104,4.897 15.113,4.958 15.152,4.999C15.962,5.836 16.57,6.869 16.898,8.021C16.914,8.075 16.963,8.113 17.02,8.113H18.625C18.694,8.113 18.75,8.169 18.75,8.238V11.738C18.75,11.807 18.694,11.863 18.625,11.863H17.02C16.963,11.863 16.914,11.901 16.898,11.955C16.577,13.085 15.985,14.101 15.197,14.93C15.158,14.97 15.151,15.032 15.179,15.081L15.995,16.465C16.031,16.525 16.011,16.602 15.951,16.637L12.936,18.414C12.877,18.449 12.8,18.429 12.765,18.37L11.95,16.987C11.921,16.938 11.863,16.915 11.809,16.929C11.231,17.079 10.625,17.159 10,17.159C9.398,17.159 8.813,17.085 8.254,16.945C8.2,16.932 8.142,16.955 8.114,17.004L7.311,18.395C7.277,18.455 7.2,18.475 7.141,18.441L4.109,16.691C4.05,16.656 4.029,16.58 4.064,16.52L4.867,15.128C4.896,15.079 4.887,15.017 4.848,14.977C4.038,14.14 3.43,13.107 3.102,11.955C3.086,11.901 3.037,11.863 2.98,11.863H1.375C1.306,11.863 1.25,11.807 1.25,11.738V8.238Z"
|
||||
android:fillColor="#1B1B1F"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M10,6.875C8.274,6.875 6.875,8.274 6.875,10C6.875,11.726 8.274,13.125 10,13.125C11.726,13.125 13.125,11.726 13.125,10C13.125,8.274 11.726,6.875 10,6.875ZM5.625,10C5.625,7.584 7.584,5.625 10,5.625C12.416,5.625 14.375,7.584 14.375,10C14.375,12.417 12.416,14.375 10,14.375C7.584,14.375 5.625,12.417 5.625,10Z"
|
||||
android:fillColor="#1B1B1F"
|
||||
android:fillType="evenOdd"/>
|
||||
</group>
|
||||
</vector>
|
||||
@ -141,4 +141,5 @@
|
||||
<string name="file_could_not_be_processed">"File Could Not Be Processed"</string>
|
||||
<string name="file_could_not_be_processed_message">"File could not be processed. Ensure it’s valid JSON and try again. Need help? Visit bitwarden.com/help"</string>
|
||||
<string name="get_help">Get Help</string>
|
||||
<string name="expand_advanced_options">Expand advanced options</string>
|
||||
</resources>
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.bitwarden.authenticator.ui.authenticator.feature.search
|
||||
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import com.bitwarden.authenticator.R
|
||||
import com.bitwarden.authenticator.data.authenticator.manager.model.VerificationCodeItem
|
||||
import com.bitwarden.authenticator.data.authenticator.manager.util.createMockVerificationCodeItem
|
||||
import com.bitwarden.authenticator.data.authenticator.repository.AuthenticatorRepository
|
||||
@ -13,6 +12,7 @@ import com.bitwarden.authenticator.ui.authenticator.feature.model.VerificationCo
|
||||
import com.bitwarden.core.data.repository.model.DataState
|
||||
import com.bitwarden.ui.platform.base.BaseViewModelTest
|
||||
import com.bitwarden.ui.platform.components.icon.model.IconData
|
||||
import com.bitwarden.ui.platform.resource.BitwardenDrawable
|
||||
import io.mockk.every
|
||||
import io.mockk.mockk
|
||||
import io.mockk.mockkStatic
|
||||
@ -142,7 +142,7 @@ private val SHARED_AND_LOCAL_DISPLAY_ITEMS = listOf(
|
||||
timeLeftSeconds = SHARED_ITEMS[0].timeLeftSeconds,
|
||||
alertThresholdSeconds = 7,
|
||||
startIcon = IconData.Local(
|
||||
iconRes = R.drawable.ic_login_item,
|
||||
iconRes = BitwardenDrawable.ic_login_item,
|
||||
testTag = "BitwardenIcon",
|
||||
),
|
||||
subtitle = SHARED_ITEMS[0].label,
|
||||
@ -158,7 +158,7 @@ private val SHARED_AND_LOCAL_DISPLAY_ITEMS = listOf(
|
||||
timeLeftSeconds = LOCAL_ITEMS[0].timeLeftSeconds,
|
||||
alertThresholdSeconds = 7,
|
||||
startIcon = IconData.Local(
|
||||
iconRes = R.drawable.ic_login_item,
|
||||
iconRes = BitwardenDrawable.ic_login_item,
|
||||
testTag = "BitwardenIcon",
|
||||
),
|
||||
subtitle = LOCAL_ITEMS[0].label,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user