[PR #4919] [MERGED] Update androidx.credentials #5313

Closed
opened 2025-11-26 23:57:45 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/4919
Author: @SaintPatrck
Created: 3/26/2025
Status: Merged
Merged: 4/9/2025
Merged by: @SaintPatrck

Base: mainHead: passkeys/androidx-creds-update


📝 Commits (1)

  • e78a5e1 Update androidx.credentials

📊 Changes

50 files changed (+2210 additions, -2106 deletions)

View changed files

📝 app/src/main/java/com/x8bit/bitwarden/MainViewModel.kt (+15 -10)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/di/Fido2ProviderModule.kt (+0 -2)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManager.kt (+38 -4)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerImpl.kt (+154 -128)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CreateCredentialRequest.kt (+50 -15)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CredentialAssertionRequest.kt (+35 -23)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CredentialAssertionResult.kt (+31 -3)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2GetCredentialsRequest.kt (+45 -17)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2RegisterCredentialResult.kt (+16 -7)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2ValidateOriginResult.kt (+7 -34)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/util/Fido2IntentUtils.kt (+7 -44)
app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/util/ProviderCreateCredentialRequestExtensions.kt (+12 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/platform/util/CallingAppInfoExtensions.kt (+0 -13)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockScreen.kt (+5 -5)
📝 app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManager.kt (+6 -6)
📝 app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManagerImpl.kt (+30 -17)
📝 app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManagerUnsupportedApiImpl.kt (+6 -6)
app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/AssertFido2CredentialResult.kt (+23 -0)
app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/GetFido2CredentialsResult.kt (+28 -0)
app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/RegisterFido2CredentialResult.kt (+23 -0)

...and 30 more files

📄 Description

🎟️ Tracking

PM-19852

📔 Objective

Update androidx.credentials to 1.5.0

Significant refactoring is required to accommodate the reduced visibility of origin in the FIDO2 requests. In order to pass FIDO2 request data around, toBundle and fromBundle functions, introduced in 1.5.0, are leveraged.

Created custom FIDO2 models in the ui layer to distinguish from the FIDO2 models used in the data layer.

Extracted FIDO2 error message mapping to extension functions in the ui layer.

Separate origin validation from Fido2CredentialManager. Origin validation is now performed by the corresponding ViewModels prior to invoking Fido2CredentialManager.

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/4919 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 3/26/2025 **Status:** ✅ Merged **Merged:** 4/9/2025 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `passkeys/androidx-creds-update` --- ### 📝 Commits (1) - [`e78a5e1`](https://github.com/bitwarden/android/commit/e78a5e1ca8dfe3f5d883497b632e0437961a3b3d) Update androidx.credentials ### 📊 Changes **50 files changed** (+2210 additions, -2106 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/java/com/x8bit/bitwarden/MainViewModel.kt` (+15 -10) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/di/Fido2ProviderModule.kt` (+0 -2) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManager.kt` (+38 -4) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerImpl.kt` (+154 -128) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CreateCredentialRequest.kt` (+50 -15) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CredentialAssertionRequest.kt` (+35 -23) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2CredentialAssertionResult.kt` (+31 -3) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2GetCredentialsRequest.kt` (+45 -17) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2RegisterCredentialResult.kt` (+16 -7) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/model/Fido2ValidateOriginResult.kt` (+7 -34) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/util/Fido2IntentUtils.kt` (+7 -44) ➕ `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/util/ProviderCreateCredentialRequestExtensions.kt` (+12 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/platform/util/CallingAppInfoExtensions.kt` (+0 -13) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/vaultunlock/VaultUnlockScreen.kt` (+5 -5) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManager.kt` (+6 -6) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManagerImpl.kt` (+30 -17) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/Fido2CompletionManagerUnsupportedApiImpl.kt` (+6 -6) ➕ `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/AssertFido2CredentialResult.kt` (+23 -0) ➕ `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/GetFido2CredentialsResult.kt` (+28 -0) ➕ `app/src/main/java/com/x8bit/bitwarden/ui/autofill/fido2/manager/model/RegisterFido2CredentialResult.kt` (+23 -0) _...and 30 more files_ </details> ### 📄 Description ## 🎟️ Tracking [PM-19852](https://bitwarden.atlassian.net/browse/PM-19852) ## 📔 Objective Update `androidx.credentials` to 1.5.0 Significant refactoring is required to accommodate the reduced visibility of `origin` in the FIDO2 requests. In order to pass FIDO2 request data around, `toBundle` and `fromBundle` functions, introduced in 1.5.0, are leveraged. Created custom FIDO2 models in the `ui` layer to distinguish from the FIDO2 models used in the `data` layer. Extracted FIDO2 error message mapping to extension functions in the `ui` layer. Separate origin validation from `Fido2CredentialManager`. Origin validation is now performed by the corresponding ViewModels prior to invoking `Fido2CredentialManager`. ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Protected functional changes with optionality (feature flags) - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team ## 🦮 Reviewer guidelines <!-- Suggested interactions but feel free to use (or not) as you desire! --> - 👍 (`:+1:`) or similar for great changes - 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info - ❓ (`:question:`) for questions - 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion - 🎨 (`:art:`) for suggestions / improvements - ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention - 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt - ⛏ (`:pick:`) for minor or nitpick changes [PM-19852]: https://bitwarden.atlassian.net/browse/PM-19852?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-26 23:57:45 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#5313