Skip to content

Commit a43f021

Browse files
PM-27771: Improve TOTP parsing
1 parent 4b7fcdb commit a43f021

File tree

27 files changed

+192
-83
lines changed

27 files changed

+192
-83
lines changed

app/src/main/kotlin/com/x8bit/bitwarden/MainViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.bitwarden.cxf.util.getProviderImportCredentialsRequest
1111
import com.bitwarden.ui.platform.base.BaseViewModel
1212
import com.bitwarden.ui.platform.feature.settings.appearance.model.AppTheme
1313
import com.bitwarden.ui.platform.manager.share.ShareManager
14+
import com.bitwarden.ui.platform.model.TotpData
1415
import com.bitwarden.ui.platform.resource.BitwardenString
1516
import com.bitwarden.vault.CipherView
1617
import com.x8bit.bitwarden.data.auth.manager.AddTotpItemFromAuthenticatorManager
@@ -46,7 +47,6 @@ import com.x8bit.bitwarden.ui.platform.model.FeatureFlagsState
4647
import com.x8bit.bitwarden.ui.platform.util.isAccountSecurityShortcut
4748
import com.x8bit.bitwarden.ui.platform.util.isMyVaultShortcut
4849
import com.x8bit.bitwarden.ui.platform.util.isPasswordGeneratorShortcut
49-
import com.x8bit.bitwarden.ui.vault.model.TotpData
5050
import com.x8bit.bitwarden.ui.vault.util.getTotpDataOrNull
5151
import dagger.hilt.android.lifecycle.HiltViewModel
5252
import kotlinx.coroutines.FlowPreview

app/src/main/kotlin/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorManager.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.x8bit.bitwarden.data.auth.manager
22

3-
import com.x8bit.bitwarden.ui.vault.model.TotpData
3+
import com.bitwarden.ui.platform.model.TotpData
44

55
/**
66
* Manager for keeping track of requests from the Bitwarden Authenticator app to add a TOTP

app/src/main/kotlin/com/x8bit/bitwarden/data/auth/manager/AddTotpItemFromAuthenticatorManagerImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.x8bit.bitwarden.data.auth.manager
22

3-
import com.x8bit.bitwarden.ui.vault.model.TotpData
3+
import com.bitwarden.ui.platform.model.TotpData
44

55
/**
66
* Default in memory implementation for [AddTotpItemFromAuthenticatorManager].

app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/model/SpecialCircumstance.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import android.os.Parcelable
44
import androidx.credentials.CredentialManager
55
import com.bitwarden.cxf.model.ImportCredentialsRequestData
66
import com.bitwarden.ui.platform.manager.share.model.ShareData
7+
import com.bitwarden.ui.platform.model.TotpData
78
import com.x8bit.bitwarden.data.autofill.model.AutofillSaveItem
89
import com.x8bit.bitwarden.data.autofill.model.AutofillSelectionData
910
import com.x8bit.bitwarden.data.credentials.model.CreateCredentialRequest
1011
import com.x8bit.bitwarden.data.credentials.model.Fido2CredentialAssertionRequest
1112
import com.x8bit.bitwarden.data.credentials.model.GetCredentialsRequest
1213
import com.x8bit.bitwarden.data.credentials.model.ProviderGetPasswordCredentialRequest
13-
import com.x8bit.bitwarden.ui.vault.model.TotpData
1414
import kotlinx.parcelize.Parcelize
1515

1616
/**

app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/util/SpecialCircumstanceExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package com.x8bit.bitwarden.data.platform.manager.util
22

33
import com.bitwarden.cxf.model.ImportCredentialsRequestData
4+
import com.bitwarden.ui.platform.model.TotpData
45
import com.x8bit.bitwarden.data.autofill.model.AutofillSaveItem
56
import com.x8bit.bitwarden.data.autofill.model.AutofillSelectionData
67
import com.x8bit.bitwarden.data.credentials.model.CreateCredentialRequest
78
import com.x8bit.bitwarden.data.credentials.model.Fido2CredentialAssertionRequest
89
import com.x8bit.bitwarden.data.credentials.model.GetCredentialsRequest
910
import com.x8bit.bitwarden.data.credentials.model.ProviderGetPasswordCredentialRequest
1011
import com.x8bit.bitwarden.data.platform.manager.model.SpecialCircumstance
11-
import com.x8bit.bitwarden.ui.vault.model.TotpData
1212

1313
/**
1414
* Returns [AutofillSaveItem] when contained in the given [SpecialCircumstance].

app/src/main/kotlin/com/x8bit/bitwarden/data/platform/processor/AuthenticatorBridgeProcessorImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ import com.bitwarden.authenticatorbridge.util.toFingerprint
1717
import com.bitwarden.authenticatorbridge.util.toSymmetricEncryptionKeyData
1818
import com.bitwarden.core.util.isBuildVersionAtLeast
1919
import com.bitwarden.data.manager.DispatcherManager
20+
import com.bitwarden.ui.platform.util.getTotpDataOrNull
2021
import com.x8bit.bitwarden.data.auth.manager.AddTotpItemFromAuthenticatorManager
2122
import com.x8bit.bitwarden.data.platform.repository.AuthenticatorBridgeRepository
2223
import com.x8bit.bitwarden.data.platform.util.createAddTotpItemFromAuthenticatorIntent
23-
import com.x8bit.bitwarden.ui.vault.util.getTotpDataOrNull
2424
import kotlinx.coroutines.CoroutineScope
2525
import kotlinx.coroutines.launch
2626
import timber.log.Timber

app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import com.bitwarden.ui.platform.base.BackgroundEvent
1313
import com.bitwarden.ui.platform.base.BaseViewModel
1414
import com.bitwarden.ui.platform.components.icon.model.IconData
1515
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
16+
import com.bitwarden.ui.platform.model.TotpData
1617
import com.bitwarden.ui.platform.resource.BitwardenString
1718
import com.bitwarden.ui.util.Text
1819
import com.bitwarden.ui.util.asText
@@ -59,7 +60,6 @@ import com.x8bit.bitwarden.ui.vault.feature.vault.model.VaultFilterType
5960
import com.x8bit.bitwarden.ui.vault.feature.vault.util.applyRestrictItemTypesPolicy
6061
import com.x8bit.bitwarden.ui.vault.feature.vault.util.toFilteredList
6162
import com.x8bit.bitwarden.ui.vault.feature.vault.util.toVaultFilterData
62-
import com.x8bit.bitwarden.ui.vault.model.TotpData
6363
import com.x8bit.bitwarden.ui.vault.model.VaultItemCipherType
6464
import com.x8bit.bitwarden.ui.vault.util.toVaultItemCipherType
6565
import dagger.hilt.android.lifecycle.HiltViewModel

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditViewModel.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.bitwarden.network.model.PolicyTypeJson
1414
import com.bitwarden.ui.platform.base.BackgroundEvent
1515
import com.bitwarden.ui.platform.base.BaseViewModel
1616
import com.bitwarden.ui.platform.components.snackbar.model.BitwardenSnackbarData
17+
import com.bitwarden.ui.platform.model.TotpData
1718
import com.bitwarden.ui.platform.resource.BitwardenPlurals
1819
import com.bitwarden.ui.platform.resource.BitwardenString
1920
import com.bitwarden.ui.util.Text
@@ -76,7 +77,6 @@ import com.x8bit.bitwarden.ui.vault.feature.itemlisting.util.messageResourceId
7677
import com.x8bit.bitwarden.ui.vault.feature.util.canAssignToCollections
7778
import com.x8bit.bitwarden.ui.vault.feature.util.hasDeletePermissionInAtLeastOneCollection
7879
import com.x8bit.bitwarden.ui.vault.feature.vault.util.toCipherView
79-
import com.x8bit.bitwarden.ui.vault.model.TotpData
8080
import com.x8bit.bitwarden.ui.vault.model.VaultAddEditType
8181
import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
8282
import com.x8bit.bitwarden.ui.vault.model.VaultCardExpirationMonth
@@ -2320,8 +2320,8 @@ data class VaultAddEditState(
23202320

23212321
val shouldShowMoveToOrganization: Boolean
23222322
get() = !isAddItemMode &&
2323-
!isCipherInCollection &&
2324-
hasOrganizations
2323+
!isCipherInCollection &&
2324+
hasOrganizations
23252325

23262326
/**
23272327
* Enum representing the main type options for the vault, such as LOGIN, CARD, etc.

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/util/CipherViewExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ package com.x8bit.bitwarden.ui.vault.feature.addedit.util
55
import com.bitwarden.collections.CollectionType
66
import com.bitwarden.collections.CollectionView
77
import com.bitwarden.core.data.util.toFormattedDateTimeStyle
8+
import com.bitwarden.ui.platform.model.TotpData
89
import com.bitwarden.ui.platform.resource.BitwardenString
910
import com.bitwarden.ui.util.asText
1011
import com.bitwarden.vault.CipherRepromptType
@@ -19,7 +20,6 @@ import com.x8bit.bitwarden.data.auth.repository.model.UserState
1920
import com.x8bit.bitwarden.ui.platform.manager.resource.ResourceManager
2021
import com.x8bit.bitwarden.ui.vault.feature.addedit.VaultAddEditState
2122
import com.x8bit.bitwarden.ui.vault.feature.addedit.model.UriItem
22-
import com.x8bit.bitwarden.ui.vault.model.TotpData
2323
import com.x8bit.bitwarden.ui.vault.model.VaultAddEditType
2424
import com.x8bit.bitwarden.ui.vault.model.VaultCardBrand
2525
import com.x8bit.bitwarden.ui.vault.model.VaultCardExpirationMonth

app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/util/TotpDataExtensions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.x8bit.bitwarden.ui.vault.feature.addedit.util
22

3+
import com.bitwarden.ui.platform.model.TotpData
34
import com.x8bit.bitwarden.ui.vault.feature.addedit.VaultAddEditState
4-
import com.x8bit.bitwarden.ui.vault.model.TotpData
55

66
/**
77
* Returns pre-filled content that may be used for an "add" type

0 commit comments

Comments
 (0)