Merge "Prevent the thread unsafe operation during the user switching" into tm-qpr-dev

This commit is contained in:
Piotr Wilczyński
2023-02-16 10:16:23 +00:00
committed by Android (Google) Code Review

View File

@@ -132,6 +132,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
private static final int MSG_UPDATE_RBC = 11; private static final int MSG_UPDATE_RBC = 11;
private static final int MSG_BRIGHTNESS_RAMP_DONE = 12; private static final int MSG_BRIGHTNESS_RAMP_DONE = 12;
private static final int MSG_STATSD_HBM_BRIGHTNESS = 13; 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_UNKNOWN = -1;
private static final int PROXIMITY_NEGATIVE = 0; private static final int PROXIMITY_NEGATIVE = 0;
@@ -703,6 +704,11 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
} }
public void onSwitchUser(@UserIdInt int newUserId) { 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 */); handleSettingsChange(true /* userSwitch */);
handleBrightnessModeChange(); handleBrightnessModeChange();
if (mBrightnessTracker != null) { if (mBrightnessTracker != null) {
@@ -3167,6 +3173,10 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
case MSG_STATSD_HBM_BRIGHTNESS: case MSG_STATSD_HBM_BRIGHTNESS:
logHbmBrightnessStats(Float.intBitsToFloat(msg.arg1), msg.arg2); logHbmBrightnessStats(Float.intBitsToFloat(msg.arg1), msg.arg2);
break; break;
case MSG_SWITCH_USER:
handleOnSwitchUser(msg.arg1);
break;
} }
} }
} }