summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2023-03-28 12:19:14 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-28 12:19:14 +0000
commitf1c4b2ef9970c1be70c1248cea1fac591d6af5cc (patch)
tree66d4c3a6a2376b3b952d4e13178bb1b14d85c591
parent17d7b4b2a62797c933f19093ed78b3d10a3f1e60 (diff)
parentca58ae12c1060d5804254280cdeb5bfecc6a2c63 (diff)
Merge "Don't update desired display mode specs for disabled displays" into udc-dev
-rw-r--r--services/core/java/com/android/server/display/DisplayManagerService.java3
-rw-r--r--services/core/java/com/android/server/display/LogicalDisplayMapper.java9
2 files changed, 10 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java
index ad5ae5f4d0d9..745e40411bad 100644
--- a/services/core/java/com/android/server/display/DisplayManagerService.java
+++ b/services/core/java/com/android/server/display/DisplayManagerService.java
@@ -4600,7 +4600,8 @@ public final class DisplayManagerService extends SystemService {
public void onDesiredDisplayModeSpecsChanged() {
synchronized (mSyncRoot) {
mChanged = false;
- mLogicalDisplayMapper.forEachLocked(mSpecsChangedConsumer);
+ mLogicalDisplayMapper.forEachLocked(mSpecsChangedConsumer,
+ /* includeDisabled= */ false);
if (mChanged) {
scheduleTraversalLocked(false);
mChanged = false;
diff --git a/services/core/java/com/android/server/display/LogicalDisplayMapper.java b/services/core/java/com/android/server/display/LogicalDisplayMapper.java
index 250ba4350f1d..424eedc876ec 100644
--- a/services/core/java/com/android/server/display/LogicalDisplayMapper.java
+++ b/services/core/java/com/android/server/display/LogicalDisplayMapper.java
@@ -302,9 +302,16 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener {
}
public void forEachLocked(Consumer<LogicalDisplay> consumer) {
+ forEachLocked(consumer, /* includeDisabled= */ true);
+ }
+
+ public void forEachLocked(Consumer<LogicalDisplay> consumer, boolean includeDisabled) {
final int count = mLogicalDisplays.size();
for (int i = 0; i < count; i++) {
- consumer.accept(mLogicalDisplays.valueAt(i));
+ LogicalDisplay display = mLogicalDisplays.valueAt(i);
+ if (display.isEnabledLocked() || includeDisabled) {
+ consumer.accept(display);
+ }
}
}