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

Commit 48f269b5 authored by Matt Pietal's avatar Matt Pietal
Browse files

Fix Wakefullness lifecycle NPE

It appears that observers can occasionally be null. Check for nulls,
and skip notifying.

Fixes: 169016820
Test: atest WakefulnesslifecycleTest
Change-Id: I5efa91a9b2ec70e3c58005e3fce8ed7e40cc16a8
parent 7194da9c
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@

package com.android.systemui.keyguard;

import androidx.annotation.NonNull;

import java.util.ArrayList;
import java.util.Objects;
import java.util.function.Consumer;

/**
@@ -26,8 +29,8 @@ public class Lifecycle<T> {

    private ArrayList<T> mObservers = new ArrayList<>();

    public void addObserver(T observer) {
        mObservers.add(observer);
    public void addObserver(@NonNull T observer) {
        mObservers.add(Objects.requireNonNull(observer));
    }

    public void removeObserver(T observer) {
+5 −1
Original line number Diff line number Diff line
@@ -122,4 +122,8 @@ public class WakefulnessLifecycleTest extends SysuiTestCase {
        mWakefulness.dump(null, new PrintWriter(new ByteArrayOutputStream()), new String[0]);
    }

    @Test(expected = NullPointerException.class)
    public void throwNPEOnNullObserver() {
        mWakefulness.addObserver(null);
    }
}