Fixing scrolling regression with layout changes.
Change-Id: Ic440d147ca13bf13d7f311b6d9876e3c02d4f189
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
index 986df91..57f1274 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackView.java
@@ -428,11 +428,11 @@
@Override
public void computeScroll() {
+ mStackScroller.computeScroll();
// Synchronize the views
if (synchronizeStackViewsWithModel()) {
clipTaskViews();
}
- mStackScroller.computeScroll();
}
/** Computes the stack and task rects */
@@ -632,12 +632,6 @@
}
}
- @Override
- protected void onScrollChanged(int l, int t, int oldl, int oldt) {
- super.onScrollChanged(l, t, oldl, oldt);
- requestSynchronizeStackViewsWithModel();
- }
-
public boolean isTransformedTouchPointInView(float x, float y, View child) {
return isTransformedTouchPointInView(x, y, child, null);
}
@@ -889,7 +883,7 @@
public void onScrollChanged(float p) {
mUIDozeTrigger.poke();
requestSynchronizeStackViewsWithModel();
- invalidate();
+ postInvalidateOnAnimation();
}
/**** RecentsPackageMonitor.PackageCallbacks Implementation ****/
diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
index 4cf6b82..374a27f 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskStackViewTouchHandler.java
@@ -185,6 +185,7 @@
/** Handles touch events once we have intercepted them */
public boolean onTouchEvent(MotionEvent ev) {
+
// Short circuit if we have no children
boolean hasChildren = (mSv.getChildCount() > 0);
if (!hasChildren) {
@@ -278,7 +279,6 @@
final VelocityTracker velocityTracker = mVelocityTracker;
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
int velocity = (int) velocityTracker.getYVelocity(mActivePointerId);
-
if (mIsScrolling && (Math.abs(velocity) > mMinimumVelocity)) {
// XXX: Should this be calculated as a percentage of a curve?
int overscrollRange = (int) (Math.min(1f,