[PR #6523] [MERGED] [PM-32121] Add CookieAcquisition screen and ViewModel #100025

Closed
opened 2026-05-31 04:24:03 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6523
Author: @SaintPatrck
Created: 2/12/2026
Status: Merged
Merged: 2/17/2026
Merged by: @SaintPatrck

Base: mainHead: cookie-vending/p10-t11_cookie-acquisition-screen


📝 Commits (3)

  • e9112e0 [PM-32121] Add CookieAcquisition screen and ViewModel
  • cb35527 Address review comments
  • 8afc437 Fixed a typo in the browser sync description

📊 Changes

8 files changed (+1036 additions, -0 deletions)

View changed files

app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionNavigation.kt (+38 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionScreen.kt (+238 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModel.kt (+192 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/handlers/CookieAcquisitionHandler.kt (+59 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionScreenTest.kt (+180 -0)
app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModelTest.kt (+217 -0)
ui/src/main/res/drawable/ill_sso_cookie_sync.xml (+108 -0)
📝 ui/src/main/res/values/strings.xml (+4 -0)

📄 Description

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-32121

📔 Objective

Add the Cookie Acquisition screen and ViewModel for the cookie-vending flow. This screen prompts users to sync cookies with their browser when required by their SSO configuration.

Changes:

  • CookieAcquisitionScreen — Stateless Compose screen with launch browser, continue without syncing, and help link actions
  • CookieAcquisitionViewModel — BaseViewModel with State/Action/Event pattern, handles cookie callback results from deep link, manages pending cookie acquisition request lifecycle
  • CookieAcquisitionNavigation — Type-safe navigation with @Serializable route and slide transitions
  • CookieAcquisitionHandler — Remembered handler for action dispatch
  • ill_sso_cookie_sync.xml — Vector drawable illustration for the screen
  • Full test coverage for both ViewModel and Screen

📸 Screenshots

Comp Actual (preview)

🔄 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/6523 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 2/12/2026 **Status:** ✅ Merged **Merged:** 2/17/2026 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `cookie-vending/p10-t11_cookie-acquisition-screen` --- ### 📝 Commits (3) - [`e9112e0`](https://github.com/bitwarden/android/commit/e9112e08fba61d7e75a12dc7bfa748604961c48b) [PM-32121] Add CookieAcquisition screen and ViewModel - [`cb35527`](https://github.com/bitwarden/android/commit/cb35527b6a1f8c049881b86dfb35772ec4c26c17) Address review comments - [`8afc437`](https://github.com/bitwarden/android/commit/8afc43743503925558e9bd5b8d4c04ae5f1d70f3) Fixed a typo in the browser sync description ### 📊 Changes **8 files changed** (+1036 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionNavigation.kt` (+38 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionScreen.kt` (+238 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModel.kt` (+192 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/handlers/CookieAcquisitionHandler.kt` (+59 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionScreenTest.kt` (+180 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModelTest.kt` (+217 -0) ➕ `ui/src/main/res/drawable/ill_sso_cookie_sync.xml` (+108 -0) 📝 `ui/src/main/res/values/strings.xml` (+4 -0) </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-32121 ## 📔 Objective Add the Cookie Acquisition screen and ViewModel for the cookie-vending flow. This screen prompts users to sync cookies with their browser when required by their SSO configuration. **Changes:** - `CookieAcquisitionScreen` — Stateless Compose screen with launch browser, continue without syncing, and help link actions - `CookieAcquisitionViewModel` — BaseViewModel with State/Action/Event pattern, handles cookie callback results from deep link, manages pending cookie acquisition request lifecycle - `CookieAcquisitionNavigation` — Type-safe navigation with `@Serializable` route and slide transitions - `CookieAcquisitionHandler` — Remembered handler for action dispatch - `ill_sso_cookie_sync.xml` — Vector drawable illustration for the screen - Full test coverage for both ViewModel and Screen ## 📸 Screenshots | Comp | Actual (preview) | |--------|--------| | <img width="365" src="https://github.com/user-attachments/assets/b569d797-8c5c-4770-8095-defde70a039e" /> | <img width="365" src="https://github.com/user-attachments/assets/41c07c20-910f-484c-b192-837590ef5ade" /> | --- <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 2026-05-31 04:24:03 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#100025