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

Commit ba982c60 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Prevent double updateLogicalDisplaysLocked" into 24D1-dev

parents 6d5685c8 987eeb85
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -136,6 +136,9 @@ class ExternalDisplayPolicy {
                    handleExternalDisplayConnectedLocked(logicalDisplay);
                }
            }
            if (!mDisplayIdsWaitingForBootCompletion.isEmpty()) {
                mLogicalDisplayMapper.updateLogicalDisplaysLocked();
            }
            mDisplayIdsWaitingForBootCompletion.clear();
        }

@@ -222,7 +225,7 @@ class ExternalDisplayPolicy {
        } else {
            // As external display is enabled by default, need to disable it now.
            // TODO(b/292196201) Remove when the display can be disabled before DPC is created.
            mLogicalDisplayMapper.setDisplayEnabledLocked(logicalDisplay, false);
            mLogicalDisplayMapper.setEnabledLocked(logicalDisplay, false);
        }

        if (!isExternalDisplayAllowed()) {
+0 −1
Original line number Diff line number Diff line
@@ -1189,7 +1189,6 @@ class LogicalDisplayMapper implements DisplayDeviceRepository.Listener {
        return display;
    }

    @VisibleForTesting
    void setEnabledLocked(LogicalDisplay display, boolean isEnabled) {
        final int displayId = display.getDisplayIdLocked();
        final DisplayInfo info = display.getDisplayInfoLocked();
+6 −4
Original line number Diff line number Diff line
@@ -2429,9 +2429,8 @@ public class DisplayManagerServiceTest {
        LogicalDisplay display =
                logicalDisplayMapper.getDisplayLocked(displayDevice, /* includeDisabled= */ true);
        assertThat(display.isEnabledLocked()).isFalse();
        // TODO(b/332711269) make sure only one DISPLAY_GROUP_EVENT_ADDED sent.
        assertThat(callback.receivedEvents()).containsExactly(DISPLAY_GROUP_EVENT_ADDED,
                DISPLAY_GROUP_EVENT_ADDED, EVENT_DISPLAY_CONNECTED).inOrder();
                EVENT_DISPLAY_CONNECTED).inOrder();
    }

    @Test
@@ -3138,8 +3137,11 @@ public class DisplayManagerServiceTest {
        }
        displayDeviceInfo.address = new TestUtils.TestDisplayAddress();
        displayDevice.setDisplayDeviceInfo(displayDeviceInfo);

        displayManager.getDisplayHandler().runWithScissors(() -> {
            displayManager.getDisplayDeviceRepository()
                    .onDisplayDeviceEvent(displayDevice, DisplayAdapter.DISPLAY_DEVICE_EVENT_ADDED);
        }, 0 /* now */);
        return displayDevice;
    }

+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ public class ExternalDisplayPolicyTest {
                mDisplayEventCaptor.capture());
        assertThat(mLogicalDisplayCaptor.getValue()).isEqualTo(mMockedLogicalDisplay);
        assertThat(mDisplayEventCaptor.getValue()).isEqualTo(EVENT_DISPLAY_CONNECTED);
        verify(mMockedLogicalDisplayMapper).setDisplayEnabledLocked(eq(mMockedLogicalDisplay),
        verify(mMockedLogicalDisplayMapper).setEnabledLocked(eq(mMockedLogicalDisplay),
                eq(false));
        clearInvocations(mMockedLogicalDisplayMapper);
        clearInvocations(mMockedLogicalDisplay);