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

Commit fe915a5d authored by kholoud mohamed's avatar kholoud mohamed Committed by Automerger Merge Worker
Browse files

RESTRICT AUTOMERGE Add feature flag to disable resource updatability APIs am:...

RESTRICT AUTOMERGE Add feature flag to disable resource updatability APIs am: 50f529a1 am: d721a3ed

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18188748



Change-Id: Iac3bebf6314902251b50980fbc44171c1388c682
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 39f83605 d721a3ed
Loading
Loading
Loading
Loading
+32 −9
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.os.RemoteException;
import android.provider.DeviceConfig;
import android.util.DisplayMetrics;
import android.util.Log;

@@ -40,6 +41,9 @@ import java.util.function.Supplier;
public class DevicePolicyResourcesManager {
    private static String TAG = "DevicePolicyResourcesManager";

    private static String DISABLE_RESOURCES_UPDATABILITY_FLAG = "disable_resources_updatability";
    private static boolean DEFAULT_DISABLE_RESOURCES_UPDATABILITY = false;

    private final Context mContext;
    private final IDevicePolicyManager mService;

@@ -194,16 +198,20 @@ public class DevicePolicyResourcesManager {
        Objects.requireNonNull(drawableSource, "drawableSource can't be null");
        Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null");

        if (drawableId.equals(DevicePolicyResources.UNDEFINED)) {
        if (drawableId.equals(DevicePolicyResources.UNDEFINED)
                || DeviceConfig.getBoolean(
                        DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
                        DISABLE_RESOURCES_UPDATABILITY_FLAG,
                        DEFAULT_DISABLE_RESOURCES_UPDATABILITY)) {
            return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader);
        }

        if (mService != null) {
            try {
                ParcelableResource resource = mService.getDrawable(
                        drawableId, drawableStyle, drawableSource);
                if (resource == null) {
                    return ParcelableResource.loadDefaultDrawable(
                            defaultDrawableLoader);
                    return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader);
                }
                return resource.getDrawable(
                        mContext,
@@ -287,16 +295,20 @@ public class DevicePolicyResourcesManager {
        Objects.requireNonNull(drawableSource, "drawableSource can't be null");
        Objects.requireNonNull(defaultDrawableLoader, "defaultDrawableLoader can't be null");

        if (drawableId.equals(DevicePolicyResources.UNDEFINED)) {
        if (drawableId.equals(DevicePolicyResources.UNDEFINED)
                || DeviceConfig.getBoolean(
                        DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
                        DISABLE_RESOURCES_UPDATABILITY_FLAG,
                        DEFAULT_DISABLE_RESOURCES_UPDATABILITY)) {
            return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader);
        }

        if (mService != null) {
            try {
                ParcelableResource resource = mService.getDrawable(
                        drawableId, drawableStyle, drawableSource);
                if (resource == null) {
                    return ParcelableResource.loadDefaultDrawable(
                            defaultDrawableLoader);
                    return ParcelableResource.loadDefaultDrawable(defaultDrawableLoader);
                }
                return resource.getDrawable(mContext, density, defaultDrawableLoader);
            } catch (RemoteException e) {
@@ -330,9 +342,14 @@ public class DevicePolicyResourcesManager {
        Objects.requireNonNull(drawableSource, "drawableSource can't be null");
        Objects.requireNonNull(defaultIcon, "defaultIcon can't be null");

        if (drawableId.equals(DevicePolicyResources.UNDEFINED)) {
        if (drawableId.equals(DevicePolicyResources.UNDEFINED)
                || DeviceConfig.getBoolean(
                        DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
                        DISABLE_RESOURCES_UPDATABILITY_FLAG,
                        DEFAULT_DISABLE_RESOURCES_UPDATABILITY)) {
            return defaultIcon;
        }

        if (mService != null) {
            try {
                ParcelableResource resource = mService.getDrawable(
@@ -463,7 +480,10 @@ public class DevicePolicyResourcesManager {
        Objects.requireNonNull(stringId, "stringId can't be null");
        Objects.requireNonNull(defaultStringLoader, "defaultStringLoader can't be null");

        if (stringId.equals(DevicePolicyResources.UNDEFINED)) {
        if (stringId.equals(DevicePolicyResources.UNDEFINED) || DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
                DISABLE_RESOURCES_UPDATABILITY_FLAG,
                DEFAULT_DISABLE_RESOURCES_UPDATABILITY)) {
            return ParcelableResource.loadDefaultString(defaultStringLoader);
        }
        if (mService != null) {
@@ -508,7 +528,10 @@ public class DevicePolicyResourcesManager {
        Objects.requireNonNull(stringId, "stringId can't be null");
        Objects.requireNonNull(defaultStringLoader, "defaultStringLoader can't be null");

        if (stringId.equals(DevicePolicyResources.UNDEFINED)) {
        if (stringId.equals(DevicePolicyResources.UNDEFINED) || DeviceConfig.getBoolean(
                DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
                DISABLE_RESOURCES_UPDATABILITY_FLAG,
                DEFAULT_DISABLE_RESOURCES_UPDATABILITY)) {
            return ParcelableResource.loadDefaultString(defaultStringLoader);
        }
        if (mService != null) {