summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Selim Cinek <cinek@google.com> 2019-07-22 18:36:54 -0700
committer Selim Cinek <cinek@google.com> 2019-07-23 14:53:16 -0700
commitaae9ad6770e612ad734ed6afbbec33c6f493a329 (patch)
treef5bf5c027037a43f8ce8cac109bb9c4928c883ce
parent2738aa3f79041f8be9183dcc35c9e0220f6829d8 (diff)
Fixed the behavior when dragging down on home screen with a hun
Previously the headsupmanager wouldn't be informed about the update and touches would not necessarily go through to the panelView because we were still considered small. Fixes: 138152555 Test: drag down on home while a hun is showing Change-Id: I1d28e3df8ccac297a65424fe1c9401968a364ee6
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java3
4 files changed, 14 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
index 212808dae8e3..15cc72c2d7a1 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
@@ -184,4 +184,6 @@ public interface NotificationListContainer extends ExpandableView.OnHeightChange
default boolean containsView(View v) {
return true;
}
+
+ default void setWillExpand(boolean willExpand) {};
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 9e3d74b138fa..84d48b6043e4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -500,6 +500,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
private boolean mAnimateBottomOnLayout;
private float mLastSentAppear;
private float mLastSentExpandedHeight;
+ private boolean mWillExpand;
@Inject
public NotificationStackScrollLayout(
@@ -4398,6 +4399,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
mStateAnimator.setShadeExpanded(isExpanded);
mSwipeHelper.setIsExpanded(isExpanded);
if (changed) {
+ mWillExpand = false;
if (!mIsExpanded) {
mGroupManager.collapseAllGroups();
mExpandHelper.cancelImmediately();
@@ -5047,7 +5049,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
if (mAnimationsEnabled && (isHeadsUp || mHeadsUpGoingAwayAnimationsAllowed)) {
mHeadsUpChangeAnimations.add(new Pair<>(row, isHeadsUp));
mNeedsAnimation = true;
- if (!mIsExpanded && !isHeadsUp) {
+ if (!mIsExpanded && !mWillExpand && !isHeadsUp) {
row.setHeadsUpAnimatingAway(true);
}
requestChildrenUpdate();
@@ -5068,6 +5070,11 @@ public class NotificationStackScrollLayout extends ViewGroup implements ScrollAd
requestChildrenUpdate();
}
+ @Override
+ public void setWillExpand(boolean willExpand) {
+ mWillExpand = willExpand;
+ }
+
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
public void setTrackingHeadsUp(ExpandableNotificationRow row) {
mTrackingHeadsUp = row != null;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
index 37855ae592a5..501de5bb6e4e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -1278,6 +1278,7 @@ public class NotificationPanelView extends PanelView implements
}
mExpectingSynthesizedDown = true;
onTrackingStarted();
+ updatePanelExpanded();
}
/**
@@ -2029,7 +2030,7 @@ public class NotificationPanelView extends PanelView implements
}
private void updatePanelExpanded() {
- boolean isExpanded = !isFullyCollapsed();
+ boolean isExpanded = !isFullyCollapsed() || mExpectingSynthesizedDown;
if (mPanelExpanded != isExpanded) {
mHeadsUpManager.setIsPanelExpanded(isExpanded);
mStatusBar.setPanelExpanded(isExpanded);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index d93dc950a077..010c70acc54b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -1802,6 +1802,8 @@ public class StatusBar extends SystemUI implements DemoMode,
mVibratorHelper.vibrate(VibrationEffect.EFFECT_TICK);
}
mNotificationPanel.expand(true /* animate */);
+ ((NotificationListContainer) mStackScroller).setWillExpand(true);
+ mHeadsUpManager.unpinAll(true /* userUnpinned */);
mMetricsLogger.count(NotificationPanelView.COUNTER_PANEL_OPEN, 1);
} else if (!mNotificationPanel.isInSettings() && !mNotificationPanel.isExpanding()){
mNotificationPanel.flingSettings(0 /* velocity */,
@@ -1939,7 +1941,6 @@ public class StatusBar extends SystemUI implements DemoMode,
if (start) {
mNotificationPanel.startWaitingForOpenPanelGesture();
- setPanelExpanded(true);
} else {
mNotificationPanel.stopWaitingForOpenPanelGesture(velocity);
}