Revert "DO NOT MERGE: Revert "Make CheckOp return allowed if any..."

Revert "[automerge] DO NOT MERGE: Revert "Make CheckOp return al..."

Revert submission 19245451-revert-2022-20240

Reason for revert: Required fix submitted
Reverted Changes:
I02054942e:[automerge] DO NOT MERGE: Revert "Make CheckOp ret...
I23079ce86:[automerged blank] DO NOT MERGE: Revert "Make Chec...
I6759b48e2:[automerge] DO NOT MERGE: Revert "Make CheckOp ret...
I1bfe15676:[automerged blank] DO NOT MERGE: Revert "Add appop...
I4f6fbdd19:[automerge] DO NOT MERGE: Revert "Add appops testc...
Icb4a43818:[automerge] DO NOT MERGE: Revert "Add appops testc...
Iaa40f3f51:DO NOT MERGE: Revert "Add appops testcase for loca...
I2a0bd4f2a:DO NOT MERGE: Revert "Make CheckOp return allowed ...

Bug: 231496105
Change-Id: I497098eb33a212f1b85e9879551a494bdeb2c76c
This commit is contained in:
Evan Severson
2022-07-27 00:01:44 +00:00
parent de7b0f6dd0
commit f21335c469
2 changed files with 33 additions and 18 deletions

View File

@@ -2463,8 +2463,8 @@ public class AppOpsManager {
* restriction} for a certain app-op.
*/
private static RestrictionBypass[] sOpAllowSystemRestrictionBypass = new RestrictionBypass[] {
new RestrictionBypass(true, false), //COARSE_LOCATION
new RestrictionBypass(true, false), //FINE_LOCATION
new RestrictionBypass(true, false, false), //COARSE_LOCATION
new RestrictionBypass(true, false, false), //FINE_LOCATION
null, //GPS
null, //VIBRATE
null, //READ_CONTACTS
@@ -2473,7 +2473,7 @@ public class AppOpsManager {
null, //WRITE_CALL_LOG
null, //READ_CALENDAR
null, //WRITE_CALENDAR
new RestrictionBypass(true, false), //WIFI_SCAN
new RestrictionBypass(false, true, false), //WIFI_SCAN
null, //POST_NOTIFICATION
null, //NEIGHBORING_CELLS
null, //CALL_PHONE
@@ -2487,10 +2487,10 @@ public class AppOpsManager {
null, //READ_ICC_SMS
null, //WRITE_ICC_SMS
null, //WRITE_SETTINGS
new RestrictionBypass(true, false), //SYSTEM_ALERT_WINDOW
new RestrictionBypass(false, true, false), //SYSTEM_ALERT_WINDOW
null, //ACCESS_NOTIFICATIONS
null, //CAMERA
new RestrictionBypass(false, true), //RECORD_AUDIO
new RestrictionBypass(false, false, true), //RECORD_AUDIO
null, //PLAY_AUDIO
null, //READ_CLIPBOARD
null, //WRITE_CLIPBOARD
@@ -2508,7 +2508,7 @@ public class AppOpsManager {
null, //MONITOR_HIGH_POWER_LOCATION
null, //GET_USAGE_STATS
null, //MUTE_MICROPHONE
new RestrictionBypass(true, false), //TOAST_WINDOW
new RestrictionBypass(false, true, false), //TOAST_WINDOW
null, //PROJECT_MEDIA
null, //ACTIVATE_VPN
null, //WALLPAPER
@@ -2540,7 +2540,7 @@ public class AppOpsManager {
null, // ACCEPT_HANDOVER
null, // MANAGE_IPSEC_HANDOVERS
null, // START_FOREGROUND
new RestrictionBypass(true, false), // BLUETOOTH_SCAN
new RestrictionBypass(false, true, false), // BLUETOOTH_SCAN
null, // USE_BIOMETRIC
null, // ACTIVITY_RECOGNITION
null, // SMS_FINANCIAL_TRANSACTIONS
@@ -3105,6 +3105,9 @@ public class AppOpsManager {
* @hide
*/
public static class RestrictionBypass {
/** Does the app need to be system uid to bypass the restriction */
public boolean isSystemUid;
/** Does the app need to be privileged to bypass the restriction */
public boolean isPrivileged;
@@ -3114,12 +3117,14 @@ public class AppOpsManager {
*/
public boolean isRecordAudioRestrictionExcept;
public RestrictionBypass(boolean isPrivileged, boolean isRecordAudioRestrictionExcept) {
public RestrictionBypass(boolean isSystemUid, boolean isPrivileged,
boolean isRecordAudioRestrictionExcept) {
this.isSystemUid = isSystemUid;
this.isPrivileged = isPrivileged;
this.isRecordAudioRestrictionExcept = isRecordAudioRestrictionExcept;
}
public static RestrictionBypass UNRESTRICTED = new RestrictionBypass(true, true);
public static RestrictionBypass UNRESTRICTED = new RestrictionBypass(false, true, true);
}
/**