Loading core/api/current.txt +27 −27 Original line number Diff line number Diff line Loading @@ -7296,10 +7296,10 @@ package android.app.admin { method @Nullable public java.util.List<java.lang.String> getDelegatePackages(@NonNull android.content.ComponentName, @NonNull String); method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String); method public CharSequence getDeviceOwnerLockScreenInfo(); method @NonNull public android.graphics.drawable.Drawable getDrawable(int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(int, int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(@NonNull String, @NonNull String, @NonNull String, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(@NonNull String, @NonNull String, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName); method @NonNull public String getEnrollmentSpecificId(); method @Nullable public android.app.admin.FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(@Nullable android.content.ComponentName); Loading Loading @@ -7710,29 +7710,29 @@ package android.app.admin { ctor public DevicePolicyResources(); } public static final class DevicePolicyResources.Drawable { field public static final int INVALID_ID = -1; // 0xffffffff field public static final int WORK_PROFILE_ICON = 1; // 0x1 field public static final int WORK_PROFILE_ICON_BADGE = 0; // 0x0 field public static final int WORK_PROFILE_OFF_ICON = 2; // 0x2 field public static final int WORK_PROFILE_USER_ICON = 3; // 0x3 } public static final class DevicePolicyResources.Drawable.Source { field public static final int HOME_WIDGET = 2; // 0x2 field public static final int LAUNCHER_OFF_BUTTON = 3; // 0x3 field public static final int NOTIFICATION = 0; // 0x0 field public static final int PROFILE_SWITCH_ANIMATION = 1; // 0x1 field public static final int QUICK_SETTINGS = 4; // 0x4 field public static final int STATUS_BAR = 5; // 0x5 field public static final int UNDEFINED = -1; // 0xffffffff } public static final class DevicePolicyResources.Drawable.Style { field public static final int DEFAULT = -1; // 0xffffffff field public static final int OUTLINE = 2; // 0x2 field public static final int SOLID_COLORED = 0; // 0x0 field public static final int SOLID_NOT_COLORED = 1; // 0x1 public static final class DevicePolicyResources.Drawables { field public static final String UNDEFINED = "UNDEFINED"; field public static final String WORK_PROFILE_ICON = "WORK_PROFILE_ICON"; field public static final String WORK_PROFILE_ICON_BADGE = "WORK_PROFILE_ICON_BADGE"; field public static final String WORK_PROFILE_OFF_ICON = "WORK_PROFILE_OFF_ICON"; field public static final String WORK_PROFILE_USER_ICON = "WORK_PROFILE_USER_ICON"; } public static final class DevicePolicyResources.Drawables.Source { field public static final String HOME_WIDGET = "HOME_WIDGET"; field public static final String LAUNCHER_OFF_BUTTON = "LAUNCHER_OFF_BUTTON"; field public static final String NOTIFICATION = "NOTIFICATION"; field public static final String PROFILE_SWITCH_ANIMATION = "PROFILE_SWITCH_ANIMATION"; field public static final String QUICK_SETTINGS = "QUICK_SETTINGS"; field public static final String STATUS_BAR = "STATUS_BAR"; field public static final String UNDEFINED = "UNDEFINED"; } public static final class DevicePolicyResources.Drawables.Style { field public static final String DEFAULT = "DEFAULT"; field public static final String OUTLINE = "OUTLINE"; field public static final String SOLID_COLORED = "SOLID_COLORED"; field public static final String SOLID_NOT_COLORED = "SOLID_NOT_COLORED"; } public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable { core/api/system-current.txt +6 −6 Original line number Diff line number Diff line Loading @@ -1022,13 +1022,13 @@ package android.app { package android.app.admin { public final class DevicePolicyDrawableResource implements android.os.Parcelable { ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, int, int, int, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, int, int, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int); method public int describeContents(); method @DrawableRes public int getCallingPackageResourceId(); method public int getDrawableId(); method public int getDrawableSource(); method public int getDrawableStyle(); method @NonNull public String getDrawableId(); method @NonNull public String getDrawableSource(); method @NonNull public String getDrawableStyle(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR; } Loading Loading @@ -1067,7 +1067,7 @@ package android.app.admin { method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String); method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void provisionFullyManagedDevice(@NonNull android.app.admin.FullyManagedDeviceProvisioningParams) throws android.app.admin.ProvisioningException; method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull int[]); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull String[]); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull String[]); method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException; method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied(); core/java/android/app/admin/DevicePolicyDrawableResource.java +34 −24 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.admin.DevicePolicyResources.Drawables; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; Loading @@ -34,9 +35,9 @@ import java.util.Objects; */ @SystemApi public final class DevicePolicyDrawableResource implements Parcelable { private final @DevicePolicyResources.UpdatableDrawableId int mDrawableId; private final @DevicePolicyResources.UpdatableDrawableStyle int mDrawableStyle; private final @DevicePolicyResources.UpdatableDrawableSource int mDrawableSource; @NonNull private final @DevicePolicyResources.UpdatableDrawableId String mDrawableId; @NonNull private final @DevicePolicyResources.UpdatableDrawableStyle String mDrawableStyle; @NonNull private final @DevicePolicyResources.UpdatableDrawableSource String mDrawableSource; private final @DrawableRes int mCallingPackageResourceId; @NonNull private ParcelableResource mResource; Loading @@ -59,9 +60,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { */ public DevicePolicyDrawableResource( @NonNull Context context, @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @DrawableRes int callingPackageResourceId) { this(drawableId, drawableStyle, drawableSource, callingPackageResourceId, new ParcelableResource(context, callingPackageResourceId, Loading @@ -69,11 +70,17 @@ public final class DevicePolicyDrawableResource implements Parcelable { } private DevicePolicyDrawableResource( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @DrawableRes int callingPackageResourceId, @NonNull ParcelableResource resource) { Objects.requireNonNull(drawableId); Objects.requireNonNull(drawableStyle); Objects.requireNonNull(drawableSource); Objects.requireNonNull(resource); this.mDrawableId = drawableId; this.mDrawableStyle = drawableStyle; this.mDrawableSource = drawableSource; Loading @@ -98,34 +105,37 @@ public final class DevicePolicyDrawableResource implements Parcelable { */ public DevicePolicyDrawableResource( @NonNull Context context, @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @DrawableRes int callingPackageResourceId) { this(context, drawableId, drawableStyle, DevicePolicyResources.Drawable.Source.UNDEFINED, this(context, drawableId, drawableStyle, Drawables.Source.UNDEFINED, callingPackageResourceId); } /** * Returns the ID of the drawable to update. */ @NonNull @DevicePolicyResources.UpdatableDrawableId public int getDrawableId() { public String getDrawableId() { return mDrawableId; } /** * Returns the style of the drawable to update */ @NonNull @DevicePolicyResources.UpdatableDrawableStyle public int getDrawableStyle() { public String getDrawableStyle() { return mDrawableStyle; } /** * Returns the source of the drawable to update. */ @NonNull @DevicePolicyResources.UpdatableDrawableSource public int getDrawableSource() { public String getDrawableSource() { return mDrawableSource; } Loading Loading @@ -153,9 +163,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DevicePolicyDrawableResource other = (DevicePolicyDrawableResource) o; return mDrawableId == other.mDrawableId && mDrawableStyle == other.mDrawableStyle && mDrawableSource == other.mDrawableSource return mDrawableId.equals(other.mDrawableId) && mDrawableStyle.equals(other.mDrawableStyle) && mDrawableSource.equals(other.mDrawableSource) && mCallingPackageResourceId == other.mCallingPackageResourceId && mResource.equals(other.mResource); } Loading @@ -173,9 +183,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mDrawableId); dest.writeInt(mDrawableStyle); dest.writeInt(mDrawableSource); dest.writeString(mDrawableId); dest.writeString(mDrawableStyle); dest.writeString(mDrawableSource); dest.writeInt(mCallingPackageResourceId); dest.writeTypedObject(mResource, flags); } Loading @@ -184,9 +194,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { new Creator<DevicePolicyDrawableResource>() { @Override public DevicePolicyDrawableResource createFromParcel(Parcel in) { int drawableId = in.readInt(); int drawableStyle = in.readInt(); int drawableSource = in.readInt(); String drawableId = in.readString(); String drawableStyle = in.readString(); String drawableSource = in.readString(); int callingPackageResourceId = in.readInt(); ParcelableResource resource = in.readTypedObject(ParcelableResource.CREATOR); Loading core/java/android/app/admin/DevicePolicyManager.java +43 −33 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package android.app.admin; import static android.app.admin.DevicePolicyResources.Drawable.INVALID_ID; import static android.app.admin.DevicePolicyResources.Drawable.Source.UNDEFINED; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.Manifest.permission; Loading @@ -42,6 +39,7 @@ import android.annotation.WorkerThread; import android.app.Activity; import android.app.IServiceConnection; import android.app.KeyguardManager; import android.app.admin.DevicePolicyResources.Drawables; import android.app.admin.SecurityLog.SecurityEvent; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -14738,17 +14736,17 @@ public class DevicePolicyManager { /** * For each {@link DevicePolicyDrawableResource} item in {@code drawables}, if * {@link DevicePolicyDrawableResource#getDrawableSource()} is not set or is set to * {@link DevicePolicyResources.Drawable.Source#UNDEFINED}, it updates the drawable resource for * {@link DevicePolicyResources.Drawables.Source#UNDEFINED}, it updates the drawable resource for * the combination of {@link DevicePolicyDrawableResource#getDrawableId()} and * {@link DevicePolicyDrawableResource#getDrawableStyle()}, (see * {@link DevicePolicyResources.Drawable} and {@link DevicePolicyResources.Drawable.Style}) to * {@link DevicePolicyResources.Drawables} and {@link DevicePolicyResources.Drawables.Style}) to * the drawable with ID {@link DevicePolicyDrawableResource#getCallingPackageResourceId()}, * meaning any system UI surface calling {@link #getDrawable} * with {@code drawableId} and {@code drawableStyle} will get the new resource after this API * is called. * * <p>Otherwise, if {@link DevicePolicyDrawableResource#getDrawableSource()} is set (see * {@link DevicePolicyResources.Drawable.Source}, it overrides any drawables that was set for * {@link DevicePolicyResources.Drawables.Source}, it overrides any drawables that was set for * the same {@code drawableId} and {@code drawableStyle} for the provided source. * * <p>Sends a broadcast with action {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to Loading Loading @@ -14784,10 +14782,10 @@ public class DevicePolicyManager { /** * Removes all updated drawables for the list of {@code drawableIds} (see * {@link DevicePolicyResources.Drawable} that was previously set by calling * {@link DevicePolicyResources.Drawables} that was previously set by calling * {@link #setDrawables}, meaning any subsequent calls to {@link #getDrawable} for the provided * IDs with any {@link DevicePolicyResources.Drawable.Style} and any * {@link DevicePolicyResources.Drawable.Source} will return the default drawable from * IDs with any {@link DevicePolicyResources.Drawables.Style} and any * {@link DevicePolicyResources.Drawables.Source} will return the default drawable from * {@code defaultDrawableLoader}. * * <p>Sends a broadcast with action {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to Loading @@ -14799,7 +14797,7 @@ public class DevicePolicyManager { */ @SystemApi @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull int[] drawableIds) { public void resetDrawables(@NonNull String[] drawableIds) { if (mService != null) { try { mService.resetDrawables(drawableIds); Loading @@ -14811,19 +14809,19 @@ public class DevicePolicyManager { /** * Returns the appropriate updated drawable for the {@code drawableId} * (see {@link DevicePolicyResources.Drawable}), with style {@code drawableStyle} * (see {@link DevicePolicyResources.Drawable.Style}) if one was set using * (see {@link DevicePolicyResources.Drawables}), with style {@code drawableStyle} * (see {@link DevicePolicyResources.Drawables.Style}) if one was set using * {@code setDrawables}, otherwise returns the drawable from {@code defaultDrawableLoader}. * * <p>Also returns the drawable from {@code defaultDrawableLoader} if * {@link DevicePolicyResources.Drawable#INVALID_ID} was passed. * {@link DevicePolicyResources.Drawables#UNDEFINED} was passed. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a * {@link NullPointerException} is thrown. * * <p>This API uses the screen density returned from {@link Resources#getConfiguration()}, to * set a different value use * {@link #getDrawableForDensity(int, int, int, Callable)}. * {@link #getDrawableForDensity(String, String, int, Callable)}. * * <p>Callers should register for {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to get * notified when a resource has been updated. Loading @@ -14838,16 +14836,18 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawable( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull Callable<Drawable> defaultDrawableLoader) { return getDrawable(drawableId, drawableStyle, UNDEFINED, defaultDrawableLoader); return getDrawable( drawableId, drawableStyle, Drawables.Source.UNDEFINED, defaultDrawableLoader); } /** * Similar to {@link #getDrawable(int, int, Callable)}, but also accepts * a {@code drawableSource} (see {@link DevicePolicyResources.Drawable.Source}) which * could result in returning a different drawable than {@link #getDrawable(int, int, Callable)} * Similar to {@link #getDrawable(String, String, Callable)}, but also accepts * a {@code drawableSource} (see {@link DevicePolicyResources.Drawables.Source}) which * could result in returning a different drawable than * {@link #getDrawable(String, String, Callable)} * if an override was set for that specific source. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14864,12 +14864,17 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawable( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @NonNull Callable<Drawable> defaultDrawableLoader) { Objects.requireNonNull(drawableId, "drawableId can't be null"); Objects.requireNonNull(drawableStyle, "drawableStyle can't be null"); Objects.requireNonNull(drawableSource, "drawableSource can't be null"); Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null"); if (drawableId == INVALID_ID) { if (Drawables.UNDEFINED.equals(drawableId)) { return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader); } if (mService != null) { Loading Loading @@ -14897,7 +14902,7 @@ public class DevicePolicyManager { } /** * Similar to {@link #getDrawable(int, int, Callable)}, but also accepts * Similar to {@link #getDrawable(String, String, Callable)}, but also accepts * {@code density}. See {@link Resources#getDrawableForDensity(int, int, Resources.Theme)}. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14916,20 +14921,20 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawableForDensity( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, int density, @NonNull Callable<Drawable> defaultDrawableLoader) { return getDrawableForDensity( drawableId, drawableStyle, UNDEFINED, Drawables.Source.UNDEFINED, density, defaultDrawableLoader); } /** * Similar to {@link #getDrawable(int, int, int, Callable)}, but also accepts * Similar to {@link #getDrawable(String, String, String, Callable)}, but also accepts * {@code density}. See {@link Resources#getDrawableForDensity(int, int, Resources.Theme)}. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14949,13 +14954,18 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawableForDensity( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, int density, @NonNull Callable<Drawable> defaultDrawableLoader) { Objects.requireNonNull(drawableId, "drawableId can't be null"); Objects.requireNonNull(drawableStyle, "drawableStyle can't be null"); Objects.requireNonNull(drawableSource, "drawableSource can't be null"); Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null"); if (drawableId == INVALID_ID) { if (Drawables.UNDEFINED.equals(drawableId)) { return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader); } if (mService != null) { core/java/android/app/admin/DevicePolicyResources.java +46 −46 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
core/api/current.txt +27 −27 Original line number Diff line number Diff line Loading @@ -7296,10 +7296,10 @@ package android.app.admin { method @Nullable public java.util.List<java.lang.String> getDelegatePackages(@NonNull android.content.ComponentName, @NonNull String); method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String); method public CharSequence getDeviceOwnerLockScreenInfo(); method @NonNull public android.graphics.drawable.Drawable getDrawable(int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(int, int, int, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawable(@NonNull String, @NonNull String, @NonNull String, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(@NonNull String, @NonNull String, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method @NonNull public android.graphics.drawable.Drawable getDrawableForDensity(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.concurrent.Callable<android.graphics.drawable.Drawable>); method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName); method @NonNull public String getEnrollmentSpecificId(); method @Nullable public android.app.admin.FactoryResetProtectionPolicy getFactoryResetProtectionPolicy(@Nullable android.content.ComponentName); Loading Loading @@ -7710,29 +7710,29 @@ package android.app.admin { ctor public DevicePolicyResources(); } public static final class DevicePolicyResources.Drawable { field public static final int INVALID_ID = -1; // 0xffffffff field public static final int WORK_PROFILE_ICON = 1; // 0x1 field public static final int WORK_PROFILE_ICON_BADGE = 0; // 0x0 field public static final int WORK_PROFILE_OFF_ICON = 2; // 0x2 field public static final int WORK_PROFILE_USER_ICON = 3; // 0x3 } public static final class DevicePolicyResources.Drawable.Source { field public static final int HOME_WIDGET = 2; // 0x2 field public static final int LAUNCHER_OFF_BUTTON = 3; // 0x3 field public static final int NOTIFICATION = 0; // 0x0 field public static final int PROFILE_SWITCH_ANIMATION = 1; // 0x1 field public static final int QUICK_SETTINGS = 4; // 0x4 field public static final int STATUS_BAR = 5; // 0x5 field public static final int UNDEFINED = -1; // 0xffffffff } public static final class DevicePolicyResources.Drawable.Style { field public static final int DEFAULT = -1; // 0xffffffff field public static final int OUTLINE = 2; // 0x2 field public static final int SOLID_COLORED = 0; // 0x0 field public static final int SOLID_NOT_COLORED = 1; // 0x1 public static final class DevicePolicyResources.Drawables { field public static final String UNDEFINED = "UNDEFINED"; field public static final String WORK_PROFILE_ICON = "WORK_PROFILE_ICON"; field public static final String WORK_PROFILE_ICON_BADGE = "WORK_PROFILE_ICON_BADGE"; field public static final String WORK_PROFILE_OFF_ICON = "WORK_PROFILE_OFF_ICON"; field public static final String WORK_PROFILE_USER_ICON = "WORK_PROFILE_USER_ICON"; } public static final class DevicePolicyResources.Drawables.Source { field public static final String HOME_WIDGET = "HOME_WIDGET"; field public static final String LAUNCHER_OFF_BUTTON = "LAUNCHER_OFF_BUTTON"; field public static final String NOTIFICATION = "NOTIFICATION"; field public static final String PROFILE_SWITCH_ANIMATION = "PROFILE_SWITCH_ANIMATION"; field public static final String QUICK_SETTINGS = "QUICK_SETTINGS"; field public static final String STATUS_BAR = "STATUS_BAR"; field public static final String UNDEFINED = "UNDEFINED"; } public static final class DevicePolicyResources.Drawables.Style { field public static final String DEFAULT = "DEFAULT"; field public static final String OUTLINE = "OUTLINE"; field public static final String SOLID_COLORED = "SOLID_COLORED"; field public static final String SOLID_NOT_COLORED = "SOLID_NOT_COLORED"; } public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
core/api/system-current.txt +6 −6 Original line number Diff line number Diff line Loading @@ -1022,13 +1022,13 @@ package android.app { package android.app.admin { public final class DevicePolicyDrawableResource implements android.os.Parcelable { ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, int, int, int, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, int, int, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int); ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int); method public int describeContents(); method @DrawableRes public int getCallingPackageResourceId(); method public int getDrawableId(); method public int getDrawableSource(); method public int getDrawableStyle(); method @NonNull public String getDrawableId(); method @NonNull public String getDrawableSource(); method @NonNull public String getDrawableStyle(); method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR; } Loading Loading @@ -1067,7 +1067,7 @@ package android.app.admin { method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String); method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void provisionFullyManagedDevice(@NonNull android.app.admin.FullyManagedDeviceProvisioningParams) throws android.app.admin.ProvisioningException; method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull int[]); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull String[]); method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull String[]); method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException; method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
core/java/android/app/admin/DevicePolicyDrawableResource.java +34 −24 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.admin.DevicePolicyResources.Drawables; import android.content.Context; import android.os.Parcel; import android.os.Parcelable; Loading @@ -34,9 +35,9 @@ import java.util.Objects; */ @SystemApi public final class DevicePolicyDrawableResource implements Parcelable { private final @DevicePolicyResources.UpdatableDrawableId int mDrawableId; private final @DevicePolicyResources.UpdatableDrawableStyle int mDrawableStyle; private final @DevicePolicyResources.UpdatableDrawableSource int mDrawableSource; @NonNull private final @DevicePolicyResources.UpdatableDrawableId String mDrawableId; @NonNull private final @DevicePolicyResources.UpdatableDrawableStyle String mDrawableStyle; @NonNull private final @DevicePolicyResources.UpdatableDrawableSource String mDrawableSource; private final @DrawableRes int mCallingPackageResourceId; @NonNull private ParcelableResource mResource; Loading @@ -59,9 +60,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { */ public DevicePolicyDrawableResource( @NonNull Context context, @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @DrawableRes int callingPackageResourceId) { this(drawableId, drawableStyle, drawableSource, callingPackageResourceId, new ParcelableResource(context, callingPackageResourceId, Loading @@ -69,11 +70,17 @@ public final class DevicePolicyDrawableResource implements Parcelable { } private DevicePolicyDrawableResource( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @DrawableRes int callingPackageResourceId, @NonNull ParcelableResource resource) { Objects.requireNonNull(drawableId); Objects.requireNonNull(drawableStyle); Objects.requireNonNull(drawableSource); Objects.requireNonNull(resource); this.mDrawableId = drawableId; this.mDrawableStyle = drawableStyle; this.mDrawableSource = drawableSource; Loading @@ -98,34 +105,37 @@ public final class DevicePolicyDrawableResource implements Parcelable { */ public DevicePolicyDrawableResource( @NonNull Context context, @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @DrawableRes int callingPackageResourceId) { this(context, drawableId, drawableStyle, DevicePolicyResources.Drawable.Source.UNDEFINED, this(context, drawableId, drawableStyle, Drawables.Source.UNDEFINED, callingPackageResourceId); } /** * Returns the ID of the drawable to update. */ @NonNull @DevicePolicyResources.UpdatableDrawableId public int getDrawableId() { public String getDrawableId() { return mDrawableId; } /** * Returns the style of the drawable to update */ @NonNull @DevicePolicyResources.UpdatableDrawableStyle public int getDrawableStyle() { public String getDrawableStyle() { return mDrawableStyle; } /** * Returns the source of the drawable to update. */ @NonNull @DevicePolicyResources.UpdatableDrawableSource public int getDrawableSource() { public String getDrawableSource() { return mDrawableSource; } Loading Loading @@ -153,9 +163,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DevicePolicyDrawableResource other = (DevicePolicyDrawableResource) o; return mDrawableId == other.mDrawableId && mDrawableStyle == other.mDrawableStyle && mDrawableSource == other.mDrawableSource return mDrawableId.equals(other.mDrawableId) && mDrawableStyle.equals(other.mDrawableStyle) && mDrawableSource.equals(other.mDrawableSource) && mCallingPackageResourceId == other.mCallingPackageResourceId && mResource.equals(other.mResource); } Loading @@ -173,9 +183,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeInt(mDrawableId); dest.writeInt(mDrawableStyle); dest.writeInt(mDrawableSource); dest.writeString(mDrawableId); dest.writeString(mDrawableStyle); dest.writeString(mDrawableSource); dest.writeInt(mCallingPackageResourceId); dest.writeTypedObject(mResource, flags); } Loading @@ -184,9 +194,9 @@ public final class DevicePolicyDrawableResource implements Parcelable { new Creator<DevicePolicyDrawableResource>() { @Override public DevicePolicyDrawableResource createFromParcel(Parcel in) { int drawableId = in.readInt(); int drawableStyle = in.readInt(); int drawableSource = in.readInt(); String drawableId = in.readString(); String drawableStyle = in.readString(); String drawableSource = in.readString(); int callingPackageResourceId = in.readInt(); ParcelableResource resource = in.readTypedObject(ParcelableResource.CREATOR); Loading
core/java/android/app/admin/DevicePolicyManager.java +43 −33 Original line number Diff line number Diff line Loading @@ -16,9 +16,6 @@ package android.app.admin; import static android.app.admin.DevicePolicyResources.Drawable.INVALID_ID; import static android.app.admin.DevicePolicyResources.Drawable.Source.UNDEFINED; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; import android.Manifest.permission; Loading @@ -42,6 +39,7 @@ import android.annotation.WorkerThread; import android.app.Activity; import android.app.IServiceConnection; import android.app.KeyguardManager; import android.app.admin.DevicePolicyResources.Drawables; import android.app.admin.SecurityLog.SecurityEvent; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -14738,17 +14736,17 @@ public class DevicePolicyManager { /** * For each {@link DevicePolicyDrawableResource} item in {@code drawables}, if * {@link DevicePolicyDrawableResource#getDrawableSource()} is not set or is set to * {@link DevicePolicyResources.Drawable.Source#UNDEFINED}, it updates the drawable resource for * {@link DevicePolicyResources.Drawables.Source#UNDEFINED}, it updates the drawable resource for * the combination of {@link DevicePolicyDrawableResource#getDrawableId()} and * {@link DevicePolicyDrawableResource#getDrawableStyle()}, (see * {@link DevicePolicyResources.Drawable} and {@link DevicePolicyResources.Drawable.Style}) to * {@link DevicePolicyResources.Drawables} and {@link DevicePolicyResources.Drawables.Style}) to * the drawable with ID {@link DevicePolicyDrawableResource#getCallingPackageResourceId()}, * meaning any system UI surface calling {@link #getDrawable} * with {@code drawableId} and {@code drawableStyle} will get the new resource after this API * is called. * * <p>Otherwise, if {@link DevicePolicyDrawableResource#getDrawableSource()} is set (see * {@link DevicePolicyResources.Drawable.Source}, it overrides any drawables that was set for * {@link DevicePolicyResources.Drawables.Source}, it overrides any drawables that was set for * the same {@code drawableId} and {@code drawableStyle} for the provided source. * * <p>Sends a broadcast with action {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to Loading Loading @@ -14784,10 +14782,10 @@ public class DevicePolicyManager { /** * Removes all updated drawables for the list of {@code drawableIds} (see * {@link DevicePolicyResources.Drawable} that was previously set by calling * {@link DevicePolicyResources.Drawables} that was previously set by calling * {@link #setDrawables}, meaning any subsequent calls to {@link #getDrawable} for the provided * IDs with any {@link DevicePolicyResources.Drawable.Style} and any * {@link DevicePolicyResources.Drawable.Source} will return the default drawable from * IDs with any {@link DevicePolicyResources.Drawables.Style} and any * {@link DevicePolicyResources.Drawables.Source} will return the default drawable from * {@code defaultDrawableLoader}. * * <p>Sends a broadcast with action {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to Loading @@ -14799,7 +14797,7 @@ public class DevicePolicyManager { */ @SystemApi @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull int[] drawableIds) { public void resetDrawables(@NonNull String[] drawableIds) { if (mService != null) { try { mService.resetDrawables(drawableIds); Loading @@ -14811,19 +14809,19 @@ public class DevicePolicyManager { /** * Returns the appropriate updated drawable for the {@code drawableId} * (see {@link DevicePolicyResources.Drawable}), with style {@code drawableStyle} * (see {@link DevicePolicyResources.Drawable.Style}) if one was set using * (see {@link DevicePolicyResources.Drawables}), with style {@code drawableStyle} * (see {@link DevicePolicyResources.Drawables.Style}) if one was set using * {@code setDrawables}, otherwise returns the drawable from {@code defaultDrawableLoader}. * * <p>Also returns the drawable from {@code defaultDrawableLoader} if * {@link DevicePolicyResources.Drawable#INVALID_ID} was passed. * {@link DevicePolicyResources.Drawables#UNDEFINED} was passed. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a * {@link NullPointerException} is thrown. * * <p>This API uses the screen density returned from {@link Resources#getConfiguration()}, to * set a different value use * {@link #getDrawableForDensity(int, int, int, Callable)}. * {@link #getDrawableForDensity(String, String, int, Callable)}. * * <p>Callers should register for {@link #ACTION_DEVICE_POLICY_RESOURCE_UPDATED} to get * notified when a resource has been updated. Loading @@ -14838,16 +14836,18 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawable( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull Callable<Drawable> defaultDrawableLoader) { return getDrawable(drawableId, drawableStyle, UNDEFINED, defaultDrawableLoader); return getDrawable( drawableId, drawableStyle, Drawables.Source.UNDEFINED, defaultDrawableLoader); } /** * Similar to {@link #getDrawable(int, int, Callable)}, but also accepts * a {@code drawableSource} (see {@link DevicePolicyResources.Drawable.Source}) which * could result in returning a different drawable than {@link #getDrawable(int, int, Callable)} * Similar to {@link #getDrawable(String, String, Callable)}, but also accepts * a {@code drawableSource} (see {@link DevicePolicyResources.Drawables.Source}) which * could result in returning a different drawable than * {@link #getDrawable(String, String, Callable)} * if an override was set for that specific source. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14864,12 +14864,17 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawable( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, @NonNull Callable<Drawable> defaultDrawableLoader) { Objects.requireNonNull(drawableId, "drawableId can't be null"); Objects.requireNonNull(drawableStyle, "drawableStyle can't be null"); Objects.requireNonNull(drawableSource, "drawableSource can't be null"); Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null"); if (drawableId == INVALID_ID) { if (Drawables.UNDEFINED.equals(drawableId)) { return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader); } if (mService != null) { Loading Loading @@ -14897,7 +14902,7 @@ public class DevicePolicyManager { } /** * Similar to {@link #getDrawable(int, int, Callable)}, but also accepts * Similar to {@link #getDrawable(String, String, Callable)}, but also accepts * {@code density}. See {@link Resources#getDrawableForDensity(int, int, Resources.Theme)}. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14916,20 +14921,20 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawableForDensity( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, int density, @NonNull Callable<Drawable> defaultDrawableLoader) { return getDrawableForDensity( drawableId, drawableStyle, UNDEFINED, Drawables.Source.UNDEFINED, density, defaultDrawableLoader); } /** * Similar to {@link #getDrawable(int, int, int, Callable)}, but also accepts * Similar to {@link #getDrawable(String, String, String, Callable)}, but also accepts * {@code density}. See {@link Resources#getDrawableForDensity(int, int, Resources.Theme)}. * * <p>{@code defaultDrawableLoader} must return a non {@code null} {@link Drawable}, otherwise a Loading @@ -14949,13 +14954,18 @@ public class DevicePolicyManager { */ @NonNull public Drawable getDrawableForDensity( @DevicePolicyResources.UpdatableDrawableId int drawableId, @DevicePolicyResources.UpdatableDrawableStyle int drawableStyle, @DevicePolicyResources.UpdatableDrawableSource int drawableSource, @NonNull @DevicePolicyResources.UpdatableDrawableId String drawableId, @NonNull @DevicePolicyResources.UpdatableDrawableStyle String drawableStyle, @NonNull @DevicePolicyResources.UpdatableDrawableSource String drawableSource, int density, @NonNull Callable<Drawable> defaultDrawableLoader) { Objects.requireNonNull(drawableId, "drawableId can't be null"); Objects.requireNonNull(drawableStyle, "drawableStyle can't be null"); Objects.requireNonNull(drawableSource, "drawableSource can't be null"); Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null"); if (drawableId == INVALID_ID) { if (Drawables.UNDEFINED.equals(drawableId)) { return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader); } if (mService != null) {
core/java/android/app/admin/DevicePolicyResources.java +46 −46 File changed.Preview size limit exceeded, changes collapsed. Show changes