summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java')
-rw-r--r--src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
index e4cbff3a..b23ab2e2 100644
--- a/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java
@@ -16,24 +16,30 @@
package com.android.packageinstaller.permission.ui;
import android.app.Activity;
-import android.content.Intent;
-import android.view.MotionEvent;
+import android.app.AppOpsManager;
+import android.os.Binder;
+import android.os.IBinder;
public class OverlayTouchActivity extends Activity {
+ private final IBinder mToken = new Binder();
- private boolean mObscuredTouch;
-
- public boolean isObscuredTouch() {
- return mObscuredTouch;
+ @Override
+ protected void onResume() {
+ super.onResume();
+ setOverlayAllowed(false);
}
@Override
- public boolean dispatchTouchEvent(MotionEvent event) {
- mObscuredTouch = (event.getFlags() & MotionEvent.FLAG_WINDOW_IS_OBSCURED) != 0;
- return super.dispatchTouchEvent(event);
+ protected void onPause() {
+ super.onPause();
+ setOverlayAllowed(true);
}
- public void showOverlayDialog() {
- startActivity(new Intent(this, OverlayWarningDialog.class));
+ private void setOverlayAllowed(boolean allowed) {
+ AppOpsManager appOpsManager = getSystemService(AppOpsManager.class);
+ if (appOpsManager != null) {
+ appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
+ !allowed, mToken);
+ }
}
}