From dcc1f9d64e09676086ee6058e4d0dc10e9e78254 Mon Sep 17 00:00:00 2001 From: Fiona Campbell Date: Tue, 16 Aug 2022 09:44:34 +0000 Subject: [PATCH] Prevent race condition by foregroundAppPackageName Create a local variable from the member variable so it cannot become null part way through. Bug: 235064663 Test: Builds Change-Id: Id5d13ee105fc2c78327ff3ddb3839f6cbd99fbab --- .../server/display/AutomaticBrightnessController.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java index 72464be0b89e4..db646df9b0716 100644 --- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java +++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java @@ -993,8 +993,9 @@ class AutomaticBrightnessController { final String packageName = info.topActivity.getPackageName(); // If the app didn't change, there's nothing to do. Otherwise, we have to // update the category and re-apply the brightness correction. - if (mForegroundAppPackageName != null - && mForegroundAppPackageName.equals(packageName)) { + String currentForegroundAppPackageName = mForegroundAppPackageName; + if (currentForegroundAppPackageName != null + && currentForegroundAppPackageName.equals(packageName)) { return; } mPendingForegroundAppPackageName = packageName;