diff options
| author | 2022-11-07 09:54:45 +0000 | |
|---|---|---|
| committer | 2022-11-07 09:54:45 +0000 | |
| commit | 10cd7d590421ddaee6733f14198666b78c47befb (patch) | |
| tree | c649998ee305f1b5fe62365d683bc281decceb50 | |
| parent | 6cc66e4581998390ad63aee0fc566253a62fa0e7 (diff) | |
| parent | fccce26e131ef466739b9a8f39f0e66fe5e4e684 (diff) | |
Merge "Only load default lightsensor for Brightness Tracker" into tm-qpr-dev
| -rw-r--r-- | services/core/java/com/android/server/display/DisplayManagerService.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/display/DisplayPowerController.java | 8 | 
2 files changed, 6 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index b8ff6ed93666..7806ece9e65f 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -2598,7 +2598,7 @@ public final class DisplayManagerService extends SystemService {              // initPowerManagement has not yet been called.              return;          } -        if (mBrightnessTracker == null) { +        if (mBrightnessTracker == null && display.getDisplayIdLocked() == Display.DEFAULT_DISPLAY) {              mBrightnessTracker = new BrightnessTracker(mContext, null);          } diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 95dc23fc3120..69c890d90d03 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -913,7 +913,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call          // Initialize all of the brightness tracking state          final float brightness = convertToNits(mPowerState.getScreenBrightness()); -        if (brightness >= PowerManager.BRIGHTNESS_MIN) { +        if (mBrightnessTracker != null && brightness >= PowerManager.BRIGHTNESS_MIN) {              mBrightnessTracker.start(brightness);          }          mBrightnessSettingListener = brightnessValue -> { @@ -1045,7 +1045,9 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call              }              loadAmbientLightSensor(); -            if (mBrightnessTracker != null) { +            // BrightnessTracker should only use one light sensor, we want to use the light sensor +            // from the default display and not e.g. temporary displays when switching layouts. +            if (mBrightnessTracker != null && mDisplayId == Display.DEFAULT_DISPLAY) {                  mBrightnessTracker.setLightSensor(mLightSensor);              } @@ -2453,7 +2455,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call              boolean hadUserDataPoint) {          final float brightnessInNits = convertToNits(brightness);          if (mPowerRequest.useAutoBrightness && brightnessInNits >= 0.0f -                && mAutomaticBrightnessController != null) { +                && mAutomaticBrightnessController != null && mBrightnessTracker != null) {              // We only want to track changes on devices that can actually map the display backlight              // values into a physical brightness unit since the value provided by the API is in              // nits and not using the arbitrary backlight units.  |