From a6f5869d8f75baeef70ae8509a812b6778a60879 Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 13 Apr 2018 10:57:09 -0700 Subject: Ignore null notifications There seems to be an edge case where we can get a null notification in onNotificationRemoved(); there's nothing actionable about that, so just ignore it to prevent NPE. Also add null check to onNotificationPosted() for good measure. Bug: 69140873 Change-Id: I3586bf435d05aee38b99dffd3d01315b433e8476 --- src/com/android/launcher3/notification/NotificationListener.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/com/android/launcher3/notification') diff --git a/src/com/android/launcher3/notification/NotificationListener.java b/src/com/android/launcher3/notification/NotificationListener.java index 1fd70780b..117287ba7 100644 --- a/src/com/android/launcher3/notification/NotificationListener.java +++ b/src/com/android/launcher3/notification/NotificationListener.java @@ -219,6 +219,10 @@ public class NotificationListener extends NotificationListenerService { @Override public void onNotificationPosted(final StatusBarNotification sbn) { super.onNotificationPosted(sbn); + if (sbn == null) { + // There is a bug in platform where we can get a null notification; just ignore it. + return; + } mWorkerHandler.obtainMessage(MSG_NOTIFICATION_POSTED, new NotificationPostedMsg(sbn)) .sendToTarget(); if (sStatusBarNotificationsChangedListener != null) { @@ -244,6 +248,10 @@ public class NotificationListener extends NotificationListenerService { @Override public void onNotificationRemoved(final StatusBarNotification sbn) { super.onNotificationRemoved(sbn); + if (sbn == null) { + // There is a bug in platform where we can get a null notification; just ignore it. + return; + } Pair packageUserKeyAndNotificationKey = new Pair<>(PackageUserKey.fromNotification(sbn), NotificationKeyData.fromNotification(sbn)); -- cgit v1.2.3