Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 573c6537 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Make one method slightly less useful to save others

Specifically, adding the record to the enqueued list outside of
the handler meant that a cancelAll followed by a repost could
prevent the repost from succeeding.

Test: cts verifier
Change-Id: I4faf15f39f8fe7455c389c455420c22c763e23bd
parent cf63ff15
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -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) {