From f271040ff4dc32bae94c9111bf0d64e050701138 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Fri, 30 May 2025 15:35:41 +0200 Subject: [PATCH] Improve android autofill settings open, bump version (#846) --- apps/mobile-app/android/app/build.gradle | 4 ++-- .../app/nativevaultmanager/NativeVaultManager.kt | 9 ++++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/mobile-app/android/app/build.gradle b/apps/mobile-app/android/app/build.gradle index 8c02b6a99..c2e5c8bad 100644 --- a/apps/mobile-app/android/app/build.gradle +++ b/apps/mobile-app/android/app/build.gradle @@ -93,8 +93,8 @@ android { applicationId 'net.aliasvault.app' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 1 - versionName "0.17.0" + versionCode 2 + versionName "0.18.0" } signingConfigs { debug { diff --git a/apps/mobile-app/android/app/src/main/java/net/aliasvault/app/nativevaultmanager/NativeVaultManager.kt b/apps/mobile-app/android/app/src/main/java/net/aliasvault/app/nativevaultmanager/NativeVaultManager.kt index c07d2da85..5789a73ee 100644 --- a/apps/mobile-app/android/app/src/main/java/net/aliasvault/app/nativevaultmanager/NativeVaultManager.kt +++ b/apps/mobile-app/android/app/src/main/java/net/aliasvault/app/nativevaultmanager/NativeVaultManager.kt @@ -496,8 +496,15 @@ class NativeVaultManager(reactContext: ReactApplicationContext) : @ReactMethod override fun openAutofillSettingsPage(promise: Promise) { try { + // Note: we add a 2 to the packageUri on purpose because if we don't, + // when the user has configured AliasVault as the autofill service already + // this action won't open the settings anymore, making the button in the UI + // become broken and not do anything anymore. This is not good UX so instead + // we append a "2" so Android will always open the page as it does not equal + // the actual chosen option. + val packageUri = "package:${reactApplicationContext.packageName}2".toUri() val autofillIntent = Intent(Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE).apply { - data = "package:${reactApplicationContext.packageName}".toUri() + data = packageUri addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) }