am 311fc0b3: Fixed a crash that could occur in the ObservableScrollView

* commit '311fc0b399f01a79169ae69aea05556043a7d7df':
  Fixed a crash that could occur in the ObservableScrollView
This commit is contained in:
Selim Cinek
2014-09-29 20:47:39 +00:00
committed by Android Git Automerger

View File

@@ -34,6 +34,7 @@ public class ObservableScrollView extends ScrollView {
private float mLastX;
private float mLastY;
private boolean mBlockFlinging;
private boolean mTouchCancelled;
public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
@@ -87,9 +88,20 @@ public class ObservableScrollView extends ScrollView {
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
boolean isEndGuesture = (ev.getAction() == MotionEvent.ACTION_UP
|| ev.getAction() == MotionEvent.ACTION_CANCEL);
if (!mTouchEnabled && !isEndGuesture) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (!mTouchEnabled) {
mTouchCancelled = true;
return false;
}
mTouchCancelled = false;
} else if (mTouchCancelled) {
return false;
} else if (!mTouchEnabled) {
MotionEvent cancel = MotionEvent.obtain(ev);
cancel.setAction(MotionEvent.ACTION_CANCEL);
super.dispatchTouchEvent(ev);
cancel.recycle();
mTouchCancelled = true;
return false;
}
return super.dispatchTouchEvent(ev);