diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 19254c021..59a2f21a0 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -20,5 +20,15 @@ 12 24 + + + Light + Dark + + + + 0 + 1 + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/strings.xml index 850e540c1..85e3783ef 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -164,6 +164,8 @@ User Interface Auto-delete Delete an episode when playback completes or when it is removed from the queue. + Select Theme + Change the appearance of AntennaPod. Search for Feeds or Episodes diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 63aae81c3..e457fcfe2 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -3,6 +3,7 @@ + = 11) { + invalidateOptionsMenu(); + } } else { finish(); } @@ -145,6 +151,7 @@ public class MiroGuideChannelViewActivity extends SherlockActivity { return true; } + @SuppressLint("NewApi") @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { @@ -157,16 +164,21 @@ public class MiroGuideChannelViewActivity extends SherlockActivity { return true; case R.id.add_feed: try { - DownloadRequester.getInstance().downloadFeed(this, - new Feed(channel.getDownloadUrl(), new Date(), channel.getName())); + DownloadRequester.getInstance().downloadFeed( + this, + new Feed(channel.getDownloadUrl(), new Date(), channel + .getName())); } catch (DownloadRequestException e) { e.printStackTrace(); - DownloadRequestErrorDialogCreator.newRequestErrorDialog(this, e.getMessage()); + DownloadRequestErrorDialogCreator.newRequestErrorDialog(this, + e.getMessage()); } Toast toast = Toast.makeText(this, R.string.miro_feed_added, Toast.LENGTH_LONG); toast.show(); - invalidateOptionsMenu(); + if (Build.VERSION.SDK_INT >= 11) { + invalidateOptionsMenu(); + } return true; default: return false; diff --git a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java index 8cc70a74b..af64a4750 100644 --- a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java +++ b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java @@ -15,6 +15,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.miroguide.conn.MiroGuideException; import de.danoeh.antennapod.miroguide.conn.MiroGuideService; @@ -34,6 +35,7 @@ public class MiroGuideMainActivity extends SherlockListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.miroguide_categorylist); diff --git a/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java index 240a99395..c27fc1d49 100644 --- a/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java +++ b/src/de/danoeh/antennapod/activity/MiroGuideSearchActivity.java @@ -11,6 +11,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.fragment.MiroGuideChannellistFragment; @@ -26,6 +27,7 @@ public class MiroGuideSearchActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); + setTheme(PodcastApp.getThemeResourceId()); getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.miroguidesearch); } diff --git a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java index deca1f2d5..7838e2dc1 100644 --- a/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java +++ b/src/de/danoeh/antennapod/activity/OpmlFeedChooserActivity.java @@ -16,6 +16,7 @@ import com.actionbarsherlock.app.SherlockActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.opml.OpmlElement; @@ -36,6 +37,7 @@ public class OpmlFeedChooserActivity extends SherlockActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); setContentView(R.layout.opml_selection); butConfirm = (Button) findViewById(R.id.butConfirm); diff --git a/src/de/danoeh/antennapod/activity/OpmlImportActivity.java b/src/de/danoeh/antennapod/activity/OpmlImportActivity.java index 74b59cc72..e1f026be2 100644 --- a/src/de/danoeh/antennapod/activity/OpmlImportActivity.java +++ b/src/de/danoeh/antennapod/activity/OpmlImportActivity.java @@ -19,6 +19,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.asynctask.OpmlFeedQueuer; import de.danoeh.antennapod.asynctask.OpmlImportWorker; @@ -42,6 +43,8 @@ public class OpmlImportActivity extends SherlockActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.opml_import); diff --git a/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java b/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java index 82cff51de..86fff9d71 100644 --- a/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java +++ b/src/de/danoeh/antennapod/activity/PlaybackHistoryActivity.java @@ -10,6 +10,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.feed.FeedManager; import de.danoeh.antennapod.fragment.PlaybackHistoryFragment; @@ -44,6 +45,8 @@ public class PlaybackHistoryActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); + setTheme(PodcastApp.getThemeResourceId()); + if (AppConfig.DEBUG) Log.d(TAG, "Activity created"); getSupportActionBar().setDisplayHomeAsUpEnabled(true); diff --git a/src/de/danoeh/antennapod/activity/PreferenceActivity.java b/src/de/danoeh/antennapod/activity/PreferenceActivity.java index 78d865da5..4e94ff074 100644 --- a/src/de/danoeh/antennapod/activity/PreferenceActivity.java +++ b/src/de/danoeh/antennapod/activity/PreferenceActivity.java @@ -3,12 +3,14 @@ package de.danoeh.antennapod.activity; import android.content.Intent; import android.os.Bundle; import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import com.actionbarsherlock.app.SherlockPreferenceActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.asynctask.FlattrClickWorker; import de.danoeh.antennapod.asynctask.OpmlExportWorker; @@ -29,6 +31,8 @@ public class PreferenceActivity extends SherlockPreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); addPreferencesFromResource(R.xml.preferences); findPreference(PREF_FLATTR_THIS_APP).setOnPreferenceClickListener( @@ -79,6 +83,17 @@ public class PreferenceActivity extends SherlockPreferenceActivity { return true; } }); + findPreference(PodcastApp.PREF_THEME).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + Intent i = getIntent(); + i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); + finish(); + startActivity(i); + return true; + } + }); } diff --git a/src/de/danoeh/antennapod/activity/SearchActivity.java b/src/de/danoeh/antennapod/activity/SearchActivity.java index 506bedad5..c847d014d 100644 --- a/src/de/danoeh/antennapod/activity/SearchActivity.java +++ b/src/de/danoeh/antennapod/activity/SearchActivity.java @@ -16,6 +16,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.adapter.SearchlistAdapter; import de.danoeh.antennapod.feed.Feed; @@ -43,6 +44,8 @@ public class SearchActivity extends SherlockListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.searchlist); txtvStatus = (TextView) findViewById(android.R.id.empty); diff --git a/src/de/danoeh/antennapod/activity/StorageErrorActivity.java b/src/de/danoeh/antennapod/activity/StorageErrorActivity.java index e5c7bd40f..90e684828 100644 --- a/src/de/danoeh/antennapod/activity/StorageErrorActivity.java +++ b/src/de/danoeh/antennapod/activity/StorageErrorActivity.java @@ -10,6 +10,7 @@ import android.util.Log; import com.actionbarsherlock.app.SherlockActivity; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.util.StorageUtils; @@ -20,6 +21,8 @@ public class StorageErrorActivity extends SherlockActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setTheme(PodcastApp.getThemeResourceId()); + setContentView(R.layout.storage_error); } diff --git a/src/de/danoeh/antennapod/activity/VideoplayerActivity.java b/src/de/danoeh/antennapod/activity/VideoplayerActivity.java index bb07437b5..b9e207c52 100644 --- a/src/de/danoeh/antennapod/activity/VideoplayerActivity.java +++ b/src/de/danoeh/antennapod/activity/VideoplayerActivity.java @@ -18,6 +18,7 @@ import android.widget.VideoView; import com.actionbarsherlock.view.Window; import de.danoeh.antennapod.AppConfig; +import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.service.PlaybackService; import de.danoeh.antennapod.service.PlayerStatus; @@ -39,6 +40,8 @@ public class VideoplayerActivity extends MediaplayerActivity implements @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY); + setTheme(PodcastApp.getThemeResourceId()); + super.onCreate(savedInstanceState); }