summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/popup
diff options
context:
space:
mode:
authorTony Wickham <twickham@google.com>2017-04-26 15:59:58 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-04-26 15:59:58 +0000
commitd4aac0a0289555c9125db4912fe7a893fdd61d64 (patch)
tree9fd25c6cc37581bdd9871bf83f7dc81f628e9043 /src/com/android/launcher3/popup
parentca0cc050760a3c72d222466f0791f212a9cf4caa (diff)
parent59c4ae4d89aefebe19c020742db9c37eb8b39798 (diff)
downloadandroid_packages_apps_Trebuchet-d4aac0a0289555c9125db4912fe7a893fdd61d64.tar.gz
android_packages_apps_Trebuchet-d4aac0a0289555c9125db4912fe7a893fdd61d64.tar.bz2
android_packages_apps_Trebuchet-d4aac0a0289555c9125db4912fe7a893fdd61d64.zip
Merge "Move update popup header out of BubbleTextView" into ub-launcher3-dorval
am: 59c4ae4d89 Change-Id: I7d70478ccf17c74c65bab16641f888c105899799
Diffstat (limited to 'src/com/android/launcher3/popup')
-rw-r--r--src/com/android/launcher3/popup/PopupContainerWithArrow.java29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index ee64ef9e1..b00eb1f72 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -77,6 +77,7 @@ import com.android.launcher3.util.PackageUserKey;
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import static com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
import static com.android.launcher3.userevent.nano.LauncherLogProto.ItemType;
@@ -172,6 +173,8 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
final int arrowVerticalOffset = resources.getDimensionPixelSize(
R.dimen.popup_arrow_vertical_offset);
+ mOriginalIcon = originalIcon;
+
// Add dummy views first, and populate with real info when ready.
PopupPopulator.Item[] itemsToPopulate = PopupPopulator
.getItemsToPopulate(shortcutIds, notificationKeys, systemShortcuts);
@@ -200,9 +203,7 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
? Collections.EMPTY_LIST
: mShortcutsItemView.getSystemShortcutViews(reverseOrder);
if (mNotificationItemView != null) {
- BadgeInfo badgeInfo = mLauncher.getPopupDataProvider()
- .getBadgeInfoForItem(originalItemInfo);
- updateNotificationHeader(badgeInfo, originalIcon);
+ updateNotificationHeader();
}
// Add the arrow.
@@ -212,7 +213,6 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
animateOpen();
- mOriginalIcon = originalIcon;
mLauncher.getDragController().addDragListener(this);
mOriginalIcon.forceHideBadge(true);
@@ -551,21 +551,22 @@ public class PopupContainerWithArrow extends AbstractFloatingView implements Dra
}
/**
- * Updates the notification header to reflect the badge info. Since this can be called
- * for any badge info (not necessarily the one associated with this app), we first
- * check that the ItemInfo matches the one of this popup.
+ * Updates the notification header if the original icon's badge updated.
*/
- public void updateNotificationHeader(BadgeInfo badgeInfo, ItemInfo originalItemInfo) {
- if (originalItemInfo != mOriginalIcon.getTag()) {
- return;
+ public void updateNotificationHeader(Set<PackageUserKey> updatedBadges) {
+ ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag();
+ PackageUserKey packageUser = PackageUserKey.fromItemInfo(itemInfo);
+ if (updatedBadges.contains(packageUser)) {
+ updateNotificationHeader();
}
- updateNotificationHeader(badgeInfo, mOriginalIcon);
}
- private void updateNotificationHeader(BadgeInfo badgeInfo, BubbleTextView originalIcon) {
+ private void updateNotificationHeader() {
+ ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag();
+ BadgeInfo badgeInfo = mLauncher.getPopupDataProvider().getBadgeInfoForItem(itemInfo);
if (mNotificationItemView != null && badgeInfo != null) {
- IconPalette palette = originalIcon.getIcon() instanceof FastBitmapDrawable
- ? ((FastBitmapDrawable) originalIcon.getIcon()).getIconPalette()
+ IconPalette palette = mOriginalIcon.getIcon() instanceof FastBitmapDrawable
+ ? ((FastBitmapDrawable) mOriginalIcon.getIcon()).getIconPalette()
: null;
mNotificationItemView.updateHeader(badgeInfo.getNotificationCount(), palette);
}