[PM-32121] Add CookieAcquisition screen and ViewModel#6523
Open
SaintPatrck wants to merge 2 commits intomainfrom
Open
[PM-32121] Add CookieAcquisition screen and ViewModel#6523SaintPatrck wants to merge 2 commits intomainfrom
SaintPatrck wants to merge 2 commits intomainfrom
Conversation
Contributor
|
Great job! No new security vulnerabilities introduced in this pull request |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #6523 +/- ##
==========================================
- Coverage 86.38% 86.37% -0.01%
==========================================
Files 777 792 +15
Lines 56175 56599 +424
Branches 8170 8191 +21
==========================================
+ Hits 48527 48889 +362
- Misses 4804 4857 +53
- Partials 2844 2853 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
e930fe1 to
2bf6340
Compare
SaintPatrck
commented
Feb 12, 2026
| import javax.inject.Inject | ||
|
|
||
| private const val KEY_STATE = "state" | ||
| private const val HELP_URL = "https://bitwarden.com/help" |
Contributor
Author
There was a problem hiding this comment.
🗒️ Temporary URL will be replaced with actual documentation URL when it is available.
87f68fc to
64c0931
Compare
Implement the cookie acquisition UI for browser-to-app cookie synchronization. This screen is presented when the SDK requests cookies for a hostname, allowing the user to launch a browser to complete sign-in and sync cookies back to the app. - Add CookieAcquisitionViewModel with SAE pattern, subscribing to cookieCallbackResultFlow for acquisition results - Add CookieAcquisitionScreen with illustration, launch browser button, continue without syncing option, and help link - Add CookieAcquisitionNavigation with type-safe route - Add CookieAcquisitionHandler for extracted action callbacks - Add named path attributes to ill_sso_cookie_sync.xml for theme-aware coloring - Add string resources for screen text - Add ViewModel and Screen unit tests (18 tests) Co-Authored-By: Claude <noreply@anthropic.com>
64c0931 to
e9112e0
Compare
.../com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModelTest.kt
Outdated
Show resolved
Hide resolved
.../com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionViewModelTest.kt
Outdated
Show resolved
Hide resolved
.../kotlin/com/x8bit/bitwarden/ui/platform/feature/cookieacquisition/CookieAcquisitionScreen.kt
Outdated
Show resolved
Hide resolved
| contentWindowInsets = ScaffoldDefaults | ||
| .contentWindowInsets | ||
| .union(WindowInsets.displayCutout) | ||
| .only(WindowInsetsSides.Horizontal + WindowInsetsSides.Top), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

🎟️ 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 actionsCookieAcquisitionViewModel— BaseViewModel with State/Action/Event pattern, handles cookie callback results from deep link, manages pending cookie acquisition request lifecycleCookieAcquisitionNavigation— Type-safe navigation with@Serializableroute and slide transitionsCookieAcquisitionHandler— Remembered handler for action dispatchill_sso_cookie_sync.xml— Vector drawable illustration for the screen📸 Screenshots