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

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

Merge "Restore QSPanelControllerBase listening state" into main

parents f83a753c 79c8c820
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -136,6 +136,8 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
    @Mock
    private ViewTreeObserver mViewTreeObserver;

    private boolean mPagedTileLayoutListening = false;

    private TestableLongPressEffectProvider mLongPressEffectProvider =
            new TestableLongPressEffectProvider();

@@ -213,6 +215,11 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
            return null;
        }).when(mQSPanel).setListening(anyBoolean());

        doAnswer(invocation -> {
            mPagedTileLayoutListening = invocation.getArgument(0);
            return null;
        }).when(mPagedTileLayout).setListening(anyBoolean(), any());

        mController = new TestableQSPanelControllerBase(mQSPanel, mQSHost,
                mQSCustomizerController, mMediaHost,
                mMetricsLogger, mUiEventLogger, mQSLogger, mDumpManager);
@@ -571,6 +578,33 @@ public class QSPanelControllerBaseTest extends SysuiTestCase {
        assertThat(mController.mRecords).isEmpty();
    }

    @Test
    public void listening_dettach_reAttach_listeningSetAgain() {
        mController.setListening(true);

        assertThat(mPagedTileLayoutListening).isTrue();

        mController.onViewDetached();
        assertThat(mPagedTileLayoutListening).isFalse();

        mController.onViewAttached();
        assertThat(mPagedTileLayoutListening).isTrue();
    }

    @Test
    public void notListening_dettach_reAttach_stillNotListening() {
        mController.setListening(false);

        assertThat(mPagedTileLayoutListening).isFalse();

        mController.onViewDetached();
        assertThat(mPagedTileLayoutListening).isFalse();

        mController.onViewAttached();
        assertThat(mPagedTileLayoutListening).isFalse();
    }


    private boolean usingMediaPlayer() {
        return !SceneContainerFlag.isEnabled();
    }
+8 −0
Original line number Diff line number Diff line
@@ -107,6 +107,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        setLayoutForMediaInScene();
    };

    private boolean mLastListening;

    @VisibleForTesting
    protected final QSPanel.OnConfigurationChangedListener mOnConfigurationChangedListener =
            new QSPanel.OnConfigurationChangedListener() {
@@ -242,6 +244,8 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        switchTileLayout(true);

        mDumpManager.registerDumpable(mView.getDumpableTag(), this);

        setListening(mLastListening);
    }

    private void registerForMediaInteractorChanges() {
@@ -259,7 +263,10 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
        mQSLogger.logOnViewDetached(mLastOrientation, mView.getDumpableTag());
        mView.removeOnConfigurationChangedListener(mOnConfigurationChangedListener);

        // Call directly so mLastListening is not modified. We want that to have the last actual
        // value.
        mView.getTileLayout().setListening(false, mUiEventLogger);
        mView.setListening(false);

        mMediaHost.removeVisibilityChangeListener(mMediaHostVisibilityListener);

@@ -436,6 +443,7 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr
    }

    void setListening(boolean listening) {
        mLastListening = listening;
        if (mView.isListening() == listening) return;
        mView.setListening(listening);