Merge "Prevent recomputeDisableFlags from clobbering the system disable flags" into sc-v2-dev am: 27cef855be

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16307531

Change-Id: I20caa75865ea35c6a8a07f4fe254051b59187a9b
This commit is contained in:
Winson Chung
2021-11-22 17:37:29 +00:00
committed by Automerger Merge Worker

View File

@@ -513,9 +513,13 @@ public class CommandQueue extends IStatusBar.Stub implements
* @param animate {@code true} to show animations.
*/
public void recomputeDisableFlags(int displayId, boolean animate) {
int disabled1 = getDisabled1(displayId);
int disabled2 = getDisabled2(displayId);
disable(displayId, disabled1, disabled2, animate);
// This must update holding the lock otherwise it can clobber the disabled flags set on the
// binder thread from the disable() call
synchronized (mLock) {
int disabled1 = getDisabled1(displayId);
int disabled2 = getDisabled2(displayId);
disable(displayId, disabled1, disabled2, animate);
}
}
private void setDisabled(int displayId, int disabled1, int disabled2) {