Dismiss dialog if non password field or window change (the accessibility events already needed to be handled)

This commit is contained in:
Matthew Wong
2015-07-28 09:59:28 -04:00
parent 8c266187cb
commit 690155391c

View File

@@ -43,8 +43,8 @@ public class AutofillService extends AccessibilityService {
private ArrayList<PasswordItem> items; // password choices
private AlertDialog dialog;
private static boolean unlockOK = false; // if openkeychain user interaction was successful
private static CharSequence packageName;
private static boolean ignoreActionFocus = false;
private CharSequence packageName;
private boolean ignoreActionFocus = false;
public final class Constants {
public static final String TAG = "Keychain";
@@ -68,10 +68,15 @@ public class AutofillService extends AccessibilityService {
}
if (!event.isPassword()
|| Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR2
|| (dialog != null && dialog.isShowing())
|| event.getPackageName().equals("org.sufficientlysecure.keychain")) {
if (dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
return;
}
if (!event.getSource().equals(info) && dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
if (ignoreActionFocus) {
ignoreActionFocus = false;
return;