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