diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2013-02-25 10:47:37 +0100 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2013-02-25 10:47:37 +0100 |
commit | 955d296638b240d8bbf4be8cce4b27485ac4c517 (patch) | |
tree | 16a35b7a9493495a8e5f7a87ed646a2d166c7fe0 /src/de/danoeh/antennapod/fragment/EpisodesFragment.java | |
parent | f9e00f72a0dfeea3e5b9db8a522f7251e158dc7d (diff) | |
download | AntennaPod-955d296638b240d8bbf4be8cce4b27485ac4c517.zip |
Implemented EventDistributor
Diffstat (limited to 'src/de/danoeh/antennapod/fragment/EpisodesFragment.java')
-rw-r--r-- | src/de/danoeh/antennapod/fragment/EpisodesFragment.java | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/src/de/danoeh/antennapod/fragment/EpisodesFragment.java b/src/de/danoeh/antennapod/fragment/EpisodesFragment.java index 2046b45ba..ac1fc402e 100644 --- a/src/de/danoeh/antennapod/fragment/EpisodesFragment.java +++ b/src/de/danoeh/antennapod/fragment/EpisodesFragment.java @@ -1,9 +1,6 @@ package de.danoeh.antennapod.fragment; -import android.content.BroadcastReceiver; -import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.os.Bundle; import android.util.Log; import android.view.ContextMenu; @@ -25,16 +22,21 @@ import de.danoeh.antennapod.activity.OrganizeQueueActivity; import de.danoeh.antennapod.adapter.ActionButtonCallback; import de.danoeh.antennapod.adapter.ExternalEpisodesListAdapter; import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator; +import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.FeedItem; import de.danoeh.antennapod.feed.FeedManager; -import de.danoeh.antennapod.service.download.DownloadService; import de.danoeh.antennapod.storage.DownloadRequestException; -import de.danoeh.antennapod.storage.DownloadRequester; import de.danoeh.antennapod.util.menuhandler.FeedItemMenuHandler; public class EpisodesFragment extends SherlockFragment { private static final String TAG = "EpisodesFragment"; + private static final int EVENTS = EventDistributor.QUEUE_UPDATE + | EventDistributor.UNREAD_ITEMS_UPDATE + | EventDistributor.FEED_LIST_UPDATE + | EventDistributor.DOWNLOAD_HANDLED + | EventDistributor.DOWNLOAD_QUEUED; + private ExpandableListView listView; private ExternalEpisodesListAdapter adapter; @@ -45,24 +47,14 @@ public class EpisodesFragment extends SherlockFragment { @Override public void onDestroy() { super.onDestroy(); - try { - getActivity().unregisterReceiver(contentUpdate); - } catch (IllegalArgumentException e) { - - } + EventDistributor.getInstance().unregister(contentUpdate); } @Override public void onResume() { super.onResume(); - IntentFilter filter = new IntentFilter(); - filter.addAction(DownloadRequester.ACTION_DOWNLOAD_QUEUED); - filter.addAction(DownloadService.ACTION_DOWNLOAD_HANDLED); - filter.addAction(FeedManager.ACTION_QUEUE_UPDATE); - filter.addAction(FeedManager.ACTION_UNREAD_ITEMS_UPDATE); - filter.addAction(FeedManager.ACTION_FEED_LIST_UPDATE); - - getActivity().registerReceiver(contentUpdate, filter); + + EventDistributor.getInstance().register(contentUpdate); if (adapter != null) { adapter.notifyDataSetChanged(); } @@ -128,12 +120,15 @@ public class EpisodesFragment extends SherlockFragment { registerForContextMenu(listView); } - private BroadcastReceiver contentUpdate = new BroadcastReceiver() { + private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { + @Override - public void onReceive(Context context, Intent intent) { - if (AppConfig.DEBUG) - Log.d(TAG, "Received contentUpdate Intent."); - adapter.notifyDataSetChanged(); + public void update(EventDistributor eventDistributor, Integer arg) { + if ((EVENTS & arg) != 0) { + if (AppConfig.DEBUG) + Log.d(TAG, "Received contentUpdate Intent."); + adapter.notifyDataSetChanged(); + } } }; |