blob: 35fb330b6289fa0dd6b3f9f5fc2e5a1457cfe134 [file] [log] [blame]
package org.wordpress.android.widgets;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
import org.wordpress.android.util.AppLog;
import org.wordpress.android.util.AppLog.T;
/**
* Custom ViewPager which resolves the "pointer index out of range" bug in the compatibility library
* https://code.google.com/p/android/issues/detail?id=16836
* https://code.google.com/p/android/issues/detail?id=18990
* https://github.com/chrisbanes/PhotoView/issues/31
*/
public class WPViewPager extends ViewPager {
private boolean mPagingEnabled = true;
public WPViewPager(Context context) {
super(context);
}
public WPViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (mPagingEnabled) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
AppLog.e(T.UTILS, e);
}
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (mPagingEnabled) {
try {
return super.onTouchEvent(ev);
} catch (IllegalArgumentException e) {
AppLog.e(AppLog.T.UTILS, e);
}
}
return false;
}
public void setPagingEnabled(boolean pagingEnabled) {
mPagingEnabled = pagingEnabled;
}
}