mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-27 23:36:47 +00:00
Merge "Gracefully ignore items that don't support notifications" into ub-launcher3-master
This commit is contained in:
@@ -3987,8 +3987,8 @@ public class Workspace extends PagedView
|
||||
mapOverItems(MAP_RECURSE, new ItemOperator() {
|
||||
@Override
|
||||
public boolean evaluate(ItemInfo info, View v) {
|
||||
if (info instanceof ShortcutInfo && v instanceof BubbleTextView) {
|
||||
packageUserKey.updateFromItemInfo(info);
|
||||
if (info instanceof ShortcutInfo && v instanceof BubbleTextView
|
||||
&& packageUserKey.updateFromItemInfo(info)) {
|
||||
if (updatedBadges.contains(packageUserKey)) {
|
||||
((BubbleTextView) v).applyBadgeState(info);
|
||||
}
|
||||
|
||||
@@ -478,8 +478,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc
|
||||
public void updateIconBadges(Set<PackageUserKey> updatedBadges) {
|
||||
final PackageUserKey packageUserKey = new PackageUserKey(null, null);
|
||||
for (AlphabeticalAppsList.AdapterItem app : mApps.getAdapterItems()) {
|
||||
if (app.appInfo != null) {
|
||||
packageUserKey.updateFromItemInfo(app.appInfo);
|
||||
if (app.appInfo != null && packageUserKey.updateFromItemInfo(app.appInfo)) {
|
||||
if (updatedBadges.contains(packageUserKey)) {
|
||||
mAdapter.notifyItemChanged(app.position);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.os.UserHandle;
|
||||
import android.service.notification.StatusBarNotification;
|
||||
|
||||
import com.android.launcher3.ItemInfo;
|
||||
import com.android.launcher3.shortcuts.DeepShortcutManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -32,9 +33,16 @@ public class PackageUserKey {
|
||||
mHashCode = Arrays.hashCode(new Object[] {packageName, user});
|
||||
}
|
||||
|
||||
/** This should only be called to avoid new object creations in a loop. */
|
||||
public void updateFromItemInfo(ItemInfo info) {
|
||||
update(info.getTargetComponent().getPackageName(), info.user);
|
||||
/**
|
||||
* This should only be called to avoid new object creations in a loop.
|
||||
* @return Whether this PackageUserKey was successfully updated - it shouldn't be used if not.
|
||||
*/
|
||||
public boolean updateFromItemInfo(ItemInfo info) {
|
||||
if (DeepShortcutManager.supportsShortcuts(info)) {
|
||||
update(info.getTargetComponent().getPackageName(), info.user);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user