From 3695613b6fea2c8f27928f6051be546307b45bd4 Mon Sep 17 00:00:00 2001 From: Philip Junker Date: Thu, 4 Nov 2021 19:32:18 +0100 Subject: [PATCH] Mark mAutomaticBrightnessController @Nullable. Check that AutomaticBrightnessController is not null before calling update() and resetShortTermModel(). Bug: 203737431 Test: manual: flashed build with automaticBrightnessController set to null and verified that no NPE is thrown. Change-Id: Ie709d4bc7e6166eeb7e936bea79162f468c713f4 (cherry picked from commit 4d9cb42e217fd2c105c8a141ec849968584e2878) --- .../com/android/server/display/DisplayPowerController.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 768587a6a2b80..2f3342f20fcb7 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -378,6 +378,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private float mInitialAutoBrightness; // The controller for the automatic brightness level. + @Nullable private AutomaticBrightnessController mAutomaticBrightnessController; private Sensor mLightSensor; @@ -608,7 +609,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call mPendingRbcOnOrChanged = strengthChanged || justActivated; // Reset model if strength changed OR rbc is turned off - if (strengthChanged || !justActivated && mAutomaticBrightnessController != null) { + if ((strengthChanged || !justActivated) && mAutomaticBrightnessController != null) { mAutomaticBrightnessController.resetShortTermModel(); } } @@ -1567,7 +1568,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call sendUpdatePowerStateLocked(); mHandler.post(mOnBrightnessChangeRunnable); // TODO(b/192258832): Switch the HBMChangeCallback to a listener pattern. - mAutomaticBrightnessController.update(); + if (mAutomaticBrightnessController != null) { + mAutomaticBrightnessController.update(); + } }, mContext); }