[PR #3878] [MERGED] PM-11464 Add onboarding status to user Account to allow for root navigation to onboarding flow. #4489

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

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/3878
Author: @dseverns-livefront
Created: 9/6/2024
Status: Merged
Merged: 9/16/2024
Merged by: @dseverns-livefront

Base: mainHead: PM-11464/onboarding-status


📝 Commits (2)

  • 00de217 PM-11464 add onboarding status attribute to account data to determine root nav for onboarding flow
  • 270ef89 fb

📊 Changes

50 files changed (+1074 additions, -81 deletions)

View changed files

📝 app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSource.kt (+17 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSourceImpl.kt (+30 -0)
app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/model/OnboardingStatus.kt (+35 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/AuthRepository.kt (+6 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryImpl.kt (+23 -2)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt (+2 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/AuthDiskSourceExtensions.kt (+21 -0)
📝 app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt (+5 -0)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutoFillNavigation.kt (+6 -7)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutoFillViewModel.kt (+3 -6)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt (+0 -2)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockNavigation.kt (+6 -7)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt (+0 -2)
📝 app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockViewModel.kt (+7 -6)
📝 app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreen.kt (+19 -0)
📝 app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt (+24 -0)
📝 app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt (+2 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSourceTest.kt (+49 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/disk/util/FakeAuthDiskSource.kt (+24 -0)
📝 app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt (+205 -1)

...and 30 more files

📄 Description

🎟️ Tracking

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

📔 Objective

  • After a user has created an account or logged in to an existing account for the first time on the device (assuming uncleared storage) if the OnboardingFlow feature flag is on, set an onboarding status for the user
  • Observe the user's state, if they have an Onboarding status that needs to be completed set the root nav state to reflect that
  • Add navigation graph for onboarding flow

📸 Screenshots

Control (onboarding off)

https://github.com/user-attachments/assets/a0a16347-0813-4276-b42e-7a16e7856476

onboarding on when account created

https://github.com/user-attachments/assets/d6ff6eb4-b819-4732-8348-2ce196044e3f

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation 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/3878 **Author:** [@dseverns-livefront](https://github.com/dseverns-livefront) **Created:** 9/6/2024 **Status:** ✅ Merged **Merged:** 9/16/2024 **Merged by:** [@dseverns-livefront](https://github.com/dseverns-livefront) **Base:** `main` ← **Head:** `PM-11464/onboarding-status` --- ### 📝 Commits (2) - [`00de217`](https://github.com/bitwarden/android/commit/00de217a440511e110bd7ae61c3414d0b26ec04f) PM-11464 add onboarding status attribute to account data to determine root nav for onboarding flow - [`270ef89`](https://github.com/bitwarden/android/commit/270ef897d3b5695ba07484e086e2a16153b3a038) fb ### 📊 Changes **50 files changed** (+1074 additions, -81 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSource.kt` (+17 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSourceImpl.kt` (+30 -0) ➕ `app/src/main/java/com/x8bit/bitwarden/data/auth/datasource/disk/model/OnboardingStatus.kt` (+35 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/AuthRepository.kt` (+6 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryImpl.kt` (+23 -2) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/model/UserState.kt` (+2 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/AuthDiskSourceExtensions.kt` (+21 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/data/auth/repository/util/UserStateJsonExtensions.kt` (+5 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutoFillNavigation.kt` (+6 -7) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutoFillViewModel.kt` (+3 -6) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupAutofillScreen.kt` (+0 -2) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockNavigation.kt` (+6 -7) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockScreen.kt` (+0 -2) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/accountsetup/SetupUnlockViewModel.kt` (+7 -6) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavScreen.kt` (+19 -0) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/platform/feature/rootnav/RootNavViewModel.kt` (+24 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt` (+2 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/disk/AuthDiskSourceTest.kt` (+49 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/datasource/disk/util/FakeAuthDiskSource.kt` (+24 -0) 📝 `app/src/test/java/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt` (+205 -1) _...and 30 more files_ </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-11464 <!-- Paste the link to the Jira or GitHub issue or otherwise describe / point to where this change is coming from. --> ## 📔 Objective - After a user has created an account or logged in to an existing account for the first time on the device (assuming uncleared storage) if the `OnboardingFlow` feature flag is on, set an onboarding status for the user - Observe the user's state, if they have an Onboarding status that needs to be completed set the root nav state to reflect that - Add navigation graph for onboarding flow <!-- Describe what the purpose of this PR is, for example what bug you're fixing or new feature you're adding. --> ## 📸 Screenshots *Control (onboarding off)* https://github.com/user-attachments/assets/a0a16347-0813-4276-b42e-7a16e7856476 *onboarding on when account created* https://github.com/user-attachments/assets/d6ff6eb4-b819-4732-8348-2ce196044e3f <!-- Required for any UI changes; delete if not applicable. Use fixed width images for better display. --> ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation 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 --- <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:45:15 -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#4489