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

Commit c562fc69 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Prevent NPEs in NLSes

NLSs (rightly) assume that the SBN they get from
onNotification[X] calls will not be null. If it is, log and bail early.

Bug: 78279961
Test: reboot device
Change-Id: Id2bba6b15aeea2d701d92d6c63022463f0f8c1df
parent 68dd1b19
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -293,6 +293,11 @@ public abstract class NotificationAssistantService extends NotificationListenerS
                Log.w(TAG, "onNotificationEnqueued: Error receiving StatusBarNotification", e);
                return;
            }
            if (sbn == null) {
                Log.w(TAG, "onNotificationEnqueuedWithChannel: "
                        + "Error receiving StatusBarNotification");
                return;
            }

            SomeArgs args = SomeArgs.obtain();
            args.arg1 = sbn;
@@ -311,6 +316,10 @@ public abstract class NotificationAssistantService extends NotificationListenerS
                Log.w(TAG, "onNotificationSnoozed: Error receiving StatusBarNotification", e);
                return;
            }
            if (sbn == null) {
                Log.w(TAG, "onNotificationSnoozed: Error receiving StatusBarNotification");
                return;
            }

            SomeArgs args = SomeArgs.obtain();
            args.arg1 = sbn;
+8 −0
Original line number Diff line number Diff line
@@ -1272,6 +1272,10 @@ public abstract class NotificationListenerService extends Service {
                Log.w(TAG, "onNotificationPosted: Error receiving StatusBarNotification", e);
                return;
            }
            if (sbn == null) {
                Log.w(TAG, "onNotificationPosted: Error receiving StatusBarNotification");
                return;
            }

            try {
                // convert icon metadata to legacy format for older clients
@@ -1313,6 +1317,10 @@ public abstract class NotificationListenerService extends Service {
                Log.w(TAG, "onNotificationRemoved: Error receiving StatusBarNotification", e);
                return;
            }
            if (sbn == null) {
                Log.w(TAG, "onNotificationRemoved: Error receiving StatusBarNotification");
                return;
            }
            // protect subclass from concurrent modifications of (@link mNotificationKeys}.
            synchronized (mLock) {
                applyUpdateLocked(update);