summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2016-02-16 11:45:25 -0800
committerSvetoslav Ganov <svetoslavganov@google.com>2016-02-20 17:42:46 +0000
commit00b8a26bb6a620c36137f77a46bfa81d3c0657fc (patch)
tree0c12177326ffdf24086c60c6a1c3a4238abec28b /src
parent028e8e3c81abcc460aada13736a314f3f6311bd6 (diff)
downloadandroid_packages_apps_PackageInstaller-00b8a26bb6a620c36137f77a46bfa81d3c0657fc.tar.gz
android_packages_apps_PackageInstaller-00b8a26bb6a620c36137f77a46bfa81d3c0657fc.tar.bz2
android_packages_apps_PackageInstaller-00b8a26bb6a620c36137f77a46bfa81d3c0657fc.zip
No overlay when permissions shown - package installer
bug:26973205 Change-Id: Ibae1b971ceb1ea0d831435b9d5166482199e9184
Diffstat (limited to 'src')
-rw-r--r--src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java5
-rw-r--r--src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java28
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java6
-rw-r--r--src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java6
7 files changed, 17 insertions, 46 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
index fc482f3e..415d99bc 100644
--- a/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
+++ b/src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java
@@ -269,11 +269,6 @@ public class GrantPermissionsActivity extends OverlayTouchActivity
@Override
public void onPermissionGrantResult(String name, boolean granted, boolean doNotAskAgain) {
- if (isObscuredTouch()) {
- showOverlayDialog();
- finish();
- return;
- }
GroupState groupState = mRequestGrantPermissionGroups.get(name);
if (groupState.mGroup != null) {
if (granted) {
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);
+ }
}
}
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index 71e8d04e..d5e649ee 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -283,12 +283,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
index e1b2f5f1..ccf864fb 100644
--- a/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java
@@ -335,12 +335,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(app.getPackageName(), app.getPermissionGroup());
if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
diff --git a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
index 91116130..5bb0d01c 100644
--- a/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/AppPermissionsFragment.java
@@ -279,12 +279,6 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {
diff --git a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
index e2f48182..1f4228bb 100644
--- a/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/television/PermissionAppsFragment.java
@@ -323,12 +323,6 @@ public final class PermissionAppsFragment extends PermissionsFrameFragment imple
return false;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return false;
- }
-
if (LocationUtils.isLocationGroupAndProvider(mPermissionApps.getGroupName(),
app.getPackageName())) {
LocationUtils.showLocationDialog(getContext(), app.getLabel());
diff --git a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
index aba97fc8..6ea34628 100644
--- a/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
+++ b/src/com/android/packageinstaller/permission/ui/wear/AppPermissionsFragmentWear.java
@@ -197,12 +197,6 @@ public final class AppPermissionsFragmentWear extends TitledSettingsFragment {
return;
}
- OverlayTouchActivity activity = (OverlayTouchActivity) getActivity();
- if (activity.isObscuredTouch()) {
- activity.showOverlayDialog();
- return;
- }
-
addToggledGroup(group);
if (LocationUtils.isLocationGroupAndProvider(group.getName(), group.getApp().packageName)) {