OSDN Git Service

Add null check when populating popup
authorTony <twickham@google.com>
Thu, 2 Mar 2017 00:51:15 +0000 (16:51 -0800)
committerTony <twickham@google.com>
Thu, 2 Mar 2017 01:14:28 +0000 (17:14 -0800)
It was crashing when there were notifications
but no shortcuts.

Change-Id: I92e961e6186ef24736777855e114bd3245f7ac91

src/com/android/launcher3/popup/PopupContainerWithArrow.java

index 15dde43..0b0f88a 100644 (file)
@@ -70,6 +70,8 @@ import com.android.launcher3.shortcuts.DeepShortcutView;
 import com.android.launcher3.shortcuts.ShortcutsItemView;
 import com.android.launcher3.util.PackageUserKey;
 
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -182,14 +184,12 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
             orientAboutIcon(originalIcon, arrowHeight + arrowVerticalOffset);
         }
 
-        List<DeepShortcutView> shortcutViews = mShortcutsItemView.getDeepShortcutViews(reverseOrder);
-        for (int i = 0; i < itemsToPopulate.length; i++) {
-            switch (itemsToPopulate[i]) {
-                case NOTIFICATION:
-                    IconPalette iconPalette = originalIcon.getIconPalette();
-                    mNotificationItemView.applyColors(iconPalette);
-                    break;
-            }
+        List<DeepShortcutView> shortcutViews = mShortcutsItemView == null
+                ? Collections.EMPTY_LIST
+                : mShortcutsItemView.getDeepShortcutViews(reverseOrder);
+        if (mNotificationItemView != null) {
+            IconPalette iconPalette = originalIcon.getIconPalette();
+            mNotificationItemView.applyColors(iconPalette);
         }
 
         // Add the arrow.