From efcb4ff256d9e0405ffaecd6142bca67530e43b3 Mon Sep 17 00:00:00 2001 From: Shen Lin Date: Fri, 30 Sep 2022 17:02:37 +0800 Subject: [PATCH] Fix NPE when store brightness and displayDevice is null This issue can cause a phone reboot, we have to make sure displayDevice is not null before getting its unique id. Bug: 249782095 Test: manual Change-Id: Iec57f44798820ac741bd2e6843874fb2b1aaef12 --- .../java/com/android/server/display/PersistentDataStore.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/display/PersistentDataStore.java b/services/core/java/com/android/server/display/PersistentDataStore.java index 73131a1dc220e..06dd5006188af 100644 --- a/services/core/java/com/android/server/display/PersistentDataStore.java +++ b/services/core/java/com/android/server/display/PersistentDataStore.java @@ -300,8 +300,11 @@ final class PersistentDataStore { } public boolean setBrightness(DisplayDevice displayDevice, float brightness) { + if (displayDevice == null || !displayDevice.hasStableUniqueId()) { + return false; + } final String displayDeviceUniqueId = displayDevice.getUniqueId(); - if (!displayDevice.hasStableUniqueId() || displayDeviceUniqueId == null) { + if (displayDeviceUniqueId == null) { return false; } final DisplayState state = getDisplayState(displayDeviceUniqueId, true);