add preference to control if autofill view details are written to log

This commit is contained in:
Philipp Crocoll
2023-03-06 10:26:33 +01:00
parent ed79df0c6d
commit 7de28c5aba
4 changed files with 17 additions and 2 deletions

View File

@@ -54,6 +54,7 @@
<string name="AlwaysMergeOnConflict_key">AlwaysMergeOnConflict</string>
<string name="NoDalVerification_key">NoDalVerification_key</string>
<string name="InlineSuggestions_key">InlineSuggestions_key</string>
<string name="LogAutofillView_key">LogAutofillView_key</string>
<string name="algorithm_key">algorithm</string>
<string name="app_key">app</string>
<string name="app_timeout_key">app_timeout_key</string>

View File

@@ -332,6 +332,9 @@
<string name="InlineSuggestions_title">Integrate with keyboard</string>
<string name="InlineSuggestions_summary">Shows the autofill suggestions as inline options in the keyboard (if supported by the input method)</string>
<string name="LogAutofillView_title">Log autofill view</string>
<string name="LogAutofillView_summary">Write details about the autofill view to debug log (if debug logging is enabled). These details can be sent to the developer if autofill does not work as expected.</string>
<string name="requires_android11">Requires Android 11 or later</string>
<string name="kp2a_findUrl">Find password</string>

View File

@@ -454,6 +454,15 @@
android:title="@string/InlineSuggestions_title"
android:key="@string/InlineSuggestions_key" />
<CheckBoxPreference
android:enabled="true"
android:persistent="true"
android:summary="@string/LogAutofillView_summary"
android:defaultValue="false"
android:title="@string/LogAutofillView_title"
android:key="@string/LogAutofillView_key" />
<CheckBoxPreference
android:enabled="true"
android:persistent="true"

View File

@@ -3,6 +3,7 @@ using System.Linq;
using Android.App.Assist;
using Android.Content;
using Android.Preferences;
using Android.Views.Autofill;
using DomainNameParser;
using Kp2aAutofillParser;
@@ -23,8 +24,8 @@ namespace keepass2android.services.AutofillBase
InputType = (Kp2aAutofillParser.InputTypes) ((int)viewNode.InputType);
HtmlInfoTag = viewNode.HtmlInfo?.Tag;
HtmlInfoTypeAttribute = viewNode.HtmlInfo?.Attributes?.FirstOrDefault(p => p.First?.ToString() == "type")?.Second?.ToString();
}
[JsonIgnore]
public AssistStructure.ViewNode ViewNode { get; set; }
@@ -152,7 +153,8 @@ namespace keepass2android.services.AutofillBase
_context = context;
_structure = structure;
AutofillFields = new AutofillFieldMetadataCollection();
LogAutofillView = PreferenceManager.GetDefaultSharedPreferences(context).GetBoolean(context.GetString(Resource.String.LogAutofillView_key), false);
}
protected override AutofillTargetId Parse(bool forFill, bool isManualRequest, AutofillView<ViewNodeInputField> autofillView)