diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/Lifecycle.java b/packages/SystemUI/src/com/android/systemui/keyguard/Lifecycle.java index 1b20cfbc4e550..3da6caf319689 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/Lifecycle.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/Lifecycle.java @@ -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 { private ArrayList 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) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WakefulnessLifecycleTest.java b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WakefulnessLifecycleTest.java index 1dc415048f74b..2e8e3ed664b34 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/WakefulnessLifecycleTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/WakefulnessLifecycleTest.java @@ -122,4 +122,8 @@ public class WakefulnessLifecycleTest extends SysuiTestCase { mWakefulness.dump(null, new PrintWriter(new ByteArrayOutputStream()), new String[0]); } -} \ No newline at end of file + @Test(expected = NullPointerException.class) + public void throwNPEOnNullObserver() { + mWakefulness.addObserver(null); + } +}