Increased polling frequency in notification service. Added NPE protections.

This commit is contained in:
Doug Keen 2012-09-27 09:34:28 -07:00
parent b69abf9a38
commit 9e4b4cf8d2

View File

@ -204,8 +204,10 @@ public class NotificationService extends Service implements EtdServiceListener {
private void cancelAlarm() {
((BartRunnerApplication) getApplication()).setAlarmPending(false);
if (mAlarmManager != null) {
mAlarmManager.cancel(mAlarmPendingIntent);
}
}
@Override
public void onETDChanged(List<Departure> departures) {
@ -266,6 +268,11 @@ public class NotificationService extends Service implements EtdServiceListener {
shutDown(false);
}
// Departure must have changed... fire the alarm
if (getAlarmClockTime() < System.currentTimeMillis()) {
triggerAlarmImmediately();
}
updateNotification();
final int pollIntervalMillis = getPollIntervalMillis();
@ -285,8 +292,12 @@ public class NotificationService extends Service implements EtdServiceListener {
private void shutDown(boolean isBeingDestroyed) {
if (!mHasShutDown) {
mHasShutDown = true;
if (mEtdService != null) {
mEtdService.unregisterListener(this);
}
if (mNotificationManager != null) {
mNotificationManager.cancel(DEPARTURE_NOTIFICATION_ID);
}
cancelAlarm();
if (!isBeingDestroyed)
stopSelf();
@ -355,9 +366,9 @@ public class NotificationService extends Service implements EtdServiceListener {
}
if (secondsToAlarm > 3 * 60) {
return 30 * 1000;
return 15 * 1000;
} else {
return 10 * 1000;
return 6 * 1000;
}
}