package cl.monsoon.s1next.view.fragment; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import cl.monsoon.s1next.R; import cl.monsoon.s1next.data.api.Api; import cl.monsoon.s1next.util.IntentUtil; /** * A Fragment includes {@link android.support.v4.view.ViewPager} * to represent each page of favourite lists. */ public final class FavouriteListFragment extends BaseViewPagerFragment { public static final String TAG = FavouriteListFragment.class.getName(); private CharSequence mTitle; @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mTitle = getText(R.string.favourites); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater.inflate(R.menu.fragment_favourites, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_browser: IntentUtil.startViewIntentExcludeOurApp(getContext(), Uri.parse( Api.getFavouritesListUrlForBrowser(getCurrentPage() + 1))); return true; default: return super.onOptionsItemSelected(item); } } @Override BaseFragmentStatePagerAdapter getPagerAdapter(FragmentManager fragmentManager) { return new FavouriteListPagerAdapter(fragmentManager); } @Override CharSequence getTitleWithoutPosition() { return mTitle; } /** * Returns a Fragment corresponding to one of the pages of favourites. */ private class FavouriteListPagerAdapter extends BaseFragmentStatePagerAdapter { private FavouriteListPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { return FavouriteListPagerFragment.newInstance(i + 1); } } }