diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index 6609699e6c00c..c73e115d9dd00 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -519,6 +519,13 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { return mPrivateLayout.getNotificationHeader(); } + private NotificationHeaderView getVisibleNotificationHeader() { + if (mNotificationHeader != null) { + return mNotificationHeader; + } + return getShowingLayout().getVisibleNotificationHeader(); + } + public void setOnExpandClickListener(OnExpandClickListener onExpandClickListener) { mOnExpandClickListener = onExpandClickListener; } @@ -1293,7 +1300,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { protected boolean disallowSingleClick(MotionEvent event) { float x = event.getX(); float y = event.getY(); - NotificationHeaderView header = getNotificationHeader(); + NotificationHeaderView header = getVisibleNotificationHeader(); if (header != null) { return header.isInTouchRect(x, y); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java index 839bc455746db..647f0bfd0e264 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationContentView.java @@ -475,6 +475,19 @@ public class NotificationContentView extends FrameLayout { } } + private NotificationViewWrapper getCurrentVisibleWrapper() { + switch (mVisibleType) { + case VISIBLE_TYPE_EXPANDED: + return mExpandedWrapper; + case VISIBLE_TYPE_HEADSUP: + return mHeadsUpWrapper; + case VISIBLE_TYPE_CONTRACTED: + return mContractedWrapper; + default: + return null; + } + } + /** * @return one of the static enum types in this view, calculated form the current state */ @@ -684,6 +697,11 @@ public class NotificationContentView extends FrameLayout { return header; } + public NotificationHeaderView getVisibleNotificationHeader() { + NotificationViewWrapper wrapper = getCurrentVisibleWrapper(); + return wrapper == null ? null : wrapper.getNotificationHeader(); + } + public void setContainingNotification(ExpandableNotificationRow containingNotification) { mContainingNotification = containingNotification; }