Loading api/system-current.txt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -128,6 +128,7 @@ package android { field public static final java.lang.String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; field public static final java.lang.String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; field public static final java.lang.String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final java.lang.String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final java.lang.String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS"; field public static final java.lang.String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS"; field public static final java.lang.String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG"; field public static final java.lang.String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE"; field public static final java.lang.String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE"; field public static final java.lang.String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS"; field public static final java.lang.String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS"; field public static final java.lang.String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY"; field public static final java.lang.String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY"; Loading Loading @@ -184,6 +185,7 @@ package android { field public static final java.lang.String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES"; field public static final java.lang.String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES"; field public static final java.lang.String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field public static final java.lang.String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field public static final java.lang.String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; field public static final java.lang.String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; field public static final java.lang.String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG"; field public static final java.lang.String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE"; field public static final java.lang.String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE"; field public static final java.lang.String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"; field public static final java.lang.String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"; field public static final java.lang.String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; field public static final java.lang.String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; Loading Loading @@ -1559,6 +1561,7 @@ package android.content.pm { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 Loading api/test-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -420,6 +420,7 @@ package android.content.pm { } } public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 Loading core/java/android/content/pm/PackageManagerInternal.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ public abstract class PackageManagerInternal { public static final int PACKAGE_PERMISSION_CONTROLLER = 6; public static final int PACKAGE_PERMISSION_CONTROLLER = 6; public static final int PACKAGE_WELLBEING = 7; public static final int PACKAGE_WELLBEING = 7; public static final int PACKAGE_DOCUMENTER = 8; public static final int PACKAGE_DOCUMENTER = 8; public static final int PACKAGE_CONFIGURATOR = 9; @IntDef(value = { @IntDef(value = { PACKAGE_SYSTEM, PACKAGE_SYSTEM, PACKAGE_SETUP_WIZARD, PACKAGE_SETUP_WIZARD, Loading @@ -65,6 +66,7 @@ public abstract class PackageManagerInternal { PACKAGE_PERMISSION_CONTROLLER, PACKAGE_PERMISSION_CONTROLLER, PACKAGE_WELLBEING, PACKAGE_WELLBEING, PACKAGE_DOCUMENTER, PACKAGE_DOCUMENTER, PACKAGE_CONFIGURATOR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface KnownPackage {} public @interface KnownPackage {} Loading core/java/android/content/pm/PermissionInfo.java +14 −0 Original line number Original line Diff line number Diff line Loading @@ -203,6 +203,16 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { @TestApi @TestApi public static final int PROTECTION_FLAG_DOCUMENTER = 0x40000; public static final int PROTECTION_FLAG_DOCUMENTER = 0x40000; /** * Additional flag for {@link #protectionLevel}, corresponding to the * {@code configurator} value of {@link android.R.attr#protectionLevel}. * * @hide */ @SystemApi @TestApi public static final int PROTECTION_FLAG_CONFIGURATOR = 0x80000; /** @hide */ /** @hide */ @IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = { @IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = { Loading @@ -222,6 +232,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER, PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER, PROTECTION_FLAG_WELLBEING, PROTECTION_FLAG_WELLBEING, PROTECTION_FLAG_DOCUMENTER, PROTECTION_FLAG_DOCUMENTER, PROTECTION_FLAG_CONFIGURATOR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface ProtectionFlags {} public @interface ProtectionFlags {} Loading Loading @@ -417,6 +428,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { if ((level & PermissionInfo.PROTECTION_FLAG_DOCUMENTER) != 0) { if ((level & PermissionInfo.PROTECTION_FLAG_DOCUMENTER) != 0) { protLevel += "|documenter"; protLevel += "|documenter"; } } if ((level & PROTECTION_FLAG_CONFIGURATOR) != 0) { protLevel += "|configurator"; } return protLevel; return protLevel; } } Loading core/java/android/provider/DeviceConfig.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -16,9 +16,13 @@ package android.provider; package android.provider; import static android.Manifest.permission.READ_DEVICE_CONFIG; import static android.Manifest.permission.WRITE_DEVICE_CONFIG; import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.ActivityThread; import android.content.ContentResolver; import android.content.ContentResolver; Loading Loading @@ -78,6 +82,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(READ_DEVICE_CONFIG) public static String getProperty(String namespace, String name) { public static String getProperty(String namespace, String name) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); String compositeName = createCompositeName(namespace, name); String compositeName = createCompositeName(namespace, name); Loading Loading @@ -105,6 +110,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(WRITE_DEVICE_CONFIG) public static boolean setProperty( public static boolean setProperty( String namespace, String name, String value, boolean makeDefault) { String namespace, String name, String value, boolean makeDefault) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); Loading @@ -125,6 +131,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(WRITE_DEVICE_CONFIG) public static void resetToDefaults(@ResetMode int resetMode, @Nullable String namespace) { public static void resetToDefaults(@ResetMode int resetMode, @Nullable String namespace) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); Settings.Config.resetToDefaults(contentResolver, resetMode, namespace); Settings.Config.resetToDefaults(contentResolver, resetMode, namespace); Loading @@ -146,10 +153,12 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(READ_DEVICE_CONFIG) public static void addOnPropertyChangedListener( public static void addOnPropertyChangedListener( @NonNull String namespace, @NonNull String namespace, @NonNull @CallbackExecutor Executor executor, @NonNull @CallbackExecutor Executor executor, @NonNull OnPropertyChangedListener onPropertyChangedListener) { @NonNull OnPropertyChangedListener onPropertyChangedListener) { // TODO enforce READ_DEVICE_CONFIG permission synchronized (sLock) { synchronized (sLock) { Pair<String, Executor> oldNamespace = sListeners.get(onPropertyChangedListener); Pair<String, Executor> oldNamespace = sListeners.get(onPropertyChangedListener); if (oldNamespace == null) { if (oldNamespace == null) { Loading Loading
api/system-current.txt +3 −0 Original line number Original line Diff line number Diff line Loading @@ -128,6 +128,7 @@ package android { field public static final java.lang.String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; field public static final java.lang.String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES"; field public static final java.lang.String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final java.lang.String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS"; field public static final java.lang.String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS"; field public static final java.lang.String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS"; field public static final java.lang.String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG"; field public static final java.lang.String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE"; field public static final java.lang.String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE"; field public static final java.lang.String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS"; field public static final java.lang.String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS"; field public static final java.lang.String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY"; field public static final java.lang.String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY"; Loading Loading @@ -184,6 +185,7 @@ package android { field public static final java.lang.String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES"; field public static final java.lang.String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES"; field public static final java.lang.String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field public static final java.lang.String USER_ACTIVITY = "android.permission.USER_ACTIVITY"; field public static final java.lang.String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; field public static final java.lang.String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK"; field public static final java.lang.String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG"; field public static final java.lang.String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE"; field public static final java.lang.String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE"; field public static final java.lang.String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"; field public static final java.lang.String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"; field public static final java.lang.String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; field public static final java.lang.String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; Loading Loading @@ -1559,6 +1561,7 @@ package android.content.pm { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int FLAG_REMOVED = 2; // 0x2 field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 Loading
api/test-current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -420,6 +420,7 @@ package android.content.pm { } } public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable { field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000 Loading
core/java/android/content/pm/PackageManagerInternal.java +2 −0 Original line number Original line Diff line number Diff line Loading @@ -55,6 +55,7 @@ public abstract class PackageManagerInternal { public static final int PACKAGE_PERMISSION_CONTROLLER = 6; public static final int PACKAGE_PERMISSION_CONTROLLER = 6; public static final int PACKAGE_WELLBEING = 7; public static final int PACKAGE_WELLBEING = 7; public static final int PACKAGE_DOCUMENTER = 8; public static final int PACKAGE_DOCUMENTER = 8; public static final int PACKAGE_CONFIGURATOR = 9; @IntDef(value = { @IntDef(value = { PACKAGE_SYSTEM, PACKAGE_SYSTEM, PACKAGE_SETUP_WIZARD, PACKAGE_SETUP_WIZARD, Loading @@ -65,6 +66,7 @@ public abstract class PackageManagerInternal { PACKAGE_PERMISSION_CONTROLLER, PACKAGE_PERMISSION_CONTROLLER, PACKAGE_WELLBEING, PACKAGE_WELLBEING, PACKAGE_DOCUMENTER, PACKAGE_DOCUMENTER, PACKAGE_CONFIGURATOR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface KnownPackage {} public @interface KnownPackage {} Loading
core/java/android/content/pm/PermissionInfo.java +14 −0 Original line number Original line Diff line number Diff line Loading @@ -203,6 +203,16 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { @TestApi @TestApi public static final int PROTECTION_FLAG_DOCUMENTER = 0x40000; public static final int PROTECTION_FLAG_DOCUMENTER = 0x40000; /** * Additional flag for {@link #protectionLevel}, corresponding to the * {@code configurator} value of {@link android.R.attr#protectionLevel}. * * @hide */ @SystemApi @TestApi public static final int PROTECTION_FLAG_CONFIGURATOR = 0x80000; /** @hide */ /** @hide */ @IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = { @IntDef(flag = true, prefix = { "PROTECTION_FLAG_" }, value = { Loading @@ -222,6 +232,7 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER, PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER, PROTECTION_FLAG_WELLBEING, PROTECTION_FLAG_WELLBEING, PROTECTION_FLAG_DOCUMENTER, PROTECTION_FLAG_DOCUMENTER, PROTECTION_FLAG_CONFIGURATOR, }) }) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE) public @interface ProtectionFlags {} public @interface ProtectionFlags {} Loading Loading @@ -417,6 +428,9 @@ public class PermissionInfo extends PackageItemInfo implements Parcelable { if ((level & PermissionInfo.PROTECTION_FLAG_DOCUMENTER) != 0) { if ((level & PermissionInfo.PROTECTION_FLAG_DOCUMENTER) != 0) { protLevel += "|documenter"; protLevel += "|documenter"; } } if ((level & PROTECTION_FLAG_CONFIGURATOR) != 0) { protLevel += "|configurator"; } return protLevel; return protLevel; } } Loading
core/java/android/provider/DeviceConfig.java +9 −0 Original line number Original line Diff line number Diff line Loading @@ -16,9 +16,13 @@ package android.provider; package android.provider; import static android.Manifest.permission.READ_DEVICE_CONFIG; import static android.Manifest.permission.WRITE_DEVICE_CONFIG; import android.annotation.CallbackExecutor; import android.annotation.CallbackExecutor; import android.annotation.NonNull; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.SystemApi; import android.annotation.SystemApi; import android.app.ActivityThread; import android.app.ActivityThread; import android.content.ContentResolver; import android.content.ContentResolver; Loading Loading @@ -78,6 +82,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(READ_DEVICE_CONFIG) public static String getProperty(String namespace, String name) { public static String getProperty(String namespace, String name) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); String compositeName = createCompositeName(namespace, name); String compositeName = createCompositeName(namespace, name); Loading Loading @@ -105,6 +110,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(WRITE_DEVICE_CONFIG) public static boolean setProperty( public static boolean setProperty( String namespace, String name, String value, boolean makeDefault) { String namespace, String name, String value, boolean makeDefault) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); Loading @@ -125,6 +131,7 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(WRITE_DEVICE_CONFIG) public static void resetToDefaults(@ResetMode int resetMode, @Nullable String namespace) { public static void resetToDefaults(@ResetMode int resetMode, @Nullable String namespace) { ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver(); Settings.Config.resetToDefaults(contentResolver, resetMode, namespace); Settings.Config.resetToDefaults(contentResolver, resetMode, namespace); Loading @@ -146,10 +153,12 @@ public final class DeviceConfig { * @hide * @hide */ */ @SystemApi @SystemApi @RequiresPermission(READ_DEVICE_CONFIG) public static void addOnPropertyChangedListener( public static void addOnPropertyChangedListener( @NonNull String namespace, @NonNull String namespace, @NonNull @CallbackExecutor Executor executor, @NonNull @CallbackExecutor Executor executor, @NonNull OnPropertyChangedListener onPropertyChangedListener) { @NonNull OnPropertyChangedListener onPropertyChangedListener) { // TODO enforce READ_DEVICE_CONFIG permission synchronized (sLock) { synchronized (sLock) { Pair<String, Executor> oldNamespace = sListeners.get(onPropertyChangedListener); Pair<String, Executor> oldNamespace = sListeners.get(onPropertyChangedListener); if (oldNamespace == null) { if (oldNamespace == null) { Loading