From 3523a0497b3268485ffcf7107480d473cc930223 Mon Sep 17 00:00:00 2001 From: Matthew Wong Date: Sun, 9 Aug 2015 22:46:08 -0400 Subject: [PATCH] Fix recursive filter; don't act twice on focus+click event --- .../com/zeapo/pwdstore/autofill/AutofillService.java | 9 +++++++-- app/src/main/res/xml/autofill_config.xml | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java index 4731f1d4..ebe12c9c 100644 --- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java +++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java @@ -83,8 +83,13 @@ public class AutofillService extends AccessibilityService { return; } - // if past this point, a new dialog will be created, so dismiss the existing if (dialog != null && dialog.isShowing()) { + // if the view was clicked, the click event follows the focus event + // since the focus event was already handled, ignore click event + if (event.getEventType() == AccessibilityEvent.TYPE_VIEW_CLICKED) { + return; + } + // if past this point, a new dialog will be created, so dismiss the existing dialog.dismiss(); } @@ -145,7 +150,7 @@ public class AutofillService extends AccessibilityService { PasswordRepository.getPasswords(dir); for (PasswordItem item : passwordItems) { if (item.getType() == PasswordItem.TYPE_CATEGORY) { - recursiveFilter(filter, item.getFile()); + items.addAll(recursiveFilter(filter, item.getFile())); } if (item.toString().toLowerCase().contains(filter.toLowerCase())) { items.add(item); diff --git a/app/src/main/res/xml/autofill_config.xml b/app/src/main/res/xml/autofill_config.xml index 36ef5aaa..adf418e6 100644 --- a/app/src/main/res/xml/autofill_config.xml +++ b/app/src/main/res/xml/autofill_config.xml @@ -1,6 +1,6 @@