summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-02-03 18:24:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-02-03 18:24:14 +0000
commite1fa0145d36fbefeb397f952cba2689ce537d786 (patch)
treeae0b182a1633e99aedaa0a53965867c018b29d6a
parent3c7d9cbb209107a8c8d41211beff7bf5af6fe285 (diff)
parent18a1b5da360fcd9b371bea2a9cbd06085c698d8c (diff)
downloadandroid_packages_apps_Trebuchet-e1fa0145d36fbefeb397f952cba2689ce537d786.tar.gz
android_packages_apps_Trebuchet-e1fa0145d36fbefeb397f952cba2689ce537d786.tar.bz2
android_packages_apps_Trebuchet-e1fa0145d36fbefeb397f952cba2689ce537d786.zip
Merge "Gracefully ignore items that don't support notifications" into ub-launcher3-master
-rw-r--r--src/com/android/launcher3/Workspace.java4
-rw-r--r--src/com/android/launcher3/allapps/AllAppsContainerView.java3
-rw-r--r--src/com/android/launcher3/util/PackageUserKey.java14
3 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index d2008a6a6..981941892 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -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);
}
diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java
index ec1fa34d0..54d0bbe50 100644
--- a/src/com/android/launcher3/allapps/AllAppsContainerView.java
+++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java
@@ -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);
}
diff --git a/src/com/android/launcher3/util/PackageUserKey.java b/src/com/android/launcher3/util/PackageUserKey.java
index d08b0e931..3fb240117 100644
--- a/src/com/android/launcher3/util/PackageUserKey.java
+++ b/src/com/android/launcher3/util/PackageUserKey.java
@@ -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