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

Commit 0496d6ee authored by Alina Zaidi's avatar Alina Zaidi
Browse files

Remove logic for disable all displays in StatusBarManagerService.

This causes a bug on changing users on Car Sysui - b/409327478

This will be re-added after finding and fixing the root cause

Bug:409327478
Flag: com.android.systemui.shared.status_bar_connected_displays
Test: atest com.android.server.statusbar.StatusBarManagerServiceTest
Change-Id: Iabf900a04fcaa95d11a5c1634c4a08e1bf61bfce
parent 777369b0
Loading
Loading
Loading
Loading
+6 −18
Original line number Diff line number Diff line
@@ -1379,17 +1379,11 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
        enforceValidCallingUser();

        synchronized (mLock) {
          if(STATUS_BAR_CONNECTED_DISPLAYS.isTrue()) {
                IntArray displayIds = new IntArray();
                for (int i = 0; i < mDisplayUiState.size(); i++) {
                    displayIds.add(mDisplayUiState.keyAt(i));
                }
                disableAllDisplaysLocked(displayIds, userId, what, token, pkg, /* whichFlag= */ 1);
            } else {
            // TODO(b/409327478):- Call disableForAllDisplays if StatusBarConnectedDisplays
            // flag is enabled.
            disableLocked(DEFAULT_DISPLAY, userId, what, token, pkg, /* whichFlag= */ 1);
        }
    }
    }

    /**
     * Disable additional status bar features. Pass the bitwise-or of the {@code #DISABLE2_*} flags.
@@ -1415,17 +1409,11 @@ public class StatusBarManagerService extends IStatusBarService.Stub implements D
        enforceStatusBar();

        synchronized (mLock) {
            if (STATUS_BAR_CONNECTED_DISPLAYS.isTrue()) {
                IntArray displayIds = new IntArray();
                for (int i = 0; i < mDisplayUiState.size(); i++) {
                    displayIds.add(mDisplayUiState.keyAt(i));
                }
                disableAllDisplaysLocked(displayIds, userId, what, token, pkg, /* whichFlag= */ 2);
            } else {
            // TODO(b/409327478):- Call disableForAllDisplays if StatusBarConnectedDisplays
            // flag is enabled.
            disableLocked(DEFAULT_DISPLAY, userId, what, token, pkg, /* whichFlag= */ 2);
        }
    }
    }

    private void disableLocked(int displayId, int userId, int what, IBinder token, String pkg,
            int whichFlag) {
+4 −26
Original line number Diff line number Diff line
@@ -773,19 +773,8 @@ public class StatusBarManagerServiceTest {
        // disable
        mStatusBarManagerService.disable(expectedFlags, mMockStatusBar, pkg);

        ArgumentCaptor<DisableStates> disableStatesCaptor = ArgumentCaptor.forClass(
                DisableStates.class);
        verify(mMockStatusBar).disableForAllDisplays(disableStatesCaptor.capture());
        DisableStates capturedDisableStates = disableStatesCaptor.getValue();
        assertTrue(capturedDisableStates.animate);
        assertEquals(capturedDisableStates.displaysWithStates.size(), 2);
        Pair<Integer, Integer> display0States = capturedDisableStates.displaysWithStates.get(0);
        assertEquals((int) display0States.first, expectedFlags);
        assertEquals((int) display0States.second, 0);
        Pair<Integer, Integer> display2States = capturedDisableStates.displaysWithStates.get(
                SECONDARY_DISPLAY_ID);
        assertEquals((int) display2States.first, expectedFlags);
        assertEquals((int) display2States.second, 0);
        verify(mMockStatusBar, never()).disableForAllDisplays(any());
        verify(mMockStatusBar).disable(eq(0), eq(expectedFlags), eq(0));
    }

    @Test
@@ -909,19 +898,8 @@ public class StatusBarManagerServiceTest {
        // disable
        mStatusBarManagerService.disable2(expectedFlags, mMockStatusBar, pkg);

        ArgumentCaptor<DisableStates> disableStatesCaptor = ArgumentCaptor.forClass(
                DisableStates.class);
        verify(mMockStatusBar).disableForAllDisplays(disableStatesCaptor.capture());
        DisableStates capturedDisableStates = disableStatesCaptor.getValue();
        assertTrue(capturedDisableStates.animate);
        assertEquals(capturedDisableStates.displaysWithStates.size(), 2);
        Pair<Integer, Integer> display0States = capturedDisableStates.displaysWithStates.get(0);
        assertEquals((int) display0States.first, 0);
        assertEquals((int) display0States.second, expectedFlags);
        Pair<Integer, Integer> display2States = capturedDisableStates.displaysWithStates.get(
                SECONDARY_DISPLAY_ID);
        assertEquals((int) display2States.first, 0);
        assertEquals((int) display2States.second, expectedFlags);
        verify(mMockStatusBar, never()).disableForAllDisplays(any());
        verify(mMockStatusBar).disable(eq(0), eq(0), eq(expectedFlags));
    }

    @Test