diff --git a/apct-tests/perftests/textclassifier/src/android/view/textclassifier/TextClassificationManagerPerfTest.java b/apct-tests/perftests/textclassifier/src/android/view/textclassifier/TextClassificationManagerPerfTest.java index e24e9cd3a63aa..46250d74a4e3f 100644 --- a/apct-tests/perftests/textclassifier/src/android/view/textclassifier/TextClassificationManagerPerfTest.java +++ b/apct-tests/perftests/textclassifier/src/android/view/textclassifier/TextClassificationManagerPerfTest.java @@ -32,8 +32,8 @@ import org.junit.Test; @LargeTest public class TextClassificationManagerPerfTest { - private static final String ALLOWLISTED_WRITE_DEVICE_CONFIG_PERMISSION = - "android.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG"; + private static final String WRITE_DEVICE_CONFIG_PERMISSION = + "android.permission.WRITE_DEVICE_CONFIG"; @Rule public PerfStatusReporter mPerfStatusReporter = new PerfStatusReporter(); @@ -44,7 +44,7 @@ public class TextClassificationManagerPerfTest { public static void setUpClass() { InstrumentationRegistry.getInstrumentation().getUiAutomation() .adoptShellPermissionIdentity( - ALLOWLISTED_WRITE_DEVICE_CONFIG_PERMISSION); + WRITE_DEVICE_CONFIG_PERMISSION); } @AfterClass diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 4869e1b3d1579..67aa074100fb6 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -33,7 +33,6 @@ package android { field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY"; field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"; field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE"; - field public static final String ALLOWLISTED_WRITE_DEVICE_CONFIG = "android.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG"; field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK"; field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS"; field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES"; @@ -285,7 +284,6 @@ package android { field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO"; field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL"; field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL"; - field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"; field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS"; field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP"; field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"; diff --git a/core/api/test-current.txt b/core/api/test-current.txt index fa5a99e3282a7..bea2bfc097410 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -5,7 +5,6 @@ package android { field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS"; field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING"; field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY"; - field public static final String ALLOWLISTED_WRITE_DEVICE_CONFIG = "android.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG"; field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS"; field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA"; field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE"; @@ -40,7 +39,6 @@ package android { field public static final String QUERY_AUDIO_STATE = "android.permission.QUERY_AUDIO_STATE"; field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE"; - field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG"; field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO"; field public static final String REMAP_MODIFIER_KEYS = "android.permission.REMAP_MODIFIER_KEYS"; field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS"; diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 9d3ef19aab04b..a4818c7e871f7 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4187,16 +4187,6 @@ - - - - - - - * Write permissions are granted if the calling UID is root, or the - * WRITE_DEVICE_CONFIG permission is granted, or the WRITE_DEVICE_CONFIG_ALLOWLIST - * permission is granted and each flag in {@code flags} is allowlisted in {@code - * WRITABLE_FLAG_ALLOWLIST_FLAG}. - * - * @param context the {@link Context} this is called in - * @param flags a list of flags to check, each one of the form 'namespace/flagName' - * - * @throws SecurityException if the above criteria are not met. - * @hide - */ - private void enforceDeviceConfigWritePermission( - @NonNull Context context, - @NonNull Set flags) { - boolean hasAllowlistPermission = - context.checkCallingOrSelfPermission( - Manifest.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG) - == PackageManager.PERMISSION_GRANTED; - boolean hasWritePermission = - context.checkCallingOrSelfPermission( - Manifest.permission.WRITE_DEVICE_CONFIG) - == PackageManager.PERMISSION_GRANTED; - boolean isRoot = Binder.getCallingUid() == Process.ROOT_UID; - - if (isRoot || hasWritePermission) { - return; - } else if (hasAllowlistPermission) { - for (String flag : flags) { - if (!DeviceConfig.getAdbWritableFlags().contains(flag)) { - throw new SecurityException("Permission denial for flag '" - + flag - + "'; allowlist permission granted, but must add flag to the allowlist."); - } - } - } else { - throw new SecurityException("Permission denial to mutate flag, must have root, " - + "WRITE_DEVICE_CONFIG, or ALLOWLISTED_WRITE_DEVICE_CONFIG"); + private void enforceWritePermission(String permission) { + if (getContext().checkCallingOrSelfPermission(permission) + != PackageManager.PERMISSION_GRANTED) { + throw new SecurityException("Permission denial: writing to settings requires:" + + permission); } } diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml index 1a8fc0d4d7b4a..0664061401f30 100644 --- a/packages/Shell/AndroidManifest.xml +++ b/packages/Shell/AndroidManifest.xml @@ -147,8 +147,7 @@ - - + diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index a991840f6f008..687696a03627a 100755 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -401,7 +401,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { // Shell permisssions will override permissions of our app, so add all necessary permissions // for this test here: InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity( - "android.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG", + "android.permission.WRITE_DEVICE_CONFIG", "android.permission.READ_DEVICE_CONFIG", "android.permission.READ_CONTACTS"); diff --git a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java index 0e5d79977b8c8..f8d885ae3faf4 100644 --- a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java +++ b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java @@ -124,12 +124,11 @@ public class PackageWatchdogTest { @Before public void setUp() throws Exception { - mAllocatedWatchdogs = new ArrayList<>(); MockitoAnnotations.initMocks(this); new File(InstrumentationRegistry.getContext().getFilesDir(), "package-watchdog.xml").delete(); adoptShellPermissions(Manifest.permission.READ_DEVICE_CONFIG, - Manifest.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG); + Manifest.permission.WRITE_DEVICE_CONFIG); mTestLooper = new TestLooper(); mSpyContext = spy(InstrumentationRegistry.getContext()); when(mSpyContext.getPackageManager()).thenReturn(mMockPackageManager); @@ -183,6 +182,7 @@ public class PackageWatchdogTest { PackageWatchdog.PROPERTY_WATCHDOG_TRIGGER_FAILURE_COUNT, Integer.toString(PackageWatchdog.DEFAULT_TRIGGER_FAILURE_COUNT), false); + mAllocatedWatchdogs = new ArrayList<>(); } @After diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/NetworkStagedRollbackTest.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/NetworkStagedRollbackTest.java index 7600a75ad78f1..314e95229d299 100644 --- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/NetworkStagedRollbackTest.java +++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/NetworkStagedRollbackTest.java @@ -82,7 +82,7 @@ public class NetworkStagedRollbackTest { Manifest.permission.DELETE_PACKAGES, Manifest.permission.TEST_MANAGE_ROLLBACKS, Manifest.permission.FORCE_STOP_PACKAGES, - Manifest.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG); + Manifest.permission.WRITE_DEVICE_CONFIG); } /** diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java index 115870f955635..4cddcfeb91dc1 100644 --- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java +++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java @@ -70,7 +70,7 @@ public class StagedRollbackTest { Manifest.permission.DELETE_PACKAGES, Manifest.permission.TEST_MANAGE_ROLLBACKS, Manifest.permission.FORCE_STOP_PACKAGES, - Manifest.permission.ALLOWLISTED_WRITE_DEVICE_CONFIG); + Manifest.permission.WRITE_DEVICE_CONFIG); } /**