package ar.rulosoft.mimanganu.componentes.readers.paged;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.view.MotionEvent;
/**
* Created by Raul on 27/06/2016.
*/
public class R2LPagedReader extends HorizontalPagedReader {
public R2LPagedReader(Context context) {
super(context);
}
public void addOnPageChangeListener() {
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (readerListener != null) {
readerListener.onPageChanged(transformPage(position));
}
currentPage = position;
if (mPageAdapter != null)
mPageAdapter.setCurrentPage(position);
}
@Override
public void onPageSelected(int position) {
currentPage = position;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
@Override
public void seekPage(int aPage) {
goToPage(aPage);
}
@Override
public boolean isLastPageVisible() {
return paths != null && !paths.isEmpty() && mViewPager.getCurrentItem() == (paths.size() - 1);
}
@Override
public void goToPage(int aPage) {
int page = aPage - 1;
mViewPager.setCurrentItem(page);
if (readerListener != null) {
readerListener.onPageChanged(transformPage(page));
}
currentPage = page;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
if (readerListener != null)
if (e.getX() < getWidth() / 4) {
if (currentPage == 0) {
if (readerListener != null) {
readerListener.onStartOver();
}
} else {
mViewPager.setCurrentItem(currentPage - 1);
}
} else if (e.getX() > getWidth() / 4 * 3) {
if (currentPage == paths.size() - 1) {
if (readerListener != null) {
readerListener.onEndOver();
}
} else {
mViewPager.setCurrentItem(currentPage + 1);
}
} else {
readerListener.onMenuRequired();
}
return false;
}
@Override
public void onStartOver() {
if(readerListener != null){
readerListener.onStartOver();
}
}
@Override
public void onEndOver() {
if(readerListener != null){
readerListener.onEndOver();
}
}
@Override
protected int transformPage(int page) {
return page + 1;
}
}