Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca58ae12 authored by Piotr Wilczyński's avatar Piotr Wilczyński
Browse files

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
parent 8e9d00cd
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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;
+8 −1
Original line number Diff line number Diff line
@@ -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);
            }
        }
    }