Don't update desired display mode specs for disabled displays
Bug: 267460636 Test: atest com.android.server.display Test: adb logcat | grep -i "Asked about unknown display" Change-Id: I50aa11a7812aeaae74b7c1d5f2d4bd7a77a3acf2
This commit is contained in:
@@ -4579,7 +4579,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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user