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
diff --git a/quickstep/src/com/android/quickstep/TaskIconCache.java b/quickstep/src/com/android/quickstep/TaskIconCache.java
index 1b3f598..20a751b 100644
--- a/quickstep/src/com/android/quickstep/TaskIconCache.java
+++ b/quickstep/src/com/android/quickstep/TaskIconCache.java
@@ -31,6 +31,7 @@
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.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 @@
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 TaskIconCache(Context context, Executor bgExecutor, IconProvider iconProvider) {
mContext = context;
mBgExecutor = bgExecutor;
+ mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
mIconProvider = iconProvider;
Resources res = context.getResources();
@@ -236,11 +238,14 @@
if ((index = mDefaultIcons.indexOfKey(userId)) >= 0) {
return mDefaultIcons.valueAt(index).newIcon(mContext);
} else {
- BitmapInfo info = mDefaultIconBase.withFlags(
- UserCache.INSTANCE.get(mContext).getUserInfo(UserHandle.of(userId))
- .applyBitmapInfoFlags(FlagOp.NO_OP));
- mDefaultIcons.put(userId, info);
- return info.newIcon(mContext);
+ try (BaseIconFactory li = getIconFactory()) {
+ BitmapInfo info = mDefaultIconBase.withFlags(
+ li.getBitmapFlagOp(new IconOptions()
+ .setUser(UserCache.INSTANCE.get(mContext)
+ .getUserInfo(UserHandle.of(userId)))));
+ mDefaultIcons.put(userId, info);
+ return info.newIcon(mContext);
+ }
}
}
}
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java
index 3f1ccb9..8ba6d2c 100644
--- a/src/com/android/launcher3/Utilities.java
+++ b/src/com/android/launcher3/Utilities.java
@@ -79,6 +79,7 @@
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.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 @@
}
if (badge == null) {
- badge = BitmapInfo.LOW_RES_INFO.withFlags(
- UserCache.INSTANCE.get(context)
- .getUserInfo(info.user)
- .applyBitmapInfoFlags(FlagOp.NO_OP))
- .getBadgeDrawable(context, useTheme);
+ try (LauncherIcons li = LauncherIcons.obtain(context)) {
+ badge = BitmapInfo.LOW_RES_INFO.withFlags(
+ li.getBitmapFlagOp(new BaseIconFactory.IconOptions().setUser(
+ UserCache.INSTANCE.get(context).getUserInfo(info.user))))
+ .getBadgeDrawable(context, useTheme);
+ }
if (badge == null) {
badge = new ColorDrawable(Color.TRANSPARENT);
}