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

Commit dad66f41 authored by Sunny Goyal's avatar Sunny Goyal Committed by Android (Google) Code Review
Browse files

Revert "Removing unnecessary iconFactory class when generating b..."

Revert submission 25483550-themed-badge

Reason for revert: b/314097390

Reverted changes: /q/submissionid:25483550-themed-badge

Change-Id: I7ad16d7c5d5457d350ac6cff86d512c2f57dbcbf
parent 0069e54f
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.text.TextUtils;
import android.util.SparseArray;
import android.view.accessibility.AccessibilityManager;

import androidx.annotation.WorkerThread;

@@ -44,7 +45,6 @@ import com.android.launcher3.pm.UserCache;
import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.DisplayController.DisplayInfoChangeListener;
import com.android.launcher3.util.DisplayController.Info;
import com.android.launcher3.util.FlagOp;
import com.android.launcher3.util.Preconditions;
import com.android.quickstep.util.CancellableTask;
import com.android.quickstep.util.TaskKeyLruCache;
@@ -62,6 +62,7 @@ import java.util.function.Consumer;
public class TaskIconCache implements DisplayInfoChangeListener {

    private final Executor mBgExecutor;
    private final AccessibilityManager mAccessibilityManager;

    private final Context mContext;
    private final TaskKeyLruCache<TaskCacheEntry> mIconCache;
@@ -78,6 +79,7 @@ public class TaskIconCache implements DisplayInfoChangeListener {
    public TaskIconCache(Context context, Executor bgExecutor, IconProvider iconProvider) {
        mContext = context;
        mBgExecutor = bgExecutor;
        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
        mIconProvider = iconProvider;

        Resources res = context.getResources();
@@ -236,14 +238,17 @@ public class TaskIconCache implements DisplayInfoChangeListener {
            if ((index = mDefaultIcons.indexOfKey(userId)) >= 0) {
                return mDefaultIcons.valueAt(index).newIcon(mContext);
            } else {
                try (BaseIconFactory li = getIconFactory()) {
                    BitmapInfo info = mDefaultIconBase.withFlags(
                        UserCache.INSTANCE.get(mContext).getUserInfo(UserHandle.of(userId))
                                .applyBitmapInfoFlags(FlagOp.NO_OP));
                            li.getBitmapFlagOp(new IconOptions()
                                    .setUser(UserCache.INSTANCE.get(mContext)
                                            .getUserInfo(UserHandle.of(userId)))));
                    mDefaultIcons.put(userId, info);
                    return info.newIcon(mContext);
                }
            }
        }
    }

    @WorkerThread
    private BitmapInfo getBitmapInfo(Drawable drawable, int userId,
+7 −6
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ import androidx.core.graphics.ColorUtils;

import com.android.launcher3.dragndrop.FolderAdaptiveIcon;
import com.android.launcher3.graphics.TintedDrawableSpan;
import com.android.launcher3.icons.BaseIconFactory;
import com.android.launcher3.icons.BitmapInfo;
import com.android.launcher3.icons.LauncherIcons;
import com.android.launcher3.icons.ShortcutCachingLogic;
@@ -90,7 +91,6 @@ import com.android.launcher3.pm.UserCache;
import com.android.launcher3.shortcuts.ShortcutKey;
import com.android.launcher3.shortcuts.ShortcutRequest;
import com.android.launcher3.testing.shared.ResourceUtils;
import com.android.launcher3.util.FlagOp;
import com.android.launcher3.util.IntArray;
import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption;
import com.android.launcher3.util.Themes;
@@ -676,11 +676,12 @@ public final class Utilities {
        }

        if (badge == null) {
            try (LauncherIcons li = LauncherIcons.obtain(context)) {
                badge = BitmapInfo.LOW_RES_INFO.withFlags(
                            UserCache.INSTANCE.get(context)
                                    .getUserInfo(info.user)
                                    .applyBitmapInfoFlags(FlagOp.NO_OP))
                                li.getBitmapFlagOp(new BaseIconFactory.IconOptions().setUser(
                                        UserCache.INSTANCE.get(context).getUserInfo(info.user))))
                        .getBadgeDrawable(context, useTheme);
            }
            if (badge == null) {
                badge = new ColorDrawable(Color.TRANSPARENT);
            }