mirror of
https://github.com/bitwarden/android.git
synced 2025-12-10 00:06:22 -06:00
skipping account selection when only one exists on RootNav
This commit is contained in:
parent
4ff2f8163a
commit
855c54daa0
@ -68,6 +68,7 @@ import com.x8bit.bitwarden.ui.vault.feature.addedit.util.toVaultItemCipherType
|
||||
import com.x8bit.bitwarden.ui.vault.feature.exportitems.ExportItemsGraphRoute
|
||||
import com.x8bit.bitwarden.ui.vault.feature.exportitems.exportItemsGraph
|
||||
import com.x8bit.bitwarden.ui.vault.feature.exportitems.navigateToExportItemsGraph
|
||||
import com.x8bit.bitwarden.ui.vault.feature.exportitems.verifypassword.navigateToVerifyPassword
|
||||
import com.x8bit.bitwarden.ui.vault.feature.itemlisting.navigateToVaultItemListingAsRoot
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultAddEditType
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultItemListingType
|
||||
@ -142,7 +143,10 @@ fun RootNavScreen(
|
||||
is RootNavState.VaultUnlockedForProviderGetCredentials,
|
||||
-> VaultUnlockedGraphRoute
|
||||
|
||||
is RootNavState.CredentialExchangeExport -> ExportItemsGraphRoute
|
||||
is RootNavState.CredentialExchangeExport,
|
||||
is RootNavState.CredentialExchangeExportSkipAccountSelection,
|
||||
-> ExportItemsGraphRoute
|
||||
|
||||
RootNavState.OnboardingAccountLockSetup -> SetupUnlockRoute.AsRoot
|
||||
RootNavState.OnboardingAutoFillSetup -> SetupAutofillRoute.AsRoot
|
||||
RootNavState.OnboardingBrowserAutofillSetup -> SetupBrowserAutofillRoute.AsRoot
|
||||
@ -288,6 +292,13 @@ fun RootNavScreen(
|
||||
is RootNavState.CredentialExchangeExport -> {
|
||||
navController.navigateToExportItemsGraph(rootNavOptions)
|
||||
}
|
||||
|
||||
is RootNavState.CredentialExchangeExportSkipAccountSelection -> {
|
||||
navController.navigateToVerifyPassword(
|
||||
userId = currentState.userId,
|
||||
navOptions = rootNavOptions,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -89,7 +89,11 @@ class RootNavViewModel @Inject constructor(
|
||||
}
|
||||
|
||||
specialCircumstance is SpecialCircumstance.CredentialExchangeExport -> {
|
||||
RootNavState.CredentialExchangeExport
|
||||
if (userState.accounts.size == 1) {
|
||||
RootNavState.CredentialExchangeExportSkipAccountSelection(userId = userState.accounts.first().userId)
|
||||
} else {
|
||||
RootNavState.CredentialExchangeExport
|
||||
}
|
||||
}
|
||||
|
||||
userState.activeAccount.isVaultUnlocked &&
|
||||
@ -424,6 +428,14 @@ sealed class RootNavState : Parcelable {
|
||||
*/
|
||||
@Parcelize
|
||||
data object CredentialExchangeExport : RootNavState()
|
||||
|
||||
/**
|
||||
* App should begin the export items flow, skipping the account selection screen.
|
||||
*/
|
||||
@Parcelize
|
||||
data class CredentialExchangeExportSkipAccountSelection(
|
||||
val userId: String,
|
||||
) : RootNavState()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user