Loading AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.KILL_UID" /> <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" /> <uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" /> Loading src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +0 −5 Original line number Diff line number Diff line Loading @@ -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) { Loading src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java +17 −11 Original line number Diff line number Diff line Loading @@ -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); } } } src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +0 −6 Original line number Diff line number Diff line Loading @@ -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)) { Loading src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +0 −6 Original line number Diff line number Diff line Loading @@ -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(), Loading Loading
AndroidManifest.xml +1 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.KILL_UID" /> <uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS" /> <uses-permission android:name="com.google.android.permission.INSTALL_WEARABLE_PACKAGES" /> Loading
src/com/android/packageinstaller/permission/ui/GrantPermissionsActivity.java +0 −5 Original line number Diff line number Diff line Loading @@ -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) { Loading
src/com/android/packageinstaller/permission/ui/OverlayTouchActivity.java +17 −11 Original line number Diff line number Diff line Loading @@ -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); } } }
src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java +0 −6 Original line number Diff line number Diff line Loading @@ -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)) { Loading
src/com/android/packageinstaller/permission/ui/handheld/PermissionAppsFragment.java +0 −6 Original line number Diff line number Diff line Loading @@ -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(), Loading