summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java8
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) {