diff options
author | 2025-02-20 04:12:55 -0800 | |
---|---|---|
committer | 2025-02-20 04:12:55 -0800 | |
commit | 242ce0cd11ceb5b600f4ac3e0c62a5b8e599751c (patch) | |
tree | f10f5b7738c57c43dc49fd6cbbb63c1bf6bf2ef0 | |
parent | 909efe180ac1e6f4275d39c289c55de88d40b36b (diff) | |
parent | a7e006da5cc5ee819d40eea71edaf3758c272e4f (diff) |
Merge "Fix display events emitted when override info changed" into main
-rw-r--r-- | services/core/java/com/android/server/display/LogicalDisplayMapper.java | 8 | ||||
-rw-r--r-- | services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/display/LogicalDisplayMapper.java b/services/core/java/com/android/server/display/LogicalDisplayMapper.java index 872f33484951..f4daf8761e9b 100644 --- a/services/core/java/com/android/server/display/LogicalDisplayMapper.java +++ b/services/core/java/com/android/server/display/LogicalDisplayMapper.java @@ -890,10 +890,12 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener { // still need to let WindowManager know so it can update its own internal state for // things like display cutouts. display.getNonOverrideDisplayInfoLocked(mTempDisplayInfo); - if (!mTempNonOverrideDisplayInfo.equals(mTempDisplayInfo)) { - logicalDisplayEventMask |= LOGICAL_DISPLAY_EVENT_BASIC_CHANGED - | LOGICAL_DISPLAY_EVENT_REFRESH_RATE_CHANGED; + if (!mTempNonOverrideDisplayInfo.equals(mTempDisplayInfo, + /* compareOnlyBasicChanges */ true)) { + logicalDisplayEventMask |= LOGICAL_DISPLAY_EVENT_BASIC_CHANGED; } + logicalDisplayEventMask + |= updateAndGetMaskForDisplayPropertyChanges(mTempNonOverrideDisplayInfo); } mLogicalDisplaysToUpdate.put(displayId, logicalDisplayEventMask); mUpdatedLogicalDisplays.put(displayId, UPDATE_STATE_UPDATED); diff --git a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java index e0e44252a8f3..c151732cec66 100644 --- a/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java +++ b/services/tests/displayservicetests/src/com/android/server/display/DisplayManagerServiceTest.java @@ -984,8 +984,7 @@ public class DisplayManagerServiceTest { Handler handler = displayManager.getDisplayHandler(); waitForIdleHandler(handler); - assertThat(callback.receivedEvents()).containsExactly(EVENT_DISPLAY_BASIC_CHANGED, - EVENT_DISPLAY_REFRESH_RATE_CHANGED); + assertThat(callback.receivedEvents()).containsExactly(EVENT_DISPLAY_BASIC_CHANGED); } /** |