DO NOT MERGE Back-port ag/2491664
Bug: 62196835 Test: Verify overlays disappear on a11y capabilities dialog. Change-Id: Icbd00799e4b12cde9d17d3d0abbd38d9643b26c4
This commit is contained in:
@@ -67,6 +67,7 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.REBOOT" />
|
||||
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
|
||||
<uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
|
||||
|
||||
<application android:label="@string/settings_label"
|
||||
android:icon="@mipmap/ic_launcher_settings"
|
||||
|
@@ -31,6 +31,8 @@ import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
@@ -44,6 +46,8 @@ import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
|
||||
|
||||
public class ToggleAccessibilityServicePreferenceFragment
|
||||
extends ToggleFeaturePreferenceFragment implements DialogInterface.OnClickListener {
|
||||
|
||||
@@ -159,7 +163,7 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
if (info == null) {
|
||||
return null;
|
||||
}
|
||||
return new AlertDialog.Builder(getActivity())
|
||||
AlertDialog ad = new AlertDialog.Builder(getActivity())
|
||||
.setTitle(getString(R.string.enable_service_title,
|
||||
info.getResolveInfo().loadLabel(getPackageManager())))
|
||||
.setIconAttribute(android.R.attr.alertDialogIcon)
|
||||
@@ -168,6 +172,12 @@ public class ToggleAccessibilityServicePreferenceFragment
|
||||
.setPositiveButton(android.R.string.ok, this)
|
||||
.setNegativeButton(android.R.string.cancel, this)
|
||||
.create();
|
||||
|
||||
Window window = ad.getWindow();
|
||||
WindowManager.LayoutParams params = window.getAttributes();
|
||||
params.privateFlags |= PRIVATE_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
|
||||
window.setAttributes(params);
|
||||
return ad;
|
||||
}
|
||||
case DIALOG_ID_DISABLE_WARNING: {
|
||||
mShownDialogId = DIALOG_ID_DISABLE_WARNING;
|
||||
|
Reference in New Issue
Block a user