mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Gracefully ignore items that don't support notifications
PackageUserKey is only meant to be used for items that support notifications, so when trying to update it for an item that doesn't, we don't use it to check if the item has notifications. This fixes a crash that happens when trying to update notifications for a legacy shortcut, as such a shortcut doesn't have a component on its intent, which we were trying to use to populate PackageUserKey. Bug: 34842278 Change-Id: I8c69ccebbf9d93505d5b29ecd25d76c65610ddc4
This commit is contained in:
@@ -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