package what.whatandroid.bookmarks; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.view.ViewGroup; import api.soup.MySoup; import what.whatandroid.callbacks.OnLoggedInCallback; /** * Pager adapter for swiping between the torrents and artists bookmarks fragments */ public class BookmarksPagerAdapter extends FragmentPagerAdapter implements OnLoggedInCallback { private TorrentBookmarksFragment torrentBookmarks; private ArtistBookmarksFragment artistBookmarks; public BookmarksPagerAdapter(FragmentManager fm){ super(fm); } @Override public Fragment getItem(int position){ switch (position){ case 0: return new TorrentBookmarksFragment(); default: return new ArtistBookmarksFragment(); } } @Override public int getCount(){ return 2; } @Override public CharSequence getPageTitle(int position){ switch (position){ case 0: return "Torrents"; default: return "Artists"; } } @Override public Object instantiateItem(ViewGroup container, int position){ Fragment f = (Fragment)super.instantiateItem(container, position); if (position == 0){ torrentBookmarks = (TorrentBookmarksFragment)f; } else { artistBookmarks = (ArtistBookmarksFragment)f; } if (MySoup.isLoggedIn()){ ((OnLoggedInCallback)f).onLoggedIn(); } return f; } @Override public void destroyItem(ViewGroup container, int position, Object object){ super.destroyItem(container, position, object); switch (position){ case 0: torrentBookmarks = null; break; default: artistBookmarks = null; break; } } @Override public void onLoggedIn(){ if (torrentBookmarks != null){ torrentBookmarks.onLoggedIn(); } if (artistBookmarks != null){ artistBookmarks.onLoggedIn(); } } }