diff options
author | tommy watson <toggles@gmail.com> | 2012-12-12 10:11:05 +0100 |
---|---|---|
committer | tommy watson <toggles@gmail.com> | 2012-12-12 10:11:05 +0100 |
commit | 93a65ba49e92c202b70ee165aea723bacffb178f (patch) | |
tree | 74a9a4759b7d5bf1f1a090948ec3b87820042929 /src | |
parent | 3692119bedec66358d72a649d9408ece77a7b30c (diff) | |
download | AntennaPod-93a65ba49e92c202b70ee165aea723bacffb178f.zip |
Start the update alarm on start of the app.
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/PodcastApp.java | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/src/de/danoeh/antennapod/PodcastApp.java b/src/de/danoeh/antennapod/PodcastApp.java index e59889ddd..69f803928 100644 --- a/src/de/danoeh/antennapod/PodcastApp.java +++ b/src/de/danoeh/antennapod/PodcastApp.java @@ -65,6 +65,10 @@ public class PodcastApp extends Application implements currentlyPlayingMediaId = prefs.getLong( PlaybackService.PREF_CURRENTLY_PLAYING_MEDIA, PlaybackService.NO_MEDIA_PLAYING); + // start the update alarm + int hours = Integer.parseInt(prefs.getString( + PREF_UPDATE_INTERVALL, "0")); + restartUpdateAlarm(hours); readThemeValue(); createImportDirectory(); createNoMediaFile(); @@ -126,22 +130,9 @@ public class PodcastApp extends Application implements if (AppConfig.DEBUG) Log.d(TAG, "Registered change of application preferences"); if (key.equals(PREF_UPDATE_INTERVALL)) { - AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); int hours = Integer.parseInt(sharedPreferences.getString( - PREF_UPDATE_INTERVALL, "0")); - PendingIntent updateIntent = PendingIntent.getBroadcast(this, 0, - new Intent(FeedUpdateReceiver.ACTION_REFRESH_FEEDS), 0); - alarmManager.cancel(updateIntent); - if (hours != 0) { - long newIntervall = TimeUnit.HOURS.toMillis(hours); - alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, - newIntervall, newIntervall, updateIntent); - if (AppConfig.DEBUG) - Log.d(TAG, "Changed alarm to new intervall"); - } else { - if (AppConfig.DEBUG) - Log.d(TAG, "Automatic update was deactivated"); - } + PREF_UPDATE_INTERVALL, "0")); + restartUpdateAlarm(hours); } else if (key.equals(PREF_DISPLAY_ONLY_EPISODES)) { if (AppConfig.DEBUG) Log.d(TAG, "PREF_DISPLAY_ONLY_EPISODES changed"); @@ -208,4 +199,22 @@ public class PodcastApp extends Application implements break; } } + + private void restartUpdateAlarm(int hours) { + AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); + PendingIntent updateIntent = PendingIntent.getBroadcast(this, 0, + new Intent(FeedUpdateReceiver.ACTION_REFRESH_FEEDS), 0); + alarmManager.cancel(updateIntent); + if (hours != 0) { + long newIntervall = TimeUnit.HOURS.toMillis(hours); + alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, + newIntervall, newIntervall, updateIntent); + if (AppConfig.DEBUG) + Log.d(TAG, "Changed alarm to new intervall"); + } else { + if (AppConfig.DEBUG) + Log.d(TAG, "Automatic update was deactivated"); + } + } + } |