diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2019-02-04 16:26:42 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2019-02-11 16:23:11 -0800 |
commit | 202ae0b0f50aaccc5779710ad5e52390c2301cf3 (patch) | |
tree | d71615f8eba5644194c49b909fb4446a24dfd47a /src/com/android/launcher3/popup/PopupContainerWithArrow.java | |
parent | 330b857c42304272fc8614f0bc2984b74fedfa73 (diff) | |
download | android_packages_apps_Trebuchet-202ae0b0f50aaccc5779710ad5e52390c2301cf3.tar.gz android_packages_apps_Trebuchet-202ae0b0f50aaccc5779710ad5e52390c2301cf3.tar.bz2 android_packages_apps_Trebuchet-202ae0b0f50aaccc5779710ad5e52390c2301cf3.zip |
Sending notification and widget changes to a listner so that
popups outside Launcher can also listen for changes
Change-Id: I2eb2d8374a6806381e1c682eaef3cc35f30693df
Diffstat (limited to 'src/com/android/launcher3/popup/PopupContainerWithArrow.java')
-rw-r--r-- | src/com/android/launcher3/popup/PopupContainerWithArrow.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java index 9b23f3f21..b0af4c678 100644 --- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java +++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java @@ -61,6 +61,7 @@ import com.android.launcher3.logging.LoggerUtils; import com.android.launcher3.notification.NotificationInfo; import com.android.launcher3.notification.NotificationItemView; import com.android.launcher3.notification.NotificationKeyData; +import com.android.launcher3.popup.PopupDataProvider.PopupDataChangeListener; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.shortcuts.DeepShortcutView; import com.android.launcher3.shortcuts.ShortcutDragPreviewProvider; @@ -72,7 +73,6 @@ import com.android.launcher3.views.BaseDragLayer; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.function.Predicate; /** @@ -80,7 +80,7 @@ import java.util.function.Predicate; */ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, DragController.DragListener, View.OnLongClickListener, - View.OnTouchListener { + View.OnTouchListener, PopupDataChangeListener { private final List<DeepShortcutView> mShortcuts = new ArrayList<>(); private final PointF mInterceptTouchDown = new PointF(); @@ -115,6 +115,18 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + mLauncher.getPopupDataProvider().setChangeListener(this); + } + + @Override + protected void onDetachedFromWindow() { + super.onDetachedFromWindow(); + mLauncher.getPopupDataProvider().setChangeListener(null); + } + + @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { mInterceptTouchDown.set(ev.getX(), ev.getY()); @@ -352,7 +364,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } @Override - protected void onWidgetsBound() { + public void onWidgetsBound() { ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag(); SystemShortcut widgetInfo = new SystemShortcut.Widgets(); View.OnClickListener onClickListener = widgetInfo.getOnClickListener(mLauncher, itemInfo); @@ -464,7 +476,8 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, /** * Updates the notification header if the original icon's dot updated. */ - public void updateNotificationHeader(Predicate<PackageUserKey> updatedDots) { + @Override + public void onNotificationDotsUpdated(Predicate<PackageUserKey> updatedDots) { ItemInfo itemInfo = (ItemInfo) mOriginalIcon.getTag(); PackageUserKey packageUser = PackageUserKey.fromItemInfo(itemInfo); if (updatedDots.test(packageUser)) { @@ -481,6 +494,7 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource, } } + @Override public void trimNotifications(Map<PackageUserKey, DotInfo> updatedDots) { if (mNotificationItemView == null) { return; |