From d8ffa6c4591102c96adf1096b211caf0db7aa168 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Wed, 23 Oct 2019 22:44:44 +0200 Subject: Migrated playback history events to EventBus --- .../antennapod/fragment/PlaybackHistoryFragment.java | 10 ++++++++-- .../antennapod/core/event/PlaybackHistoryEvent.java | 16 ++++++++++++++++ .../de/danoeh/antennapod/core/feed/EventDistributor.java | 5 ----- .../java/de/danoeh/antennapod/core/storage/DBWriter.java | 5 +++-- 4 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 core/src/main/java/de/danoeh/antennapod/core/event/PlaybackHistoryEvent.java diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java index f9fca87fc..ab15c3602 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/PlaybackHistoryFragment.java @@ -12,6 +12,7 @@ import android.view.MenuItem; import android.view.View; import android.widget.ListView; +import de.danoeh.antennapod.core.event.PlaybackHistoryEvent; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -42,8 +43,7 @@ public class PlaybackHistoryFragment extends ListFragment { public static final String TAG = "PlaybackHistoryFragment"; - private static final int EVENTS = EventDistributor.PLAYBACK_HISTORY_UPDATE | - EventDistributor.PLAYER_STATUS_UPDATE; + private static final int EVENTS = EventDistributor.PLAYER_STATUS_UPDATE; private List playbackHistory; private FeedItemlistAdapter adapter; @@ -166,6 +166,12 @@ public class PlaybackHistoryFragment extends ListFragment { } } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onHistoryUpdated(PlaybackHistoryEvent event) { + loadItems(); + getActivity().supportInvalidateOptionsMenu(); + } + private final EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { @Override diff --git a/core/src/main/java/de/danoeh/antennapod/core/event/PlaybackHistoryEvent.java b/core/src/main/java/de/danoeh/antennapod/core/event/PlaybackHistoryEvent.java new file mode 100644 index 000000000..cd3f27bf5 --- /dev/null +++ b/core/src/main/java/de/danoeh/antennapod/core/event/PlaybackHistoryEvent.java @@ -0,0 +1,16 @@ +package de.danoeh.antennapod.core.event; + +public class PlaybackHistoryEvent { + + private PlaybackHistoryEvent() { + } + + public static PlaybackHistoryEvent listUpdated() { + return new PlaybackHistoryEvent(); + } + + @Override + public String toString() { + return "PlaybackHistoryEvent"; + } +} diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/EventDistributor.java b/core/src/main/java/de/danoeh/antennapod/core/feed/EventDistributor.java index a4eeeae72..481fc0954 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/EventDistributor.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/EventDistributor.java @@ -22,7 +22,6 @@ public class EventDistributor extends Observable { public static final int FEED_LIST_UPDATE = 1; public static final int UNREAD_ITEMS_UPDATE = 2; - public static final int PLAYBACK_HISTORY_UPDATE = 16; public static final int DOWNLOAD_HANDLED = 64; public static final int PLAYER_STATUS_UPDATE = 128; @@ -85,10 +84,6 @@ public class EventDistributor extends Observable { addEvent(FEED_LIST_UPDATE); } - public void sendPlaybackHistoryUpdateBroadcast() { - addEvent(PLAYBACK_HISTORY_UPDATE); - } - public void sendPlayerStatusUpdateBroadcast() { addEvent(PLAYER_STATUS_UPDATE); } public abstract static class EventListener implements Observer { diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java index 60333afc0..9225155cf 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java +++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBWriter.java @@ -7,6 +7,7 @@ import android.util.Log; import androidx.annotation.NonNull; import de.danoeh.antennapod.core.event.DownloadLogEvent; +import de.danoeh.antennapod.core.event.PlaybackHistoryEvent; import org.greenrobot.eventbus.EventBus; import java.io.File; @@ -194,7 +195,7 @@ public class DBWriter { adapter.open(); adapter.clearPlaybackHistory(); adapter.close(); - EventDistributor.getInstance().sendPlaybackHistoryUpdateBroadcast(); + EventBus.getDefault().post(PlaybackHistoryEvent.listUpdated()); }); } @@ -228,7 +229,7 @@ public class DBWriter { adapter.open(); adapter.setFeedMediaPlaybackCompletionDate(media); adapter.close(); - EventDistributor.getInstance().sendPlaybackHistoryUpdateBroadcast(); + EventBus.getDefault().post(PlaybackHistoryEvent.listUpdated()); }); } -- cgit v1.2.3