Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 81c9485a authored by kholoud mohamed's avatar kholoud mohamed
Browse files

Change updatable drawable IDs to strings

Bug: 188410712
Bug: 203548565
Test: atest EnterpriseResourcesTests
Change-Id: I68b18fd46cba5c0c92eaf05bd09cfa7566c02efe
parent 846944e9
Loading
Loading
Loading
Loading
+27 −27
Original line number Diff line number Diff line
@@ -7295,10 +7295,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);
@@ -7709,29 +7709,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 {
+6 −6
Original line number Diff line number Diff line
@@ -1021,13 +1021,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;
  }
@@ -1066,7 +1066,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();
+34 −24
Original line number Diff line number Diff line
@@ -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;
@@ -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;

@@ -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,
@@ -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;
@@ -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;
    }

@@ -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);
    }
@@ -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);
    }
@@ -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);

+43 −33
Original line number Diff line number Diff line
@@ -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;
@@ -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;
@@ -14733,17 +14731,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
@@ -14779,10 +14777,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
@@ -14794,7 +14792,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);
@@ -14806,19 +14804,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.
@@ -14833,16 +14831,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
@@ -14859,12 +14859,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) {
@@ -14892,7 +14897,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
@@ -14911,20 +14916,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
@@ -14944,13 +14949,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) {
+46 −46

File changed.

Preview size limit exceeded, changes collapsed.

Loading