summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-09-21 21:02:12 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-09-21 21:02:12 +0000
commit6436a0c1661cc766629e796f24184e4811233088 (patch)
treec28aa5f3e34d9a2317bf825fa6a46a8965ceb10a
parent0c4154d40ce29adadd82b1d242ec3c66a12bffaa (diff)
parentc7c38f8f42a4af94c87add0f31af286d67285dad (diff)
downloadpackages_apps_Settings-android-8.0.0_r31.tar.gz
packages_apps_Settings-android-8.0.0_r31.tar.bz2
packages_apps_Settings-android-8.0.0_r31.zip
Merge cherrypicks of [2938809, 2937688, 2938829, 2938790, 2938791, 2938792, 2938793, 2938849, 2938850, 2938737, 2938738, 2938739, 2938740, 2938741, 2938204, 2938205, 2938206, 2938207, 2938208, 2938830, 2938831, 2938832, 2938794, 2937966, 2938889, 2938810, 2938833] into oc-r5-releaseandroid-8.0.0_r31
Change-Id: I4cfd65c9cbae505992105574469ede9b5ae6180f
-rw-r--r--AndroidManifest.xml1
-rw-r--r--src/com/android/settings/Utils.java16
-rw-r--r--src/com/android/settings/accessibility/AccessibilityServiceWarning.java8
-rw-r--r--src/com/android/settings/accessibility/ShortcutServicePickerFragment.java18
-rw-r--r--src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java10
5 files changed, 9 insertions, 44 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c596152452..25216db214 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -82,6 +82,7 @@
<uses-permission android:name="android.permission.MANAGE_NOTIFICATIONS"/>
<uses-permission android:name="android.permission.DELETE_PACKAGES"/>
<uses-permission android:name="android.permission.MANAGE_APP_OPS_RESTRICTIONS"/>
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS"/>
<application android:label="@string/settings_label"
android:icon="@drawable/ic_launcher_settings"
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 8a77fea726..2068909111 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -1297,22 +1297,6 @@ public final class Utils extends com.android.settingslib.Utils {
return info.enabled ? R.string.installed : R.string.disabled;
}
- /**
- * Control if other apps can display overlays. By default this is allowed. Be sure to
- * re-enable overlays, as the effect is system-wide.
- */
- public static void setOverlayAllowed(Context context, IBinder token, boolean allowed) {
- AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
- if (appOpsManager != null) {
- appOpsManager.setUserRestriction(AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
- !allowed, token);
- appOpsManager.setUserRestriction(AppOpsManager.OP_TOAST_WINDOW,
- !allowed, token);
- }
- }
-
-
-
private static boolean isVolumeValid(VolumeInfo volume) {
return (volume != null) && (volume.getType() == VolumeInfo.TYPE_PRIVATE)
&& volume.isMountedReadable();
diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
index e0d2c69c97..4ad2ed51ae 100644
--- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
+++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
@@ -27,6 +27,8 @@ import android.text.BidiFormatter;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -37,6 +39,8 @@ import com.android.settings.R;
import java.util.List;
import java.util.Locale;
+import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
/**
* Utility class for creating the dialog that asks users for explicit permission to grant
* all of the requested capabilities to an accessibility service before the service is enabled
@@ -65,6 +69,10 @@ public class AccessibilityServiceWarning {
return false;
};
+ Window window = ad.getWindow();
+ WindowManager.LayoutParams params = window.getAttributes();
+ params.privateFlags |= PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+ window.setAttributes(params);
ad.create();
ad.getButton(AlertDialog.BUTTON_POSITIVE).setOnTouchListener(filterTouchListener);
ad.setCanceledOnTouchOutside(true);
diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
index 38e6b0f070..07f4c37cab 100644
--- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
+++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
@@ -17,8 +17,6 @@ package com.android.settings.accessibility;
import static android.content.DialogInterface.BUTTON_POSITIVE;
-import static com.android.settings.Utils.setOverlayAllowed;
-
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.Activity;
import android.app.Dialog;
@@ -148,22 +146,6 @@ public class ShortcutServicePickerFragment extends DefaultAppPickerFragment {
}
@Override
- public void onResume() {
- super.onResume();
- if (mToken != null) {
- setOverlayAllowed(getActivity(), mToken, false);
- }
- }
-
- @Override
- public void onPause() {
- super.onPause();
- if (mToken != null) {
- setOverlayAllowed(getActivity(), mToken, true);
- }
- }
-
- @Override
public void onClick(DialogInterface dialog, int which) {
final Fragment fragment = getTargetFragment();
if ((which == BUTTON_POSITIVE) && (fragment instanceof DefaultAppPickerFragment)) {
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index da4bdcf6fb..3b2e2f73b1 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -16,8 +16,6 @@
package com.android.settings.accessibility;
-import static com.android.settings.Utils.setOverlayAllowed;
-
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.Activity;
import android.app.AlertDialog;
@@ -73,8 +71,6 @@ public class ToggleAccessibilityServicePreferenceFragment
private int mShownDialogId;
- private final IBinder mToken = new Binder();
-
@Override
public int getMetricsCategory() {
return MetricsEvent.ACCESSIBILITY_SERVICE;
@@ -105,18 +101,12 @@ public class ToggleAccessibilityServicePreferenceFragment
public void onResume() {
mSettingsContentObserver.register(getContentResolver());
updateSwitchBarToggleSwitch();
- if (mToken != null) {
- setOverlayAllowed(getActivity(), mToken, false);
- }
super.onResume();
}
@Override
public void onPause() {
mSettingsContentObserver.unregister(getContentResolver());
- if (mToken != null) {
- setOverlayAllowed(getActivity(), mToken, true);
- }
super.onPause();
}