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

Commit 773e7877 authored by Michal Brzezinski's avatar Michal Brzezinski
Browse files

QS in split shade should listen to changes earlier

This makes QS listen to changes and update itself immediately when expansion starts, compared to current state when state is updated only after full expansion is finished.

Bug: 253162395
Test: QSFragmentTest
Test: go to settings -> change brightness -> expand split shade and see brightness is updated immediately, before shade is fully expanded
Change-Id: If1fb81ed3a0d0963fde83e95650c2b3b7663562c
parent 71bf4aaf
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -515,7 +515,13 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
    public void setExpanded(boolean expanded) {
        if (DEBUG) Log.d(TAG, "setExpanded " + expanded);
        mQsExpanded = expanded;
        if (mInSplitShade && mQsExpanded) {
            // in split shade QS is expanded immediately when shade expansion starts and then we
            // also need to listen to changes - otherwise QS is updated only once its fully expanded
            setListening(true);
        } else {
            updateQsPanelControllerListening();
        }
        updateQsState();
    }

+11 −0
Original line number Diff line number Diff line
@@ -439,6 +439,17 @@ public class QSFragmentTest extends SysuiBaseFragmentTest {
        verify(mQSPanelController).setExpanded(false);
    }

    @Test
    public void startsListeningAfterStateChangeToExpanded_inSplitShade() {
        QSFragment fragment = resumeAndGetFragment();
        enableSplitShade();
        fragment.setQsVisible(true);
        clearInvocations(mQSPanelController);

        fragment.setExpanded(true);
        verify(mQSPanelController).setListening(true, true);
    }

    @Override
    protected Fragment instantiate(Context context, String className, Bundle arguments) {
        MockitoAnnotations.initMocks(this);