aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wong <wongma7@outlook.com>2015-10-18 23:24:42 -0400
committerMatthew Wong <wongma7@outlook.com>2015-10-18 23:24:42 -0400
commit81abb7954d1bf8d1b6d4d3cbe76407d9b0351592 (patch)
tree3fb2c56c7ea71cbae4c7e0a587b5ecd8bc2387df
parent6abcebef184a58bef28c1584740e33b250486f85 (diff)
If system alert dialog permission denied, autofill service will do nothing instead of crash #138
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java10
1 files changed, 9 insertions, 1 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 8a4a80bf..877a09da 100644
--- a/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java
+++ b/app/src/main/java/com/zeapo/pwdstore/autofill/AutofillService.java
@@ -1,5 +1,6 @@
package com.zeapo.pwdstore.autofill;
+import android.Manifest;
import android.accessibilityservice.AccessibilityService;
import android.app.PendingIntent;
import android.content.ClipData;
@@ -13,6 +14,7 @@ import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
+import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.util.Log;
import android.view.WindowManager;
@@ -64,6 +66,12 @@ public class AutofillService extends AccessibilityService {
// TODO change search/search results (just use first result)
@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
+ if (ContextCompat.checkSelfPermission(this, Manifest.permission.SYSTEM_ALERT_WINDOW)
+ == PackageManager.PERMISSION_DENIED) {
+ // may need a way to request the permission but only activities can, so by notification?
+ return;
+ }
+
// if returning to the source app from a successful AutofillActivity
if (event.getEventType() == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
&& event.getPackageName().equals(packageName) && resultData != null) {
@@ -202,7 +210,7 @@ public class AutofillService extends AccessibilityService {
}
- public void decryptAndVerify() {
+ private void decryptAndVerify() {
packageName = info.getPackageName();
Intent data;
if (resultData == null) {