Fix state weirdness in the panel

When QS was open while the we started with expansion, we
immediately notified about expansion finsihed again, which led to all
kinds of weird states. The change that introduced these bugs was to
fix another bug in which onExpandingFinished was not call. Make sure
to call in exactly that case and no other case to not risk
regressions.

Bug: 22806817
Bug: 22807359
Bug: 22807372
Change-Id: Id7daf37ef4a772f724971bf79c61084ff4279f31
This commit is contained in:
Jorim Jaggi
2015-07-29 14:52:22 -07:00
parent 95c6daed39
commit 26aa04c3c4

View File

@@ -626,6 +626,7 @@ public class NotificationPanelView extends PanelView implements
&& shouldQuickSettingsIntercept(mInitialTouchX, mInitialTouchY, h)) {
mQsTracking = true;
onQsExpansionStarted();
notifyExpandingFinished();
mInitialHeightOnTouch = mQsExpansionHeight;
mInitialTouchY = y;
mInitialTouchX = x;
@@ -825,9 +826,7 @@ public class NotificationPanelView extends PanelView implements
mInitialTouchX = event.getY();
// If we interrupt an expansion gesture here, make sure to update the state correctly.
if (mIsExpanding) {
onExpandingFinished();
}
notifyExpandingFinished();
}
}
@@ -970,7 +969,6 @@ public class NotificationPanelView extends PanelView implements
private void onQsExpansionStarted(int overscrollAmount) {
cancelQsAnimation();
cancelHeightAnimator();
notifyExpandingFinished();
// Reset scroll position and apply that position to the expanded height.
float height = mQsExpansionHeight - mScrollView.getScrollY() - overscrollAmount;