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

Commit 45759ca5 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Fix potential NPE

Fixes: 247244229
Test: NotificationTest
Change-Id: If26322a9560dc38f788cabf9b6827bf6cdfeab58
parent eadd950b
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -3885,9 +3885,12 @@ public class Notification implements Parcelable
                }
                if (mN.extras.containsKey(EXTRA_PEOPLE_LIST)) {
                    ArrayList<Person> people = mN.extras.getParcelableArrayList(EXTRA_PEOPLE_LIST, android.app.Person.class);
                    ArrayList<Person> people = mN.extras.getParcelableArrayList(EXTRA_PEOPLE_LIST,
                            android.app.Person.class);
                    if (people != null && !people.isEmpty()) {
                        mPersonList.addAll(people);
                    }
                }
                if (mN.getSmallIcon() == null && mN.icon != 0) {
                    setSmallIcon(mN.icon);
+18 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import static android.app.Notification.EXTRA_LARGE_ICON_BIG;
import static android.app.Notification.EXTRA_MEDIA_REMOTE_INTENT;
import static android.app.Notification.EXTRA_MEDIA_SESSION;
import static android.app.Notification.EXTRA_MESSAGING_PERSON;
import static android.app.Notification.EXTRA_PEOPLE_LIST;
import static android.app.Notification.EXTRA_PICTURE;
import static android.app.Notification.EXTRA_PICTURE_ICON;
import static android.app.Notification.MessagingStyle.Message.KEY_DATA_URI;
@@ -816,6 +817,23 @@ public class NotificationTest {
        }
    }

    @Test
    public void testRecoverBuilder_nullExtraPeopleList_noCrash() {
        Bundle extras = new Bundle();
        extras.putParcelable(EXTRA_PEOPLE_LIST, null);

        Notification n = new Notification.Builder(mContext, "test")
                .setSmallIcon(0)
                .addExtras(extras)
                .build();
        Bundle fakeTypes = new Bundle();
        fakeTypes.putParcelable(EXTRA_BUILDER_APPLICATION_INFO, new Bundle());

        Notification.Builder.recoverBuilder(mContext, n);

        // no crash, good
    }

    @Test
    public void testVisitUris_invalidExtra_noCrash() {
        Notification n = new Notification.Builder(mContext, "test")