Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,8 @@ public class QSPanelControllerBaseTest extends SysuiTestCase { @Mock private ViewTreeObserver mViewTreeObserver; private boolean mPagedTileLayoutListening = false; private TestableLongPressEffectProvider mLongPressEffectProvider = new TestableLongPressEffectProvider(); Loading Loading @@ -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); Loading Loading @@ -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(); } Loading packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +8 −0 Original line number Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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() { Loading @@ -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); Loading Loading @@ -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); Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/QSPanelControllerBaseTest.java +34 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,8 @@ public class QSPanelControllerBaseTest extends SysuiTestCase { @Mock private ViewTreeObserver mViewTreeObserver; private boolean mPagedTileLayoutListening = false; private TestableLongPressEffectProvider mLongPressEffectProvider = new TestableLongPressEffectProvider(); Loading Loading @@ -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); Loading Loading @@ -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(); } Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +8 −0 Original line number Diff line number Diff line Loading @@ -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() { Loading Loading @@ -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() { Loading @@ -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); Loading Loading @@ -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); Loading