mirror of
https://github.com/bitwarden/android.git
synced 2026-05-08 04:16:40 -05:00
Closed
opened 2026-05-01 15:27:30 -05:00 by GiteaMirror
·
0 comments
No Branch/Tag Specified
main
beta-for-qa
new-item-types/PM-32810_bank-account
target-sdk-37
PM-33982/build-device-screen
new-item-types/PM-32806_passport
new-item-types/PM-32808_drivers-license
BWA-99/show-next-totp
BWA-99/add-preview-next-totp-code-setting
renovate/glidecompose
sync-min-sdk
release/2026.4-rc51
fix/security-sast-22741894-bvwj
related-origin-passkey-creation
release/2026.4-rc50
platform/android-breaking-change-detection
innovation-sprint-2026-send-folder
release/2026.3-rc49
PM-34193-vault-lockout
android-collections
llm/add-resolving-sdk-updates-skill
QA-1523/sanity-test-saucelabs
release/2026.3-rc48
PM-26577-app-links-support
PM-26896-autofill-fix
release/2026.2-rc47
pr-6572
release/2026.2-rc46
release/2026.1-rc45
PM-30644/added-logs-for-debug
PM-30644/quicktile-nav-not-showing-migration
minor-gradle-updates
release/2026.1-rc42
release/2026.1-rc44
release/2026.1-rc43
PM-28834/set-landscape-on-horizonos-devices
PM-28468/validate-and-navigate-to-vault-migration
PM-20026/force-ltr-passwords-and-codes
release/2025.12-rc41
cmcg/testCoverage
PM-29014/talkback-support-for-passwords
release/2025.12-rc40
BRE-1305/publish_test
accept-user-certs
autofill-permissions
release/2025.11-rc39
PM-22479/check-all-certificates-validate-asset-links
release/2025.10-rc38
agalles/android-latest
retro-agent
PM-27001/skip-account-selection-only-one-exists-cxp
release/2025.10-rc37
agalles/test-1118
release/2025.10-rc36
PM-20593-token-refresh
QA-1126b/adding-native-sanity-test
release/2025.9-rc35
pm-25933/sdk-update-password
release/2025.9-rc34
release/2025.8-rc33
agalles/20250821-release
debug-release-issues
pm-24249-allow-automated-prs-for-sdk-updates
release/2025.8-rc32
release/WORKFLOW-TEST-2025.8-rc28
agalles/20250807release
release/2025.07-rc25
release/hotfix-v2025.7.0-bwa
pm-23311/export-vault-policy-bypass
release/2025.07-rc24
authenticator-pm-sync-flags-issue
release/hotfix-v2025.6.0-bwpm
release/2025.06-rc21
agalles/automate-android-fastlane-patch
release/2025.05-rc20
release/2025.04-rc19
languages/basque
release/2025.03-rc19
update-readme
qrcode/feature
innovation/archive/pm-19153-archive-items
qrcode/2-ui-fields
qrcode/1-page
hold-on-biometric-prompt-alternative
release-notes-process
release/2025.02-rc16
bwa-monorepo
PM-8223/new-device-verification-ux-improvements
pm-18451/exempt-from-policies
test-bwa
release/2025.01-rc15
release/2025.01-rc14
release/2024.12-rc13
pm-16670/sync-leave-notice
821
PM-16695/backport-lean-more-new-device-verification
release/hotfix-v2024.11.7
release/2024.11-rc1
pm-11304/collection-add-item-button
PM-14241/disabling-logs-app-crash
poc/offline-editing
new-version-calc
pm-11649/expired-link-services
pm-6702/add-feature-flag
pm-6702/email-verification-feature
pm-9933/marketing-copy-update
pm-6702/registration-flows
update-templates
pm-6701/email-verification-selfhost-registration
v2026.4.1-bwa
v2026.4.1-bwpm
v2026.4.0-bwa
v2026.4.0-bwpm
v2026.3.1-bwa
v2026.3.1-bwpm
v2026.3.0-bwpm
v2026.3.0-bwa
v2026.2.1-bwpm
v2026.2.1-bwa
v2026.2.0-bwpm
v2026.2.0-bwa
v2026.1.1-bwa
v2026.1.1-bwpm
temp-test
v2026.1.0-bwpm
v2026.1.0-bwa
v2025.12.1-bwa
v2025.12.1-bwpm
v2025.12.0-bwa
v2025.12.0-bwpm
v2025.11.1-bwpm
v2025.11.1-bwa
v2025.11.0-bwpm
v2025.11.0-bwa
v2025.10.1-bwa
v2025.10.1-bwpm
v2025.10.0-bwa
v2025.10.0-bwpm
v2025.9.1-bwa
v2025.9.1-bwpm
v2025.9.0-bwa
v2025.9.0-bwpm
v2025.8.1-bwa
v2025.8.1-bwpm
v2025.8.0-bwa
v2025.8.0-bwpm
v2025.7.2-bwa
v2025.7.2-bwpm
v2025.7.1-bwa
v2025.7.1-bwpm
v2025.7.0-bwa
v2025.7.0-bwpm
v2025.6.1-bwpm
v2025.6.0-bwa
v2025.6.0-bwpm
v2025.1.0-bwa
v2025.5.0-bwa
v2025.5.0-bwpm
v2025.5.999
2025.4.0
v2025.4.0
untagged-4731eaadac73f3dfbbb8
v2025.3.0
v2025.2.0
untagged-815a165c5d70ffe75bc7
v2025.1.2
v2025.1.1
v2025.1.0
v2024.12.0
untagged-5a76b6392a4c8998c63a
v2024.11.7
v2024.11.6
v2024.11.5
v2024.11.4
v2024.11.3
v2024.11.2
v2024.11.1
v2024.11.0
v2024.10.2
v2024.10.1
v2024.10.0
v2024.9.0
v2024.8.1
v2024.8.0
v2024.7.3
v2024.7.2
v2024.7.1
v2024.7.0
v2024.6.1
v2024.6.0
v2024.5.1
v2024.4.1
v2024.4.2
v2024.4.0
v2024.3.3
v2024.3.1
v2024.3.0
v2024.2.1
v2024.2.0
v2024.1.1
v2024.1.0
v2023.12.0
v2023.10.0
v2023.9.2
maui-single-project-android
v2023.9.1
v2023.9.0
v2023.8.0
v2023.7.0
v2023.5.0
v2023.4.0
v2023.3.2
v2023.3.1
v2023.3.0
v2023.2.0
v2023.1.0
v2022.11.0
v2022.10.0
v2022.9.1
v2022.9.0
v2022.8.0
v2022.6.2
v2022.6.1
v2022.6.0
v2022.05.0
v2.18.0
v2.17.0
v2.16.4
v2.16.3
v2.16.2
v2.16.1
v2.15.0
v2.14.2
v2.14.1
v2.14.0
v2.13.0
v2.12.0
v2.11.3
v2.11.2
v2.11.1
v2.11.0
v2.10.0
v2.9.1
v2.9.0
v2.8.2
v2.8.1
v2.8.0
v2.7.2
v2.7.0
v2.6.1
v2.6.0
v2.5.6
v.2.5.5
v2.5.5
v2.5.4
v2.5.3
v2.5.2
v2.5.1
v2.5.0
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.1
v2.3.0
v2.2.8
v2.2.7
v2.2.6
v2.2.2
v2.2.1
v2.2.0
v2.1.2
v2.1.0
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v2.0.0
v1.22.1
v1.22.0
v1.21.0
v1.20.0
v1.19.0
v1.18.1
v1.18.0
v1.17.0
v1.16.0
v1.15.2
v1.15.1
v1.15.0
v1.14.4
v1.14.1
v1.14.0
v1.13.0
v1.12.2
v1.12.1
v1.12.0
v1.11.1
v1.11.0
v1.10.0
v1.9.0
v1.8.1
v1.8.0
v1.7.0
v1.6.5
v1.6.1
v1.6.0
v1.5.1
v1.5.0
v1.4.4
v1.4.3
v1.4.0
v1.3.0
v1.2.1
v1.2.0
v1.1.0
v1.0.0
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
No Label
pull-request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/android#51761
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/bitwarden/android/pull/2404
Author: @fedemkr
Created: 3/6/2023
Status: ✅ Merged
Merged: 3/7/2023
Merged by: @fedemkr
Base:
feature/EC-979-iOS-third-party-2fa← Head:feature/ios-third-party-2fa/EC-981-add-to-existing-cipher📝 Commits (8)
ede36d8EC-981 Started adding OTP to existing cipher. Reused AutofillCiphersPage for the cipher selection and refactored it so that we have more code reuse4a457e8Merge branch 'master' into feature/ios-third-party-2fa/EC-981-add-to-existing-cipherf9a5619Merge branch 'master' into feature/ios-third-party-2fa/EC-981-add-to-existing-ciphera59d9b2EC-981 Fix navigation on otp handlingc1db294Merge branch 'master' into feature/ios-third-party-2fa/EC-981-add-to-existing-cipher26a4797EC-981 Fix formatting74b010dMerge branch 'feature/EC-979-iOS-third-party-2fa' into feature/ios-third-party-2fa/EC-981-add-to-existing-cipher477d395EC-981 Added otp cipher selection callout and add close toolbar item when needed📊 Changes
25 files changed (+672 additions, -297 deletions)
View changed files
📝
src/Android/MainActivity.cs(+4 -4)📝
src/App/Abstractions/IAccountsManager.cs(+1 -0)📝
src/App/Abstractions/IDeepLinkContext.cs(+1 -4)📝
src/App/App.xaml.cs(+28 -11)📝
src/App/Models/AppOptions.cs(+3 -0)📝
src/App/Pages/Vault/AutofillCiphersPageViewModel.cs(+51 -169)📝
src/App/Pages/Vault/CipherAddEditPageViewModel.cs(+23 -0)📝
src/App/Pages/Vault/CipherSelectionPage.xaml(+37 -12)📝
src/App/Pages/Vault/CipherSelectionPage.xaml.cs(+49 -22)➕
src/App/Pages/Vault/CipherSelectionPageViewModel.cs(+161 -0)📝
src/App/Pages/Vault/CiphersPage.xaml.cs(+9 -5)📝
src/App/Pages/Vault/CiphersPageViewModel.cs(+51 -21)➕
src/App/Pages/Vault/OTPCipherSelectionPageViewModel.cs(+70 -0)📝
src/App/Resources/AppResources.Designer.cs(+13 -7)📝
src/App/Resources/AppResources.resx(+3 -0)📝
src/App/Services/DeepLinkContext.cs(+10 -9)📝
src/App/Utilities/AccountManagement/AccountsManager.cs(+11 -1)📝
src/App/Utilities/AppHelpers.cs(+4 -2)📝
src/App/Utilities/AppSetup.cs(+1 -1)📝
src/Core/Enums/NavigationTarget.cs(+2 -1)...and 5 more files
📄 Description
Type of change
Objective
Add the possibility to choose a cipher to set the scanned OTP handled by the Bitwarden app.
Code changes
AutofillCiphersPage -> CipherSelectionPage
Given that selecting a cipher on
Autofilland selecting it onOTP handlingis pretty much the same, theAutofillCiphersPagewas taken and renamed toCipherSelectionPageto have a common UI to share between these flows. The context changes depending on theAppOptionspassed to the page creating the appropriateViewModelfor each flow.A diagram can illustrate this better:
Other changes
AppOptionsOtpDatato get the data from the otp uriAutofillandOTPviewmodels depending on theAppOptions. Also, added logic forClose. Something to highlight, is that theAccount Switchingtoolbar item was left with the default..icon on iOS because there is an issue and it's not being updated correctly (it just shows a white backgrounded circle). So, for now I've just left it with the default one which IMO is better than the white circle.CipherSelectionPageVIewModeland removed things that are now in the abstract class. Additionally, the select flow was changed to accept anIGroupingsPageListItemto be more generic and flexible.CipherSelectionPageVIewModelclass. The suggested ciphers to show on loading are the ones which include theIssuerof the OTP if exists or theAccountNameotherwise.Prepare(...)method to have less logic on the view.CipherOptionsCommandto use the new async way. Added logic to show all ciphers if there's no search term and it comes from the OTP flow. Also, on selection it goes to the edit page of the cipher when coming from the OTP flow.OTPDatastruct.Screenshots
Cipher Selection
Cipher Search
OTP set on Cipher edition
Before you submit
dotnet format --verify-no-changes) (required)🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.