summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/activity/MainActivity.java')
-rw-r--r--src/de/danoeh/antennapod/activity/MainActivity.java37
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;
}