package moe.feng.nhentai.ui.adapter;
import android.app.Fragment;
import android.app.FragmentManager;
import android.support.v13.app.FragmentPagerAdapter;
import moe.feng.nhentai.model.Book;
import moe.feng.nhentai.ui.fragment.BookPageFragment;
public class GalleryPagerAdapter extends FragmentPagerAdapter {
private Book mBook;
private BookPageFragment[] mFragments;
private FragmentManager mFragmentManager;
public GalleryPagerAdapter(FragmentManager fragmentManager, Book book) {
super(fragmentManager);
mFragmentManager = fragmentManager;
mBook = book;
mFragments = new BookPageFragment[book.pageCount];
}
@Override
public Fragment getItem(int position) {
if (position < 0 || position >= mBook.pageCount) {
return null;
}
if (mFragments[position] == null) {
mFragments[position] = BookPageFragment.newInstance(mBook, position + 1);
}
return mFragments[position];
}
@Override
public int getCount() {
return mBook.pageCount;
}
public void eraseItem(int position) {
BookPageFragment fragment = mFragments[position];
if (fragment != null) {
mFragmentManager.beginTransaction().remove(fragment).commit();
mFragments[position] = null;
}
}
public void notifyPageImageLoaded(int position, boolean isSucceed) {
BookPageFragment fragment = mFragments[position];
if (fragment != null && fragment.getHandler() != null) {
if (fragment.getHandler() != null) {
fragment.getHandler().sendEmptyMessage(isSucceed ? BookPageFragment.MSG_FINISHED_LOADING : BookPageFragment.MSG_ERROR_LOADING);
}
}
}
}