diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java index 1305d63a77d1a..f5ca8aaa0997b 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController.java +++ b/services/core/java/com/android/server/display/DisplayPowerController.java @@ -138,6 +138,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call private static final int MSG_UPDATE_RBC = 11; private static final int MSG_BRIGHTNESS_RAMP_DONE = 12; private static final int MSG_STATSD_HBM_BRIGHTNESS = 13; + private static final int MSG_SWITCH_USER = 14; private static final int PROXIMITY_UNKNOWN = -1; private static final int PROXIMITY_NEGATIVE = 0; @@ -714,6 +715,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call @Override public void onSwitchUser(@UserIdInt int newUserId) { + Message msg = mHandler.obtainMessage(MSG_SWITCH_USER, newUserId); + mHandler.sendMessage(msg); + } + + private void handleOnSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { @@ -3073,6 +3079,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call case MSG_STATSD_HBM_BRIGHTNESS: logHbmBrightnessStats(Float.intBitsToFloat(msg.arg1), msg.arg2); break; + + case MSG_SWITCH_USER: + handleOnSwitchUser(msg.arg1); + break; } } } diff --git a/services/core/java/com/android/server/display/DisplayPowerController2.java b/services/core/java/com/android/server/display/DisplayPowerController2.java index 82faa12be90ed..5667ddf59b3c7 100644 --- a/services/core/java/com/android/server/display/DisplayPowerController2.java +++ b/services/core/java/com/android/server/display/DisplayPowerController2.java @@ -135,6 +135,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal private static final int MSG_UPDATE_RBC = 9; private static final int MSG_BRIGHTNESS_RAMP_DONE = 10; private static final int MSG_STATSD_HBM_BRIGHTNESS = 11; + private static final int MSG_SWITCH_USER = 12; private static final int BRIGHTNESS_CHANGE_STATSD_REPORT_INTERVAL_MS = 500; @@ -605,6 +606,11 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal @Override public void onSwitchUser(@UserIdInt int newUserId) { + Message msg = mHandler.obtainMessage(MSG_SWITCH_USER, newUserId); + mHandler.sendMessage(msg); + } + + private void handleOnSwitchUser(@UserIdInt int newUserId) { handleSettingsChange(true /* userSwitch */); handleBrightnessModeChange(); if (mBrightnessTracker != null) { @@ -2573,6 +2579,10 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal case MSG_STATSD_HBM_BRIGHTNESS: logHbmBrightnessStats(Float.intBitsToFloat(msg.arg1), msg.arg2); break; + + case MSG_SWITCH_USER: + handleOnSwitchUser(msg.arg1); + break; } } }