diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-11-23 19:42:51 +0100 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-11-23 19:42:51 +0100 |
commit | 509423653d99169a3ef512d56633e8dcee775343 (patch) | |
tree | 2e3c1b133d2c80356ec01013b1e2ae8d9152b9bd /src/de/danoeh/antennapod/PodcastApp.java | |
parent | f2175dff1652e9e8c47edfac9a4e5b66204a0524 (diff) | |
download | AntennaPod-509423653d99169a3ef512d56633e8dcee775343.zip |
Added preference for setting the application theme
Diffstat (limited to 'src/de/danoeh/antennapod/PodcastApp.java')
-rw-r--r-- | src/de/danoeh/antennapod/PodcastApp.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/PodcastApp.java b/src/de/danoeh/antennapod/PodcastApp.java index f4d238c60..e59889ddd 100644 --- a/src/de/danoeh/antennapod/PodcastApp.java +++ b/src/de/danoeh/antennapod/PodcastApp.java @@ -11,6 +11,7 @@ import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Configuration; +import android.preference.PreferenceActivity; import android.preference.PreferenceManager; import android.util.Log; import de.danoeh.antennapod.activity.OpmlImportActivity; @@ -35,6 +36,7 @@ public class PodcastApp extends Application implements public static final String PREF_AUTO_QUEUE = "prefAutoQueue"; public static final String PREF_DISPLAY_ONLY_EPISODES = "prefDisplayOnlyEpisodes"; public static final String PREF_AUTO_DELETE = "prefAutoDelete"; + public static final String PREF_THEME = "prefTheme"; private static float LOGICAL_DENSITY; @@ -43,6 +45,9 @@ public class PodcastApp extends Application implements private boolean displayOnlyEpisodes; private static long currentlyPlayingMediaId; + + /** Resource id of the currently selected theme. */ + private static int theme; public static PodcastApp getInstance() { return singleton; @@ -60,6 +65,7 @@ public class PodcastApp extends Application implements currentlyPlayingMediaId = prefs.getLong( PlaybackService.PREF_CURRENTLY_PLAYING_MEDIA, PlaybackService.NO_MEDIA_PLAYING); + readThemeValue(); createImportDirectory(); createNoMediaFile(); prefs.registerOnSharedPreferenceChangeListener(this); @@ -162,6 +168,8 @@ public class PodcastApp extends Application implements if (id != currentlyPlayingMediaId) { currentlyPlayingMediaId = id; } + } else if (key.equals(PREF_THEME)) { + readThemeValue(); } } @@ -182,4 +190,22 @@ public class PodcastApp extends Application implements || (getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_XLARGE; } + + public static int getThemeResourceId() { + return theme; + } + + /** Read value of prefTheme and determine the correct resource id. */ + private void readThemeValue() { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + int prefTheme = Integer.parseInt(prefs.getString(PREF_THEME, "0")); + switch (prefTheme) { + case 0: + theme = R.style.Theme_AntennaPod_Light; + break; + case 1: + theme = R.style.Theme_AntennaPod_Dark; + break; + } + } } |