package com.quran.labs.androidquran.ui.helpers; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import com.quran.labs.androidquran.R; import com.quran.labs.androidquran.ui.fragment.AyahPlaybackFragment; import com.quran.labs.androidquran.ui.fragment.AyahTranslationFragment; import com.quran.labs.androidquran.ui.fragment.TagBookmarkDialog; import com.quran.labs.androidquran.widgets.IconPageIndicator; public class SlidingPagerAdapter extends FragmentStatePagerAdapter implements IconPageIndicator.IconPagerAdapter { public static final int TAG_PAGE = 0; public static final int TRANSLATION_PAGE = 1; public static final int AUDIO_PAGE = 2; public static final int[] PAGES = { TAG_PAGE, TRANSLATION_PAGE, AUDIO_PAGE }; public static final int[] PAGE_ICONS = { R.drawable.ic_tag, R.drawable.ic_translation, R.drawable.ic_play }; private boolean mIsRtl; public SlidingPagerAdapter(FragmentManager fm, boolean isRtl) { super(fm, "sliding"); mIsRtl = isRtl; } @Override public int getCount() { return PAGES.length; } public int getPagePosition(int page) { return mIsRtl ? (PAGES.length - 1) - page : page; } @Override public Fragment getItem(int position) { final int pos = getPagePosition(position); switch (pos) { case TAG_PAGE: return new TagBookmarkDialog(); case TRANSLATION_PAGE: return new AyahTranslationFragment(); case AUDIO_PAGE: return new AyahPlaybackFragment(); } return null; } @Override public int getIconResId(int index) { return PAGE_ICONS[getPagePosition(index)]; } }