Merge "Fix a bug where requestDisallowInterceptTouchEvent does not get called when scrolling is resumed after stopping a fling." into gingerbread
This commit is contained in:
@ -223,8 +223,9 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* When set, this ViewGroup should not intercept touch events.
|
* When set, this ViewGroup should not intercept touch events.
|
||||||
|
* {@hide}
|
||||||
*/
|
*/
|
||||||
private static final int FLAG_DISALLOW_INTERCEPT = 0x80000;
|
protected static final int FLAG_DISALLOW_INTERCEPT = 0x80000;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates which types of drawing caches are to be kept in memory.
|
* Indicates which types of drawing caches are to be kept in memory.
|
||||||
|
@ -2056,6 +2056,14 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (y != mLastY) {
|
if (y != mLastY) {
|
||||||
|
// We may be here after stopping a fling and continuing to scroll.
|
||||||
|
// If so, we haven't disallowed intercepting touch events yet.
|
||||||
|
// Make sure that we do so in case we're in a parent that can intercept.
|
||||||
|
if ((mGroupFlags & FLAG_DISALLOW_INTERCEPT) == 0 &&
|
||||||
|
Math.abs(deltaY) > mTouchSlop) {
|
||||||
|
requestDisallowInterceptTouchEvent(true);
|
||||||
|
}
|
||||||
|
|
||||||
deltaY -= mMotionCorrection;
|
deltaY -= mMotionCorrection;
|
||||||
int incrementalDeltaY = mLastY != Integer.MIN_VALUE ? y - mLastY : deltaY;
|
int incrementalDeltaY = mLastY != Integer.MIN_VALUE ? y - mLastY : deltaY;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user