From ec8bcae8fafa638e9e2e76ee041fa2db5bd292e6 Mon Sep 17 00:00:00 2001 From: Fabian Henneke Date: Tue, 14 Apr 2020 11:43:57 +0200 Subject: Improve Autofill enable UI and flaky browser list (#704) --- app/src/main/java/com/zeapo/pwdstore/UserPreference.kt | 5 +++-- .../pwdstore/autofill/oreo/FeatureAndTrustDetection.kt | 15 ++++++++++----- app/src/main/res/layout/oreo_autofill_instructions.xml | 9 ++++++--- app/src/main/res/values-ru/strings.xml | 4 ++-- app/src/main/res/values/strings.xml | 10 +++++++--- 5 files changed, 28 insertions(+), 15 deletions(-) (limited to 'app/src') diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt index 06ee24e5..30c98396 100644 --- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt +++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt @@ -398,8 +398,9 @@ class UserPreference : AppCompatActivity() { val supportDescription = when (it.second) { BrowserAutofillSupportLevel.None -> getString(R.string.oreo_autofill_no_support) BrowserAutofillSupportLevel.FlakyFill -> getString(R.string.oreo_autofill_flaky_fill_support) - BrowserAutofillSupportLevel.Fill -> getString(R.string.oreo_autofill_fill_support) - BrowserAutofillSupportLevel.FillAndSave -> getString(R.string.oreo_autofill_fill_and_save_support) + BrowserAutofillSupportLevel.PasswordFill -> getString(R.string.oreo_autofill_password_fill_support) + BrowserAutofillSupportLevel.GeneralFill -> getString(R.string.oreo_autofill_general_fill_support) + BrowserAutofillSupportLevel.GeneralFillAndSave -> getString(R.string.oreo_autofill_general_fill_and_save_support) } "$appLabel: $supportDescription" } diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/oreo/FeatureAndTrustDetection.kt b/app/src/main/java/com/zeapo/pwdstore/autofill/oreo/FeatureAndTrustDetection.kt index c268e755..be6263de 100644 --- a/app/src/main/java/com/zeapo/pwdstore/autofill/oreo/FeatureAndTrustDetection.kt +++ b/app/src/main/java/com/zeapo/pwdstore/autofill/oreo/FeatureAndTrustDetection.kt @@ -157,14 +157,18 @@ fun getBrowserAutofillSupportInfoIfTrusted( } private val FLAKY_BROWSERS = listOf( - "com.android.chrome" + "com.android.chrome", + "com.chrome.beta", + "com.chrome.canary", + "com.chrome.dev" ) enum class BrowserAutofillSupportLevel { None, FlakyFill, - Fill, - FillAndSave + PasswordFill, + GeneralFill, + GeneralFillAndSave } @RequiresApi(Build.VERSION_CODES.O) @@ -175,9 +179,10 @@ private fun getBrowserAutofillSupportLevel( val browserInfo = getBrowserAutofillSupportInfoIfTrusted(context, appPackage) return when { browserInfo == null -> BrowserAutofillSupportLevel.None - browserInfo.saveFlags != null -> BrowserAutofillSupportLevel.FillAndSave appPackage in FLAKY_BROWSERS -> BrowserAutofillSupportLevel.FlakyFill - else -> BrowserAutofillSupportLevel.Fill + browserInfo.multiOriginMethod == BrowserMultiOriginMethod.None -> BrowserAutofillSupportLevel.PasswordFill + browserInfo.saveFlags == null -> BrowserAutofillSupportLevel.GeneralFill + else -> BrowserAutofillSupportLevel.GeneralFillAndSave } } diff --git a/app/src/main/res/layout/oreo_autofill_instructions.xml b/app/src/main/res/layout/oreo_autofill_instructions.xml index 376a4363..e9bb7e55 100644 --- a/app/src/main/res/layout/oreo_autofill_instructions.xml +++ b/app/src/main/res/layout/oreo_autofill_instructions.xml @@ -16,19 +16,22 @@ Предупреждение Нажмите для получения подробностей... Возможная попытка фишинга - Заполнить и сохранить учетные данные - Заполнить учетные данные + Заполнить и сохранить учетные данные + Заполнить учетные данные Заполнить учетные данные (время от времени может требоваться перезапуск браузера) Не поддерживается Организация файла паролей diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8637235b..7f22dc87 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -271,11 +271,15 @@ Warning Tap for details… Possible phishing attempt - Fill and save credentials - Fill credentials - Fill credentials (may require restarting the browser from time to time) + Fill and save credentials + Fill credentials + Fill passwords + Fill passwords (may require restarting the browser from time to time) No support Password file organization + Password Store can offer to fill login forms and even save credentials you enter in apps or on websites. + To enable this feature, tap OK to go to Autofill settings. There, select Password Store from the list and confirm the confirmation prompt with OK. + Autofill support with installed browsers: Autofills password fields in apps. Only works for Android versions 4.3 and up. Does not rely on the clipboard for Android versions 5.0 and up. -- cgit v1.2.3