[PR #6586] [MERGED] BWA-235: Update Authenticator to use state-based navigation for top-level navigation #37198

Closed
opened 2026-04-21 04:16:20 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6586
Author: @david-livefront
Created: 2/25/2026
Status: Merged
Merged: 2/26/2026
Merged by: @david-livefront

Base: mainHead: BWA-235-state-based-navigation


📝 Commits (1)

  • 3e87515 BWA-235: Update Authenticator to use state-based navigation for top-level navigation

📊 Changes

21 files changed (+325 additions, -435 deletions)

View changed files

📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepository.kt (+6 -0)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepositoryImpl.kt (+19 -11)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/di/AuthRepositoryModule.kt (+3 -0)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/di/PlatformManagerModule.kt (+12 -0)
authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManager.kt (+19 -0)
authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManagerImpl.kt (+61 -0)
authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/model/AppLockState.kt (+9 -0)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockNavigation.kt (+2 -4)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt (+0 -2)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockViewModel.kt (+1 -6)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavScreen.kt (+2 -10)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavViewModel.kt (+37 -91)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialNavigation.kt (+4 -2)
📝 authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt (+14 -10)
📝 authenticator/src/test/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepositoryTest.kt (+35 -0)
authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManagerTest.kt (+49 -0)
📝 authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreenTest.kt (+0 -11)
📝 authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockViewModelTest.kt (+12 -3)
📝 authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/tutorial/TutorialViewModelTest.kt (+19 -1)
📝 authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavScreenTest.kt (+0 -1)

...and 1 more files

📄 Description

🎟️ Tracking

BWA-235

📔 Objective

This PR updates the Authenticator to use state-based navigation in the RootNavViewModel. This will make it much easier to add app lock timeouts in a future PR.


🔄 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/6586 **Author:** [@david-livefront](https://github.com/david-livefront) **Created:** 2/25/2026 **Status:** ✅ Merged **Merged:** 2/26/2026 **Merged by:** [@david-livefront](https://github.com/david-livefront) **Base:** `main` ← **Head:** `BWA-235-state-based-navigation` --- ### 📝 Commits (1) - [`3e87515`](https://github.com/bitwarden/android/commit/3e875159491fab144749f1c6a4e350d05aa21592) BWA-235: Update Authenticator to use state-based navigation for top-level navigation ### 📊 Changes **21 files changed** (+325 additions, -435 deletions) <details> <summary>View changed files</summary> 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepository.kt` (+6 -0) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepositoryImpl.kt` (+19 -11) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/auth/repository/di/AuthRepositoryModule.kt` (+3 -0) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/di/PlatformManagerModule.kt` (+12 -0) ➕ `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManager.kt` (+19 -0) ➕ `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManagerImpl.kt` (+61 -0) ➕ `authenticator/src/main/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/model/AppLockState.kt` (+9 -0) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockNavigation.kt` (+2 -4) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreen.kt` (+0 -2) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockViewModel.kt` (+1 -6) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavScreen.kt` (+2 -10) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavViewModel.kt` (+37 -91) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialNavigation.kt` (+4 -2) 📝 `authenticator/src/main/kotlin/com/bitwarden/authenticator/ui/platform/feature/tutorial/TutorialViewModel.kt` (+14 -10) 📝 `authenticator/src/test/kotlin/com/bitwarden/authenticator/data/auth/repository/AuthRepositoryTest.kt` (+35 -0) ➕ `authenticator/src/test/kotlin/com/bitwarden/authenticator/data/platform/manager/lock/AppLockManagerTest.kt` (+49 -0) 📝 `authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockScreenTest.kt` (+0 -11) 📝 `authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/auth/unlock/UnlockViewModelTest.kt` (+12 -3) 📝 `authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/authenticator/feature/tutorial/TutorialViewModelTest.kt` (+19 -1) 📝 `authenticator/src/test/kotlin/com/bitwarden/authenticator/ui/platform/feature/rootnav/RootNavScreenTest.kt` (+0 -1) _...and 1 more files_ </details> ### 📄 Description ## 🎟️ Tracking [BWA-235](https://bitwarden.atlassian.net/browse/BWA-235) ## 📔 Objective This PR updates the `Authenticator` to use state-based navigation in the `RootNavViewModel`. This will make it much easier to add app lock timeouts in a future PR. [BWA-235]: https://bitwarden.atlassian.net/browse/BWA-235?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 2026-04-21 04:16:20 -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#37198