From 2c93fd15422d03f98c39f16297518e1ff031b8ea Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Mon, 17 Jan 2022 10:05:16 +0100 Subject: [PATCH] Add option to hide the "Disable autofill for XY" prompt, closes https://github.com/PhilippC/keepass2android/issues/1843 --- src/keepass2android/Resources/values/config.xml | 2 +- src/keepass2android/Resources/xml/preferences.xml | 2 +- .../services/AutofillBase/AutofillServiceBase.cs | 4 +++- src/keepass2android/settings/DatabaseSettingsActivity.cs | 3 +++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/keepass2android/Resources/values/config.xml b/src/keepass2android/Resources/values/config.xml index adfb6264..071e9645 100644 --- a/src/keepass2android/Resources/values/config.xml +++ b/src/keepass2android/Resources/values/config.xml @@ -67,7 +67,7 @@ keyfile maskpass masktotp - NoAutofillDisabling + NoAutofillDisabling omitbackup list_size design_key diff --git a/src/keepass2android/Resources/xml/preferences.xml b/src/keepass2android/Resources/xml/preferences.xml index 7490235f..c159d477 100644 --- a/src/keepass2android/Resources/xml/preferences.xml +++ b/src/keepass2android/Resources/xml/preferences.xml @@ -458,7 +458,7 @@ android:enabled="true" android:persistent="true" android:summary="@string/NoAutofillDisabling_summary" - android:defaultValue="true" + android:defaultValue="false" android:title="@string/NoAutofillDisabling_title" android:key="@string/NoAutofillDisabling_key" /> diff --git a/src/keepass2android/services/AutofillBase/AutofillServiceBase.cs b/src/keepass2android/services/AutofillBase/AutofillServiceBase.cs index a8f78a2b..cd0af999 100644 --- a/src/keepass2android/services/AutofillBase/AutofillServiceBase.cs +++ b/src/keepass2android/services/AutofillBase/AutofillServiceBase.cs @@ -203,7 +203,9 @@ namespace keepass2android.services.AutofillBase AutofillHelper.ExtractSpec(inlinePresentationSpecs, entryDatasets.Count)); } - AddDisableDataset(query.DomainOrPackage, autofillIds, responseBuilder, isManual, AutofillHelper.ExtractSpec(inlinePresentationSpecs, entryDatasets.Count)); + if (!PreferenceManager.GetDefaultSharedPreferences(this) + .GetBoolean(GetString(Resource.String.NoAutofillDisabling_key), false)) + AddDisableDataset(query.DomainOrPackage, autofillIds, responseBuilder, isManual, AutofillHelper.ExtractSpec(inlinePresentationSpecs, entryDatasets.Count)); if (PreferenceManager.GetDefaultSharedPreferences(this) .GetBoolean(GetString(Resource.String.OfferSaveCredentials_key), true)) diff --git a/src/keepass2android/settings/DatabaseSettingsActivity.cs b/src/keepass2android/settings/DatabaseSettingsActivity.cs index 3f1f9392..d857824a 100644 --- a/src/keepass2android/settings/DatabaseSettingsActivity.cs +++ b/src/keepass2android/settings/DatabaseSettingsActivity.cs @@ -364,6 +364,7 @@ namespace keepass2android var autofillDisabledPref = FindPreference(GetString(Resource.String.AutofillDisabledQueriesPreference_key)); var autofillSavePref = FindPreference(GetString(Resource.String.OfferSaveCredentials_key)); var autofillInlineSuggestions = FindPreference(GetString(Resource.String.InlineSuggestions_key)); + var noAutofillDisablingPref = FindPreference(GetString(Resource.String.NoAutofillDisabling_key)); var autofillNoDalVerification = FindPreference(GetString(Resource.String.NoDalVerification_key)); if (autofillPref == null) return; @@ -384,6 +385,7 @@ namespace keepass2android autofillSavePref.Enabled = true; autofillNoDalVerification.Enabled = true; autofillInlineSuggestions.Enabled = true; + noAutofillDisablingPref.Enabled = true; autofillPref.Summary = Activity.GetString(Resource.String.plugin_enabled); autofillPref.Intent = new Intent(Intent.ActionView); autofillPref.Intent.SetData(Android.Net.Uri.Parse("https://philippc.github.io/keepass2android/OreoAutoFill.html")); @@ -393,6 +395,7 @@ namespace keepass2android autofillNoDalVerification.Enabled = false; autofillDisabledPref.Enabled = false; autofillSavePref.Enabled = false; + noAutofillDisablingPref.Enabled = false; autofillInlineSuggestions.Enabled = false; autofillPref.Summary = Activity.GetString(Resource.String.not_enabled); }