summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2017-04-17 07:46:05 +0200
committerByteHamster <info@bytehamster.com>2017-04-17 07:58:00 +0200
commit2826738940e441a6875985efe0fe299ebe89d7c9 (patch)
tree8e9f1764cc16d915c349d484c76fb8c982396987 /app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
parentaad56bea56c320cc84bd7f9472f3caff996e411c (diff)
downloadAntennaPod-2826738940e441a6875985efe0fe299ebe89d7c9.zip
Only allow menu invalidations from active fragment
Fixes #2081
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
index f23981935..e2fbd91f3 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/EpisodesFragment.java
@@ -79,6 +79,11 @@ public class EpisodesFragment extends Fragment {
public static class EpisodesPagerAdapter extends FragmentPagerAdapter {
private final Resources resources;
+ private AllEpisodesFragment[] fragments = {
+ new NewEpisodesFragment(),
+ new AllEpisodesFragment(),
+ new FavoriteEpisodesFragment()
+ };
public EpisodesPagerAdapter(FragmentManager fm, Resources resources) {
super(fm);
@@ -87,15 +92,7 @@ public class EpisodesFragment extends Fragment {
@Override
public Fragment getItem(int position) {
- switch (position) {
- case POS_ALL_EPISODES:
- return new AllEpisodesFragment();
- case POS_NEW_EPISODES:
- return new NewEpisodesFragment();
- case POS_FAV_EPISODES:
- return new FavoriteEpisodesFragment();
- }
- return null;
+ return fragments[position];
}
@Override
@@ -116,5 +113,14 @@ public class EpisodesFragment extends Fragment {
return super.getPageTitle(position);
}
}
+
+ @Override
+ public void setPrimaryItem(ViewGroup container, int position, Object object) {
+ super.setPrimaryItem(container, position, object);
+ for (int i = 0; i < TOTAL_COUNT; i++) {
+ // Invalidating the OptionsMenu is only allowed for the currently active fragment
+ fragments[i].isMenuInvalidationAllowed = (i == position);
+ }
+ }
}
}