[PR #6754] [PM-33982] feat: Add device management screen #48448

Open
opened 2026-04-26 16:06:48 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6754
Author: @aj-rosado
Created: 4/1/2026
Status: 🔄 Open

Base: mainHead: PM-33982/build-device-screen


📝 Commits (10+)

  • 263de09 Add device management screen
  • 697d70f Merge branch 'main' into PM-33982/build-device-screen
  • 25bc0d1 Make DeviceSessionStatus when exhaustive
  • 9396a9f Added more tests
  • 360340b updated copy of last active messages
  • 91f3e2e Merge branch 'main' into PM-33982/build-device-screen
  • 721cd2f removed ResourceManager from UI extension methods
  • 7ef9636 Merge branch 'main' into PM-33982/build-device-screen
  • 64e2e98 Removed unnecessary api call. Refactored methods to use existing currentDeviceId.
  • 8a96228 Set state lists to immutable on ManageDeviceViewModel

📊 Changes

37 files changed (+2444 additions, -21 deletions)

View changed files

📝 app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepository.kt (+6 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryImpl.kt (+16 -0)
app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/DeviceInfo.kt (+31 -0)
app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/DevicePendingAuthRequest.kt (+17 -0)
app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/GetDevicesResult.kt (+16 -0)
app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/util/DeviceResponseJsonExtensions.kt (+26 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsNavigation.kt (+2 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityNavigation.kt (+2 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityScreen.kt (+45 -21)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityViewModel.kt (+43 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesNavigation.kt (+37 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesScreen.kt (+480 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesViewModel.kt (+472 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/util/DeviceLastActivityExtensions.kt (+32 -0)
app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/util/DeviceTypeExtensions.kt (+42 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlocked/VaultUnlockedNavigation.kt (+7 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlockednavbar/VaultUnlockedNavBarNavigation.kt (+2 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlockednavbar/VaultUnlockedNavBarScreen.kt (+4 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt (+42 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityScreenTest.kt (+51 -0)

...and 17 more files

📄 Description

🎟️ Tracking

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

📔 Objective

Add a new screen for device management on Android.
This new screen should display the current device, followed by the pending authorization requests and finally all devices with active sessions ordered by "last active date".

📸 Screenshots

Manage_devices_screen Account_security_options_screen

🔄 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/6754 **Author:** [@aj-rosado](https://github.com/aj-rosado) **Created:** 4/1/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `PM-33982/build-device-screen` --- ### 📝 Commits (10+) - [`263de09`](https://github.com/bitwarden/android/commit/263de092bd1accc98f3c7b4ee880f1a7451ce306) Add device management screen - [`697d70f`](https://github.com/bitwarden/android/commit/697d70f7f7357f973fdfa5e93e50069a26e514d4) Merge branch 'main' into PM-33982/build-device-screen - [`25bc0d1`](https://github.com/bitwarden/android/commit/25bc0d143bbbe7f6cfc253186547e71e7f8b33b6) Make DeviceSessionStatus when exhaustive - [`9396a9f`](https://github.com/bitwarden/android/commit/9396a9f68d9e2f3bd19520cc36d954c8f34d6bc6) Added more tests - [`360340b`](https://github.com/bitwarden/android/commit/360340ba878219ef12e9ff4dfbe2d65464490735) updated copy of last active messages - [`91f3e2e`](https://github.com/bitwarden/android/commit/91f3e2eca3275c27089dbcc99d70a0f44bb3b925) Merge branch 'main' into PM-33982/build-device-screen - [`721cd2f`](https://github.com/bitwarden/android/commit/721cd2f7f438374f0be81ddc318dbbe26e2fab9e) removed ResourceManager from UI extension methods - [`7ef9636`](https://github.com/bitwarden/android/commit/7ef963684e5935941109e113a4dcbcf762f4545e) Merge branch 'main' into PM-33982/build-device-screen - [`64e2e98`](https://github.com/bitwarden/android/commit/64e2e985e97813ff2ee33050e07fea630ea44ccf) Removed unnecessary api call. Refactored methods to use existing currentDeviceId. - [`8a96228`](https://github.com/bitwarden/android/commit/8a96228ac8500b220c35c885d4fdd382ae6c0d74) Set state lists to immutable on ManageDeviceViewModel ### 📊 Changes **37 files changed** (+2444 additions, -21 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepository.kt` (+6 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryImpl.kt` (+16 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/DeviceInfo.kt` (+31 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/DevicePendingAuthRequest.kt` (+17 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/model/GetDevicesResult.kt` (+16 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/data/auth/repository/util/DeviceResponseJsonExtensions.kt` (+26 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/SettingsNavigation.kt` (+2 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityNavigation.kt` (+2 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityScreen.kt` (+45 -21) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityViewModel.kt` (+43 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesNavigation.kt` (+37 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesScreen.kt` (+480 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/ManageDevicesViewModel.kt` (+472 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/util/DeviceLastActivityExtensions.kt` (+32 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/managedevices/util/DeviceTypeExtensions.kt` (+42 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlocked/VaultUnlockedNavigation.kt` (+7 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlockednavbar/VaultUnlockedNavBarNavigation.kt` (+2 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/vaultunlockednavbar/VaultUnlockedNavBarScreen.kt` (+4 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/data/auth/repository/AuthRepositoryTest.kt` (+42 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/accountsecurity/AccountSecurityScreenTest.kt` (+51 -0) _...and 17 more files_ </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-33982 ## 📔 Objective Add a new screen for device management on Android. This new screen should display the current device, followed by the pending authorization requests and finally all devices with active sessions ordered by "last active date". ## 📸 Screenshots <img width="360" alt="Manage_devices_screen" src="https://github.com/user-attachments/assets/0631f8c5-ce38-41be-8c98-6cc25cdebaaf" /> <img width="360" alt="Account_security_options_screen" src="https://github.com/user-attachments/assets/5252e1d4-ae7a-41ff-a544-339899ed24a9" /> --- <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-26 16:06:48 -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#48448