diff options
Diffstat (limited to 'src/de/danoeh/antennapod/fragment/FeedlistFragment.java')
-rw-r--r-- | src/de/danoeh/antennapod/fragment/FeedlistFragment.java | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java index f9b1b7474..c3034c2af 100644 --- a/src/de/danoeh/antennapod/fragment/FeedlistFragment.java +++ b/src/de/danoeh/antennapod/fragment/FeedlistFragment.java @@ -2,11 +2,8 @@ package de.danoeh.antennapod.fragment; import android.annotation.SuppressLint; import android.app.Activity; -import android.content.BroadcastReceiver; -import android.content.Context; import android.content.DialogInterface; import android.content.Intent; -import android.content.IntentFilter; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; @@ -18,7 +15,6 @@ import android.widget.ListView; import android.widget.TextView; import com.actionbarsherlock.app.SherlockFragment; -import com.actionbarsherlock.app.SherlockFragmentActivity; import com.actionbarsherlock.view.ActionMode; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; @@ -30,17 +26,22 @@ import de.danoeh.antennapod.adapter.FeedlistAdapter; import de.danoeh.antennapod.asynctask.FeedRemover; import de.danoeh.antennapod.dialog.ConfirmationDialog; import de.danoeh.antennapod.dialog.DownloadRequestErrorDialogCreator; +import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.Feed; 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.FeedMenuHandler; public class FeedlistFragment extends SherlockFragment implements ActionMode.Callback, AdapterView.OnItemClickListener, AdapterView.OnItemLongClickListener { private static final String TAG = "FeedlistFragment"; + + private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED + | EventDistributor.DOWNLOAD_QUEUED + | EventDistributor.FEED_LIST_UPDATE + | EventDistributor.UNREAD_ITEMS_UPDATE; + public static final String EXTRA_SELECTED_FEED = "extra.de.danoeh.antennapod.activity.selected_feed"; private FeedManager manager; @@ -110,36 +111,28 @@ public class FeedlistFragment extends SherlockFragment implements super.onResume(); if (AppConfig.DEBUG) Log.d(TAG, "Resuming"); - IntentFilter filter = new IntentFilter(); - filter.addAction(DownloadRequester.ACTION_DOWNLOAD_QUEUED); - filter.addAction(FeedManager.ACTION_UNREAD_ITEMS_UPDATE); - filter.addAction(FeedManager.ACTION_FEED_LIST_UPDATE); - filter.addAction(DownloadService.ACTION_DOWNLOAD_HANDLED); - getActivity().registerReceiver(contentUpdate, filter); + EventDistributor.getInstance().register(contentUpdate); fla.notifyDataSetChanged(); } @Override public void onPause() { super.onPause(); - getActivity().unregisterReceiver(contentUpdate); + EventDistributor.getInstance().unregister(contentUpdate); if (mActionMode != null) { mActionMode.finish(); } } - private BroadcastReceiver contentUpdate = new BroadcastReceiver() { + private EventDistributor.EventListener contentUpdate = new EventDistributor.EventListener() { + @Override - public void onReceive(Context context, final Intent intent) { - if (AppConfig.DEBUG) - Log.d(TAG, "Received contentUpdate Intent."); - getActivity().runOnUiThread(new Runnable() { - - @Override - public void run() { - fla.notifyDataSetChanged(); - } - }); + public void update(EventDistributor eventDistributor, Integer arg) { + if ((EVENTS & arg) != 0) { + if (AppConfig.DEBUG) + Log.d(TAG, "Received contentUpdate Intent."); + fla.notifyDataSetChanged(); + } } }; |