Loading packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DeviceControlsTileTest.kt +39 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.flags.QSComposeFragment import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.res.R import com.android.systemui.util.mockito.any Loading @@ -75,6 +76,7 @@ import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoMoreInteractions import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations import org.mockito.kotlin.never import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading @@ -98,6 +100,7 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { @Mock private lateinit var controlsController: ControlsController @Mock private lateinit var serviceInfo: ControlsServiceInfo @Mock private lateinit var uiEventLogger: QsEventLogger @Mock private lateinit var panelInteractor: PanelInteractor @Captor private lateinit var listingCallbackCaptor: ArgumentCaptor<ControlsListingController.ControlsListingCallback> Loading Loading @@ -320,6 +323,41 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { verifyNoMoreInteractions(activityStarter) } @Test fun handleClick_alreadyVisible_noActivityStarted_panelCollapsed() { verify(controlsListingController) .observe(any(LifecycleOwner::class.java), capture(listingCallbackCaptor)) `when`(controlsComponent.getVisibility()).thenReturn(ControlsComponent.Visibility.AVAILABLE) `when`(controlsUiController.resolveActivity()).thenReturn(ControlsActivity::class.java) `when`(controlsController.getPreferredSelection()) .thenReturn( SelectedItem.StructureItem( StructureInfo( ComponentName("pkg", "cls"), "structure", listOf(ControlInfo("id", "title", "subtitle", 1)), ) ) ) listingCallbackCaptor.value.onServicesUpdated(listOf(serviceInfo)) testableLooper.processAllMessages() `when`(controlsUiController.isShowing).thenReturn(true) tile.click(null) testableLooper.processAllMessages() verify(activityStarter, never()) .startActivity( any(), anyBoolean(), nullable(ActivityTransitionAnimator.Controller::class.java), anyBoolean(), ) verify(panelInteractor).collapsePanels() } @Test fun handleClick_available_shownOverLockscreenWhenLocked() { verify(controlsListingController) Loading Loading @@ -441,6 +479,7 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { activityStarter, qsLogger, controlsComponent, panelInteractor, ) .also { it.initialize() Loading packages/SystemUI/src/com/android/systemui/qs/tiles/DeviceControlsTile.kt +12 −6 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.res.R import java.util.concurrent.atomic.AtomicBoolean Loading @@ -58,6 +59,7 @@ constructor( activityStarter: ActivityStarter, qsLogger: QSLogger, private val controlsComponent: ControlsComponent, private val panelInteractor: PanelInteractor, ) : QSTileImpl<QSTile.State>( host, Loading Loading @@ -125,6 +127,9 @@ constructor( mUiHandler.post { val showOverLockscreenWhenLocked = state.state == Tile.STATE_ACTIVE if (controlsComponent.getControlsUiController().get().isShowing) { panelInteractor.collapsePanels() } else { mActivityStarter.startActivity( intent, true /* dismissShade */, Loading @@ -133,6 +138,7 @@ constructor( ) } } } override fun handleUpdateState(state: QSTile.State, arg: Any?) { state.label = tileLabel Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/qs/tiles/DeviceControlsTileTest.kt +39 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.flags.QSComposeFragment import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.res.R import com.android.systemui.util.mockito.any Loading @@ -75,6 +76,7 @@ import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoMoreInteractions import org.mockito.Mockito.`when` import org.mockito.MockitoAnnotations import org.mockito.kotlin.never import platform.test.runner.parameterized.ParameterizedAndroidJunit4 import platform.test.runner.parameterized.Parameters Loading @@ -98,6 +100,7 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { @Mock private lateinit var controlsController: ControlsController @Mock private lateinit var serviceInfo: ControlsServiceInfo @Mock private lateinit var uiEventLogger: QsEventLogger @Mock private lateinit var panelInteractor: PanelInteractor @Captor private lateinit var listingCallbackCaptor: ArgumentCaptor<ControlsListingController.ControlsListingCallback> Loading Loading @@ -320,6 +323,41 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { verifyNoMoreInteractions(activityStarter) } @Test fun handleClick_alreadyVisible_noActivityStarted_panelCollapsed() { verify(controlsListingController) .observe(any(LifecycleOwner::class.java), capture(listingCallbackCaptor)) `when`(controlsComponent.getVisibility()).thenReturn(ControlsComponent.Visibility.AVAILABLE) `when`(controlsUiController.resolveActivity()).thenReturn(ControlsActivity::class.java) `when`(controlsController.getPreferredSelection()) .thenReturn( SelectedItem.StructureItem( StructureInfo( ComponentName("pkg", "cls"), "structure", listOf(ControlInfo("id", "title", "subtitle", 1)), ) ) ) listingCallbackCaptor.value.onServicesUpdated(listOf(serviceInfo)) testableLooper.processAllMessages() `when`(controlsUiController.isShowing).thenReturn(true) tile.click(null) testableLooper.processAllMessages() verify(activityStarter, never()) .startActivity( any(), anyBoolean(), nullable(ActivityTransitionAnimator.Controller::class.java), anyBoolean(), ) verify(panelInteractor).collapsePanels() } @Test fun handleClick_available_shownOverLockscreenWhenLocked() { verify(controlsListingController) Loading Loading @@ -441,6 +479,7 @@ class DeviceControlsTileTest(flags: FlagsParameterization) : SysuiTestCase() { activityStarter, qsLogger, controlsComponent, panelInteractor, ) .also { it.initialize() Loading
packages/SystemUI/src/com/android/systemui/qs/tiles/DeviceControlsTile.kt +12 −6 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.qs.QSHost import com.android.systemui.qs.QsEventLogger import com.android.systemui.qs.logging.QSLogger import com.android.systemui.qs.pipeline.domain.interactor.PanelInteractor import com.android.systemui.qs.tileimpl.QSTileImpl import com.android.systemui.res.R import java.util.concurrent.atomic.AtomicBoolean Loading @@ -58,6 +59,7 @@ constructor( activityStarter: ActivityStarter, qsLogger: QSLogger, private val controlsComponent: ControlsComponent, private val panelInteractor: PanelInteractor, ) : QSTileImpl<QSTile.State>( host, Loading Loading @@ -125,6 +127,9 @@ constructor( mUiHandler.post { val showOverLockscreenWhenLocked = state.state == Tile.STATE_ACTIVE if (controlsComponent.getControlsUiController().get().isShowing) { panelInteractor.collapsePanels() } else { mActivityStarter.startActivity( intent, true /* dismissShade */, Loading @@ -133,6 +138,7 @@ constructor( ) } } } override fun handleUpdateState(state: QSTile.State, arg: Any?) { state.label = tileLabel Loading