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 ++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'app/src/main/java/com/zeapo/pwdstore') 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 } } -- cgit v1.2.3