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

View file

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