Making BrightnessSynchronizer operate on Display thread
Bug: b/349606418 b/345623960
Test: manual testing
Change-Id: I0f43db74d629a47213744fbba53e7ea85c5253ec
Flag: EXEMPT trivial change
diff --git a/core/java/com/android/internal/display/BrightnessSynchronizer.java b/core/java/com/android/internal/display/BrightnessSynchronizer.java
index 0068490..9f5ed65 100644
--- a/core/java/com/android/internal/display/BrightnessSynchronizer.java
+++ b/core/java/com/android/internal/display/BrightnessSynchronizer.java
@@ -78,9 +78,9 @@
// Feature flag that will eventually be removed
private final boolean mIntRangeUserPerceptionEnabled;
- public BrightnessSynchronizer(Context context, boolean intRangeUserPerceptionEnabled) {
- this(context, Looper.getMainLooper(), SystemClock::uptimeMillis,
- intRangeUserPerceptionEnabled);
+ public BrightnessSynchronizer(Context context, Looper looper,
+ boolean intRangeUserPerceptionEnabled) {
+ this(context, looper, SystemClock::uptimeMillis, intRangeUserPerceptionEnabled);
}
@VisibleForTesting
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index e686779..43c1f24f2 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -598,10 +598,11 @@
FoldSettingProvider foldSettingProvider = new FoldSettingProvider(context,
new SettingsWrapper(),
new FoldLockSettingAvailabilityProvider(context.getResources()));
+ Looper displayThreadLooper = DisplayThread.get().getLooper();
mInjector = injector;
mContext = context;
mFlags = injector.getFlags();
- mHandler = new DisplayManagerHandler(DisplayThread.get().getLooper());
+ mHandler = new DisplayManagerHandler(displayThreadLooper);
mUiHandler = UiThread.getHandler();
mDisplayDeviceRepo = new DisplayDeviceRepository(mSyncRoot, mPersistentDataStore);
mLogicalDisplayMapper = new LogicalDisplayMapper(mContext,
@@ -609,7 +610,7 @@
mDisplayDeviceRepo, new LogicalDisplayListener(), mSyncRoot, mHandler, mFlags);
mDisplayModeDirector = new DisplayModeDirector(
context, mHandler, mFlags, mDisplayDeviceConfigProvider);
- mBrightnessSynchronizer = new BrightnessSynchronizer(mContext,
+ mBrightnessSynchronizer = new BrightnessSynchronizer(mContext, displayThreadLooper,
mFlags.isBrightnessIntRangeUserPerceptionEnabled());
Resources resources = mContext.getResources();
mDefaultDisplayDefaultColorMode = mContext.getResources().getInteger(