exclude search fields from password filter

This commit is contained in:
Kyle Spearrin 2017-11-27 11:54:31 -05:00
parent 4879d906d9
commit 186f839569
2 changed files with 11 additions and 5 deletions

View File

@ -25,6 +25,7 @@ namespace Bit.Android.Autofill
Visible = node.Visibility == ViewStates.Visible; Visible = node.Visibility == ViewStates.Visible;
Hints = FilterForSupportedHints(node.GetAutofillHints()); Hints = FilterForSupportedHints(node.GetAutofillHints());
AutofillOptions = node.GetAutofillOptions()?.ToList(); AutofillOptions = node.GetAutofillOptions()?.ToList();
Node = node;
if(node.AutofillValue != null) if(node.AutofillValue != null)
{ {
@ -76,6 +77,7 @@ namespace Bit.Android.Autofill
public long? DateValue { get; set; } public long? DateValue { get; set; }
public int? ListValue { get; set; } public int? ListValue { get; set; }
public bool? ToggleValue { get; set; } public bool? ToggleValue { get; set; }
public ViewNode Node { get; private set; }
private void UpdateSaveTypeFromHints() private void UpdateSaveTypeFromHints()
{ {

View File

@ -59,11 +59,15 @@ namespace Bit.Android.Autofill
else else
{ {
_passwordFields = Fields _passwordFields = Fields
.Where(f => .Where(f =>
f.InputType.HasFlag(InputTypes.TextVariationPassword) || !f.IdEntry.ToLowerInvariant().Contains("search") &&
f.InputType.HasFlag(InputTypes.TextVariationVisiblePassword) || (!f.Node.Hint?.ToLowerInvariant().Contains("search") ?? true) &&
f.InputType.HasFlag(InputTypes.TextVariationWebPassword)) (
.ToList(); f.InputType.HasFlag(InputTypes.TextVariationPassword) ||
f.InputType.HasFlag(InputTypes.TextVariationVisiblePassword) ||
f.InputType.HasFlag(InputTypes.TextVariationWebPassword)
)
).ToList();
if(!_passwordFields.Any()) if(!_passwordFields.Any())
{ {
_passwordFields = Fields.Where(f => f.IdEntry?.ToLower().Contains("password") ?? false).ToList(); _passwordFields = Fields.Where(f => f.IdEntry?.ToLower().Contains("password") ?? false).ToList();