From a1cde4a4934c0379ec9ff0c67110fc7ce25bb74b Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 1 Feb 2020 11:21:24 +0100 Subject: Invalidate ItemPager menu on update --- .../danoeh/antennapod/fragment/ItemPagerFragment.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'app/src/main/java/de/danoeh/antennapod') diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemPagerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemPagerFragment.java index 20188a8a6..2629371ca 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemPagerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemPagerFragment.java @@ -16,6 +16,7 @@ import androidx.viewpager.widget.ViewPager; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.CastEnabledActivity; import de.danoeh.antennapod.activity.MainActivity; +import de.danoeh.antennapod.core.event.FeedItemEvent; import de.danoeh.antennapod.core.feed.FeedItem; import de.danoeh.antennapod.core.storage.DBReader; import de.danoeh.antennapod.core.util.Flavors; @@ -24,6 +25,9 @@ import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; /** * Displays information about a list of FeedItems. @@ -104,12 +108,14 @@ public class ItemPagerFragment extends Fragment { } }); + EventBus.getDefault().register(this); return layout; } @Override public void onDestroyView() { super.onDestroyView(); + EventBus.getDefault().unregister(this); if (disposable != null) { disposable.dispose(); } @@ -167,6 +173,17 @@ public class ItemPagerFragment extends Fragment { } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onEventMainThread(FeedItemEvent event) { + for (FeedItem item : event.items) { + if (this.item != null && this.item.getId() == item.getId()) { + this.item = item; + getActivity().invalidateOptionsMenu(); + return; + } + } + } + private void openPodcast() { Fragment fragment = FeedItemlistFragment.newInstance(item.getFeedId()); ((MainActivity) getActivity()).loadChildFragment(fragment); -- cgit v1.2.3