From 885403133f3fdb72fab12adf2279931944d4b5e8 Mon Sep 17 00:00:00 2001 From: Bernardo Rufino Date: Mon, 25 Nov 2019 19:40:53 +0000 Subject: [PATCH] Add activity for MANAGE_APP_OVERLAY_PERMISSION intent in Settings In order to support system use-cases, such as when the user wants do revoke SYSTEM_ALERT_WINDOW (SAW) permission via notification, we are introducing a new intent, MANAGE_APP_OVERLAY_PERMISSION (notice the "APP_"), that directs the user to the app-specific screen to toggle SAW permission. This activity can only be started if the caller has INTERNAL_SYSTEM_WINDOW permission, which sysui and the system have. Test: atest TestManageOverlayPermissionIntents (cts in one of the topic CLs) Test: Let an app draw on top of other apps, via its notification go to settings, verify that the screen for controlling such capability for the app is dispayed. Bug: 135920175 Change-Id: I2f7e02a1242af7a22098359aeb230888fb8d4f3a --- AndroidManifest.xml | 13 +++++++++++++ src/com/android/settings/Settings.java | 1 + 2 files changed, 14 insertions(+) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c2dcd158d12..ed0062a47b8 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -2721,6 +2721,19 @@ android:value="com.android.settings.applications.manageapplications.ManageApplications" /> + + + + + + + + + diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index f910fae11fd..c6b7e62077a 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -138,6 +138,7 @@ public class Settings extends SettingsActivity { public static class OverlaySettingsActivity extends SettingsActivity { /* empty */ } public static class WriteSettingsActivity extends SettingsActivity { /* empty */ } public static class ChangeWifiStateActivity extends SettingsActivity { /* empty */ } + public static class AppDrawOverlaySettingsActivity extends SettingsActivity { /* empty */ } public static class AppWriteSettingsActivity extends SettingsActivity { /* empty */ } public static class ManageExternalSourcesActivity extends SettingsActivity {/* empty */ }