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

* commit 'f2a6160b924c7d8073c55eaf33e728c7336a4a90':
  Fixed a crash that could occur in the ObservableScrollView
This commit is contained in:
Selim Cinek
2014-09-30 14:52:48 +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);