From 304a9d90d032af0696f0033beeece5226d23fa3d Mon Sep 17 00:00:00 2001 From: Philipp Crocoll Date: Mon, 17 Sep 2018 10:31:21 +0200 Subject: [PATCH] allow to open Autofill settings also if service is enabled --- .../settings/DatabaseSettingsActivity.cs | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/keepass2android/settings/DatabaseSettingsActivity.cs b/src/keepass2android/settings/DatabaseSettingsActivity.cs index 45646f8b..4f5d93cc 100644 --- a/src/keepass2android/settings/DatabaseSettingsActivity.cs +++ b/src/keepass2android/settings/DatabaseSettingsActivity.cs @@ -385,7 +385,16 @@ namespace keepass2android { var intent = new Intent(Settings.ActionRequestSetAutofillService); - intent.SetData(Android.Net.Uri.Parse("package:" + Context.PackageName)); + if (((AutofillManager) Activity.GetSystemService(Java.Lang.Class.FromType(typeof(AutofillManager)))) + .HasEnabledAutofillServices) + { + intent.SetData(Android.Net.Uri.Parse("package:" + Context.PackageName + "notexisting")); //if we use our package name, the activity won't launch + } + else + { + intent.SetData(Android.Net.Uri.Parse("package:" + Context.PackageName)); + } + try { Context.StartActivity(intent); @@ -401,6 +410,10 @@ namespace keepass2android .Show(); } + catch (Exception e) + { + Kp2aLog.LogUnexpectedError(e); + } }; } @@ -527,11 +540,6 @@ namespace keepass2android else { autofillPref.Summary = Activity.GetString(Resource.String.not_enabled); - - - - - } }