diff options
author | James Lemieux <jplemieux@google.com> | 2016-01-20 18:23:00 -0800 |
---|---|---|
committer | James Lemieux <jplemieux@google.com> | 2016-01-20 18:23:00 -0800 |
commit | ac1506f175631e2b2f52ff9142cbdc6c725ef447 (patch) | |
tree | 8a11a0446075dc6cc183122b0888d19aaba633af | |
parent | a21a311d051856e4fe9d2f43d144953535749ddf (diff) | |
download | android_packages_apps_DeskClock-ac1506f175631e2b2f52ff9142cbdc6c725ef447.tar.gz android_packages_apps_DeskClock-ac1506f175631e2b2f52ff9142cbdc6c725ef447.tar.bz2 android_packages_apps_DeskClock-ac1506f175631e2b2f52ff9142cbdc6c725ef447.zip |
Rebuild notifications after app upgrade
Bug: 26676584
Change-Id: If6e905328265ad626ad9cc19b0ff6f128bdfe3a4
-rw-r--r-- | src/com/android/deskclock/AlarmInitReceiver.java | 7 | ||||
-rw-r--r-- | src/com/android/deskclock/data/DataModel.java | 9 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/deskclock/AlarmInitReceiver.java b/src/com/android/deskclock/AlarmInitReceiver.java index e605796e0..84989a7ca 100644 --- a/src/com/android/deskclock/AlarmInitReceiver.java +++ b/src/com/android/deskclock/AlarmInitReceiver.java @@ -35,6 +35,7 @@ public class AlarmInitReceiver extends BroadcastReceiver { * <li>Reset timers and stopwatch on ACTION_BOOT_COMPLETED</li> * <li>Fix alarm states on ACTION_BOOT_COMPLETED, TIME_SET, TIMEZONE_CHANGED, * and LOCALE_CHANGED</li> + * <li>Rebuild notifications on MY_PACKAGE_REPLACED</li> * </ul> */ @Override @@ -58,6 +59,12 @@ public class AlarmInitReceiver extends BroadcastReceiver { DataModel.getDataModel().resetTimers(R.string.label_reboot); } + // Notifications are canceled by the system on application upgrade. This broadcast signals + // that the new app is free to rebuild the notifications using the existing data. + if (Intent.ACTION_MY_PACKAGE_REPLACED.equals(action)) { + DataModel.getDataModel().updateAllNotifications(); + } + AsyncHandler.post(new Runnable() { @Override public void run() { diff --git a/src/com/android/deskclock/data/DataModel.java b/src/com/android/deskclock/data/DataModel.java index 482025096..382beb39e 100644 --- a/src/com/android/deskclock/data/DataModel.java +++ b/src/com/android/deskclock/data/DataModel.java @@ -152,6 +152,15 @@ public final class DataModel { return mNotificationModel.isApplicationInForeground(); } + /** + * Called when the notifications may be stale or absent from the notification manager and must + * be rebuilt. e.g. after upgrading the application + */ + public void updateAllNotifications() { + mTimerModel.updateNotification(); + mStopwatchModel.updateNotification(); + } + // // Cities // |