diff options
author | Matthew Wong <wongma7@outlook.com> | 2015-10-18 23:24:42 -0400 |
---|---|---|
committer | Matthew Wong <wongma7@outlook.com> | 2015-10-18 23:24:42 -0400 |
commit | 81abb7954d1bf8d1b6d4d3cbe76407d9b0351592 (patch) | |
tree | 3fb2c56c7ea71cbae4c7e0a587b5ecd8bc2387df | |
parent | 6abcebef184a58bef28c1584740e33b250486f85 (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.java | 10 |
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) { |