diff options
Diffstat (limited to 'src/de/danoeh/antennapod/activity/MainActivity.java')
-rw-r--r-- | src/de/danoeh/antennapod/activity/MainActivity.java | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/de/danoeh/antennapod/activity/MainActivity.java b/src/de/danoeh/antennapod/activity/MainActivity.java index 67d7424b6..0ec66ff35 100644 --- a/src/de/danoeh/antennapod/activity/MainActivity.java +++ b/src/de/danoeh/antennapod/activity/MainActivity.java @@ -1,9 +1,7 @@ package de.danoeh.antennapod.activity; -import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; @@ -20,12 +18,13 @@ import com.actionbarsherlock.view.Window; import com.viewpagerindicator.TabPageIndicator; import de.danoeh.antennapod.AppConfig; -import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; +import de.danoeh.antennapod.feed.EventDistributor; import de.danoeh.antennapod.feed.FeedManager; import de.danoeh.antennapod.fragment.EpisodesFragment; import de.danoeh.antennapod.fragment.ExternalPlayerFragment; import de.danoeh.antennapod.fragment.FeedlistFragment; +import de.danoeh.antennapod.preferences.UserPreferences; import de.danoeh.antennapod.service.PlaybackService; import de.danoeh.antennapod.service.download.DownloadService; import de.danoeh.antennapod.storage.DownloadRequester; @@ -35,6 +34,9 @@ import de.danoeh.antennapod.util.StorageUtils; public class MainActivity extends SherlockFragmentActivity { private static final String TAG = "MainActivity"; + private static final int EVENTS = EventDistributor.DOWNLOAD_HANDLED + | EventDistributor.DOWNLOAD_QUEUED; + private FeedManager manager; private ViewPager viewpager; private MainPagerAdapter pagerAdapter; @@ -45,7 +47,7 @@ public class MainActivity extends SherlockFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { - setTheme(PodcastApp.getThemeResourceId()); + setTheme(UserPreferences.getTheme()); super.onCreate(savedInstanceState); StorageUtils.checkStorageAvailability(this); manager = FeedManager.getInstance(); @@ -69,7 +71,7 @@ public class MainActivity extends SherlockFragmentActivity { if (!appLaunched && getIntent().getAction() != null && getIntent().getAction().equals(Intent.ACTION_MAIN)) { appLaunched = true; - if (manager.getUnreadItems().size() > 0) { + if (manager.getUnreadItemsSize(true) > 0) { viewpager.setCurrentItem(MainPagerAdapter.POS_EPISODES); } @@ -79,7 +81,7 @@ public class MainActivity extends SherlockFragmentActivity { @Override protected void onPause() { super.onPause(); - unregisterReceiver(contentUpdate); + EventDistributor.getInstance().unregister(contentUpdate); } @Override @@ -87,18 +89,19 @@ public class MainActivity extends SherlockFragmentActivity { super.onResume(); StorageUtils.checkStorageAvailability(this); updateProgressBarVisibility(); - IntentFilter filter = new IntentFilter(); - filter.addAction(DownloadService.ACTION_DOWNLOAD_HANDLED); - filter.addAction(DownloadRequester.ACTION_DOWNLOAD_QUEUED); - registerReceiver(contentUpdate, filter); + EventDistributor.getInstance().register(contentUpdate); + } - 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."); - updateProgressBarVisibility(); + public void update(EventDistributor eventDistributor, Integer arg) { + if ((EVENTS & arg) != 0) { + if (AppConfig.DEBUG) + Log.d(TAG, "Received contentUpdate Intent."); + updateProgressBarVisibility(); + } } }; @@ -109,7 +112,7 @@ public class MainActivity extends SherlockFragmentActivity { } else { setSupportProgressBarIndeterminateVisibility(false); } - invalidateOptionsMenu(); + supportInvalidateOptionsMenu(); } @Override @@ -151,7 +154,7 @@ public class MainActivity extends SherlockFragmentActivity { refreshAll.setVisible(true); } - boolean hasFeeds = !manager.getFeeds().isEmpty(); + boolean hasFeeds = manager.getFeedsSize() > 0; menu.findItem(R.id.all_feed_refresh).setVisible(hasFeeds); return true; } |