Sorting people by key crashes launcher

Approch: approach: filter out people with null getKey before sorting.

Bug:139436782
Change-Id: I6510a12374ff4fec02c879ff76ba42b1fcdb8281
diff --git a/src/com/android/launcher3/notification/NotificationKeyData.java b/src/com/android/launcher3/notification/NotificationKeyData.java
index bfa4ba9..a1917ec 100644
--- a/src/com/android/launcher3/notification/NotificationKeyData.java
+++ b/src/com/android/launcher3/notification/NotificationKeyData.java
@@ -20,16 +20,14 @@
 import android.app.Person;
 import android.service.notification.StatusBarNotification;
 
-import com.android.launcher3.Utilities;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
+import com.android.launcher3.Utilities;
+
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * The key data associated with the notification, used to determine what to include
  * in dots and dummy popup views before they are populated.
@@ -39,8 +37,9 @@
 public class NotificationKeyData {
     public final String notificationKey;
     public final String shortcutId;
+    @NonNull
+    public final String[] personKeysFromNotification;
     public int count;
-    @NonNull public final String[] personKeysFromNotification;
 
     private NotificationKeyData(String notificationKey, String shortcutId, int count,
             String[] personKeysFromNotification) {
@@ -70,7 +69,8 @@
         if (people == null || people.isEmpty()) {
             return Utilities.EMPTY_STRING_ARRAY;
         }
-        return people.stream().map(Person::getKey).sorted().toArray(String[]::new);
+        return people.stream().filter(person -> person.getKey() != null)
+                .map(Person::getKey).sorted().toArray(String[]::new);
     }
 
     @Override