Storing BitmapInfo instead of icon and color directly in itemInfo

This will allow subclassing BitmapInfo to support custom icon/dynamic
icons which can be loaded on the background thread instead of going
through IconFactory which runs on UiThread

Change-Id: Ieced6e91330bdff1b505826d097a8df711dfe967
This commit is contained in:
Sunny Goyal
2019-10-25 13:41:28 -07:00
parent 0d9752c647
commit 3808a69a6c
35 changed files with 135 additions and 149 deletions

View File

@@ -18,6 +18,8 @@ package com.android.launcher3.widget;
import android.util.Log;
import androidx.recyclerview.widget.RecyclerView;
import com.android.launcher3.icons.IconCache;
import com.android.launcher3.model.PackageItemInfo;
import com.android.launcher3.widget.WidgetsListAdapter.WidgetListRowEntryComparator;
@@ -25,8 +27,6 @@ import com.android.launcher3.widget.WidgetsListAdapter.WidgetListRowEntryCompara
import java.util.ArrayList;
import java.util.Iterator;
import androidx.recyclerview.widget.RecyclerView;
/**
* Do diff on widget's tray list items and call the {@link RecyclerView.Adapter}
* methods accordingly.
@@ -137,7 +137,7 @@ public class WidgetsDiffReporter {
}
private boolean isSamePackageItemInfo(PackageItemInfo curInfo, PackageItemInfo newInfo) {
return curInfo.iconBitmap.equals(newInfo.iconBitmap) &&
!mIconCache.isDefaultIcon(curInfo.iconBitmap, curInfo.user);
return curInfo.bitmap.icon.equals(newInfo.bitmap.icon)
&& !mIconCache.isDefaultIcon(curInfo.bitmap, curInfo.user);
}
}