diff options
| author | Dianne Hackborn <hackbod@google.com> | 2018-03-28 13:51:46 -0700 |
|---|---|---|
| committer | Dianne Hackborn <hackbod@google.com> | 2018-03-30 13:10:54 -0700 |
| commit | e9d9b4b9a27f419fbd6096698f692b474939cb48 (patch) | |
| tree | 947fc0991f9a1256ee24ee65b968c3af2c490d12 /core/java/android/app/AppOpsManager.java | |
| parent | b5dcf7d3ac4f8b213085eb266588acb2117b4044 (diff) | |
Fix issue #77230164: Add app op to control foreground services
New app op added.
Bug: 77230164
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest\#testForegroundServiceAppOp
Change-Id: I59f2f03850da4b9f5550e82ba28f175e4779e783
Diffstat (limited to 'core/java/android/app/AppOpsManager.java')
| -rw-r--r-- | core/java/android/app/AppOpsManager.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java index ea8c71c9f398..ab0001ca8c3c 100644 --- a/core/java/android/app/AppOpsManager.java +++ b/core/java/android/app/AppOpsManager.java @@ -272,8 +272,10 @@ public class AppOpsManager { public static final int OP_ACCEPT_HANDOVER = 74; /** @hide Create and Manage IPsec Tunnels */ public static final int OP_MANAGE_IPSEC_TUNNELS = 75; + /** @hide Any app start foreground service. */ + public static final int OP_START_FOREGROUND = 76; /** @hide */ - public static final int _NUM_OP = 76; + public static final int _NUM_OP = 77; /** Access to coarse location information. */ public static final String OPSTR_COARSE_LOCATION = "android:coarse_location"; @@ -512,6 +514,9 @@ public class AppOpsManager { /** @hide */ @SystemApi @TestApi public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels"; + /** @hide */ + @SystemApi @TestApi + public static final String OPSTR_START_FOREGROUND = "android:start_foreground"; // Warning: If an permission is added here it also has to be added to // com.android.packageinstaller.permission.utils.EventLogger @@ -560,6 +565,7 @@ public class AppOpsManager { OP_SYSTEM_ALERT_WINDOW, OP_WRITE_SETTINGS, OP_REQUEST_INSTALL_PACKAGES, + OP_START_FOREGROUND, }; /** @@ -647,6 +653,7 @@ public class AppOpsManager { OP_BIND_ACCESSIBILITY_SERVICE, OP_ACCEPT_HANDOVER, OP_MANAGE_IPSEC_TUNNELS, + OP_START_FOREGROUND, }; /** @@ -729,6 +736,7 @@ public class AppOpsManager { OPSTR_BIND_ACCESSIBILITY_SERVICE, OPSTR_ACCEPT_HANDOVER, OPSTR_MANAGE_IPSEC_TUNNELS, + OPSTR_START_FOREGROUND, }; /** @@ -812,6 +820,7 @@ public class AppOpsManager { "BIND_ACCESSIBILITY_SERVICE", "ACCEPT_HANDOVER", "MANAGE_IPSEC_TUNNELS", + "START_FOREGROUND", }; /** @@ -895,6 +904,7 @@ public class AppOpsManager { Manifest.permission.BIND_ACCESSIBILITY_SERVICE, Manifest.permission.ACCEPT_HANDOVER, null, // no permission for OP_MANAGE_IPSEC_TUNNELS + Manifest.permission.FOREGROUND_SERVICE, }; /** @@ -979,6 +989,7 @@ public class AppOpsManager { null, // OP_BIND_ACCESSIBILITY_SERVICE null, // ACCEPT_HANDOVER null, // MANAGE_IPSEC_TUNNELS + null, // START_FOREGROUND }; /** @@ -1062,6 +1073,7 @@ public class AppOpsManager { false, // OP_BIND_ACCESSIBILITY_SERVICE false, // ACCEPT_HANDOVER false, // MANAGE_IPSEC_HANDOVERS + false, // START_FOREGROUND }; /** @@ -1137,13 +1149,14 @@ public class AppOpsManager { AppOpsManager.MODE_DEFAULT, // OP_REQUEST_INSTALL_PACKAGES AppOpsManager.MODE_ALLOWED, // OP_PICTURE_IN_PICTURE AppOpsManager.MODE_DEFAULT, // OP_INSTANT_APP_START_FOREGROUND - AppOpsManager.MODE_ALLOWED, // ANSWER_PHONE_CALLS + AppOpsManager.MODE_ALLOWED, // ANSWER_PHONE_CALLS AppOpsManager.MODE_ALLOWED, // OP_RUN_ANY_IN_BACKGROUND AppOpsManager.MODE_ALLOWED, // OP_CHANGE_WIFI_STATE AppOpsManager.MODE_ALLOWED, // REQUEST_DELETE_PACKAGES AppOpsManager.MODE_ALLOWED, // OP_BIND_ACCESSIBILITY_SERVICE AppOpsManager.MODE_ALLOWED, // ACCEPT_HANDOVER AppOpsManager.MODE_ERRORED, // MANAGE_IPSEC_TUNNELS + AppOpsManager.MODE_ALLOWED, // OP_START_FOREGROUND }; /** @@ -1230,6 +1243,7 @@ public class AppOpsManager { false, // OP_BIND_ACCESSIBILITY_SERVICE false, // ACCEPT_HANDOVER false, // MANAGE_IPSEC_TUNNELS + false, // START_FOREGROUND }; /** |
