[PR #6678] [MERGED] [PM-33365] feat: Add GmsManager to gate CXP features on GMS Core version #86616

Closed
opened 2026-05-23 00:31:06 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/6678
Author: @SaintPatrck
Created: 3/16/2026
Status: Merged
Merged: 3/17/2026
Merged by: @SaintPatrck

Base: mainHead: cx/gms-core-version-check


📝 Commits (2)

  • 300462e [PM-33365] feat: Add GmsManager to gate CXP features on GMS Core version
  • 2b958c3 Remove unneeded max line length suppressions

📊 Changes

9 files changed (+215 additions, -4 deletions)

View changed files

app/src/fdroid/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerImpl.kt (+14 -0)
app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManager.kt (+18 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt (+8 -0)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/vault/VaultSettingsViewModel.kt (+9 -3)
📝 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt (+6 -1)
app/src/standard/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerImpl.kt (+15 -0)
app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerTest.kt (+57 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/vault/VaultSettingsViewModelTest.kt (+41 -0)
📝 app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt (+47 -0)

📄 Description

🎟️ Tracking

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

📔 Objective

Add a GmsManager to check the installed Google Mobile Services (GMS) Core version and gate Credential Exchange Protocol (CXP) features behind a minimum version requirement (261031035).

Changes:

  • New GmsManager interface with isVersionAtLeast(version: Int) method
  • Standard flavor implementation using GoogleApiAvailabilityLight to query the installed GMS Core APK version
  • F-Droid flavor implementation that always returns false (no GMS available)
  • Hilt module binding in PlatformManagerModule
  • VaultSettingsViewModel — gates import items chevron visibility and CXP import navigation on GMS version
  • VaultViewModel — gates CXP export registry registration on GMS version
  • Unit tests for GmsManagerImpl, VaultSettingsViewModel, and VaultViewModel covering the new GMS version checks

🔄 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/6678 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 3/16/2026 **Status:** ✅ Merged **Merged:** 3/17/2026 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `cx/gms-core-version-check` --- ### 📝 Commits (2) - [`300462e`](https://github.com/bitwarden/android/commit/300462e52d029b0b0752be300ab3c7b259262cf1) [PM-33365] feat: Add GmsManager to gate CXP features on GMS Core version - [`2b958c3`](https://github.com/bitwarden/android/commit/2b958c31b22acd97d263c0aa601c4230bdfd7119) Remove unneeded max line length suppressions ### 📊 Changes **9 files changed** (+215 additions, -4 deletions) <details> <summary>View changed files</summary> ➕ `app/src/fdroid/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerImpl.kt` (+14 -0) ➕ `app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManager.kt` (+18 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/data/platform/manager/di/PlatformManagerModule.kt` (+8 -0) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/vault/VaultSettingsViewModel.kt` (+9 -3) 📝 `app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModel.kt` (+6 -1) ➕ `app/src/standard/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerImpl.kt` (+15 -0) ➕ `app/src/test/kotlin/com/x8bit/bitwarden/data/platform/manager/GmsManagerTest.kt` (+57 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/settings/vault/VaultSettingsViewModelTest.kt` (+41 -0) 📝 `app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt` (+47 -0) </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-33365 ## 📔 Objective Add a `GmsManager` to check the installed Google Mobile Services (GMS) Core version and gate Credential Exchange Protocol (CXP) features behind a minimum version requirement (`261031035`). **Changes:** - New `GmsManager` interface with `isVersionAtLeast(version: Int)` method - Standard flavor implementation using `GoogleApiAvailabilityLight` to query the installed GMS Core APK version - F-Droid flavor implementation that always returns `false` (no GMS available) - Hilt module binding in `PlatformManagerModule` - `VaultSettingsViewModel` — gates import items chevron visibility and CXP import navigation on GMS version - `VaultViewModel` — gates CXP export registry registration on GMS version - Unit tests for `GmsManagerImpl`, `VaultSettingsViewModel`, and `VaultViewModel` covering the new GMS version checks --- <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-23 00:31:06 -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#86616