diff options
| -rw-r--r-- | services/core/java/com/android/server/notification/NotificationManagerService.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index 72faa81ab249..8b53b97dd79f 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -1683,6 +1683,9 @@ public class NotificationManagerService extends SystemService { /** * Public API for getting a list of current notifications for the calling package/uid. * + * Note that since notification posting is done asynchronously, this will not return + * notifications that are in the process of being posted. + * * @returns A list of all the package's notifications, in natural order. */ @Override @@ -2990,9 +2993,6 @@ public class NotificationManagerService extends SystemService { // setup local book-keeping final NotificationRecord r = new NotificationRecord(getContext(), n, channel); - synchronized (mNotificationLock) { - mEnqueuedNotifications.add(r); - } mHandler.post(new EnqueueNotificationRunnable(userId, r)); idOut[0] = id; @@ -3010,6 +3010,8 @@ public class NotificationManagerService extends SystemService { @Override public void run() { synchronized (mNotificationLock) { + mEnqueuedNotifications.add(r); + if (mSnoozeHelper.isSnoozed(userId, r.sbn.getPackageName(), r.getKey())) { // TODO: log to event log if (DBG) { |