am e4b840d6: Fix overexpand panel motion

* commit 'e4b840d63d8334dc1af113a890c2e9d067bb9139':
  Fix overexpand panel motion
This commit is contained in:
Jorim Jaggi
2015-06-30 23:39:48 +00:00
committed by Android Git Automerger
2 changed files with 12 additions and 2 deletions

View File

@@ -1818,6 +1818,7 @@ public class NotificationPanelView extends PanelView implements
|| mStatusBar.getBarState() == StatusBarState.SHADE_LOCKED) {
mAfforanceHelper.animateHideLeftRightIcon();
}
mNotificationStackScroller.onPanelTrackingStarted();
}
@Override
@@ -1827,6 +1828,7 @@ public class NotificationPanelView extends PanelView implements
mNotificationStackScroller.setOverScrolledPixels(
0.0f, true /* onTop */, true /* animate */);
}
mNotificationStackScroller.onPanelTrackingStopped();
if (expand && (mStatusBar.getBarState() == StatusBarState.KEYGUARD
|| mStatusBar.getBarState() == StatusBarState.SHADE_LOCKED)) {
if (!mHintAnimationRunning) {

View File

@@ -163,6 +163,7 @@ public class NotificationStackScrollLayout extends ViewGroup
private boolean mChildrenUpdateRequested;
private SpeedBumpView mSpeedBumpView;
private boolean mIsExpansionChanging;
private boolean mPanelTracking;
private boolean mExpandingNotification;
private boolean mExpandedInThisMotion;
private boolean mScrollingEnabled;
@@ -1513,7 +1514,7 @@ public class NotificationStackScrollLayout extends ViewGroup
}
if (mExpandedInThisMotion) {
return RUBBER_BAND_FACTOR_AFTER_EXPAND;
} else if (mIsExpansionChanging) {
} else if (mIsExpansionChanging || mPanelTracking) {
return RUBBER_BAND_FACTOR_ON_PANEL_EXPAND;
} else if (mScrolledToTopOnFirstDown) {
return 1.0f;
@@ -1527,7 +1528,7 @@ public class NotificationStackScrollLayout extends ViewGroup
* overscroll view (e.g. expand QS).
*/
private boolean isRubberbanded(boolean onTop) {
return !onTop || mExpandedInThisMotion || mIsExpansionChanging
return !onTop || mExpandedInThisMotion || mIsExpansionChanging || mPanelTracking
|| !mScrolledToTopOnFirstDown;
}
@@ -2249,6 +2250,13 @@ public class NotificationStackScrollLayout extends ViewGroup
}
}
public void onPanelTrackingStarted() {
mPanelTracking = true;
}
public void onPanelTrackingStopped() {
mPanelTracking = false;
}
public void resetScrollPosition() {
mScroller.abortAnimation();
mOwnScrollY = 0;