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

Commit 877b97c3 authored by Fabián Kozynski's avatar Fabián Kozynski
Browse files

Make internet tile single target

Test: atest com.android.systemui.qs
Test: manual
Flag: com.android.systemui.qs_ui_refactor_compose_fragment
Fixes: 394551094

Change-Id: I1eecc496a0af02a4cce3ce72b0062f7dcdedd04a
parent e80f1b9a
Loading
Loading
Loading
Loading
+0 −26
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ import com.android.systemui.qs.flags.QSComposeFragment
import com.android.systemui.qs.logging.QSLogger
import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
import com.android.systemui.qs.tiles.dialog.InternetDialogManager
import com.android.systemui.qs.tiles.dialog.WifiStateWorker
import com.android.systemui.res.R
import com.android.systemui.statusbar.connectivity.AccessPointController
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
@@ -61,9 +60,6 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.eq
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters
@@ -99,7 +95,6 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() {
    @Mock private lateinit var activityStarter: ActivityStarter
    @Mock private lateinit var logger: QSLogger
    @Mock private lateinit var dialogManager: InternetDialogManager
    @Mock private lateinit var wifiStateWorker: WifiStateWorker
    @Mock private lateinit var accessPointController: AccessPointController
    @Mock private lateinit var internetDetailsViewModelFactory: InternetDetailsViewModel.Factory

@@ -136,7 +131,6 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() {
                logger,
                viewModel,
                dialogManager,
                wifiStateWorker,
                accessPointController,
                internetDetailsViewModelFactory,
            )
@@ -245,26 +239,6 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() {
            assertThat(underTest.state.secondaryLabel).isEqualTo(WIFI_SSID)
        }

    @Test
    fun secondaryClick_turnsWifiOff() {
        whenever(wifiStateWorker.isWifiEnabled).thenReturn(true)

        underTest.secondaryClick(null)
        looper.processAllMessages()

        verify(wifiStateWorker, times(1)).isWifiEnabled = eq(false)
    }

    @Test
    fun secondaryClick_turnsWifiOn() {
        whenever(wifiStateWorker.isWifiEnabled).thenReturn(false)

        underTest.secondaryClick(null)
        looper.processAllMessages()

        verify(wifiStateWorker, times(1)).isWifiEnabled = eq(true)
    }

    companion object {
        const val WIFI_SSID = "test ssid"
        val ACTIVE_WIFI =
+1 −5
Original line number Diff line number Diff line
@@ -191,11 +191,7 @@ class InternetTileMapperTest : SysuiTestCase() {
            label,
            activationState,
            secondaryLabel,
            setOf(
                QSTileState.UserAction.CLICK,
                QSTileState.UserAction.TOGGLE_CLICK,
                QSTileState.UserAction.LONG_CLICK,
            ),
            setOf(QSTileState.UserAction.CLICK, QSTileState.UserAction.LONG_CLICK),
            contentDescription,
            null,
            QSTileState.SideViewIcon.Chevron,
+0 −24
Original line number Diff line number Diff line
@@ -29,7 +29,6 @@ import com.android.systemui.qs.tiles.base.interactor.QSTileInputTestKtx
import com.android.systemui.qs.tiles.dialog.InternetDetailsContentManager
import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
import com.android.systemui.qs.tiles.dialog.InternetDialogManager
import com.android.systemui.qs.tiles.dialog.WifiStateWorker
import com.android.systemui.qs.tiles.impl.internet.domain.model.InternetTileModel
import com.android.systemui.statusbar.connectivity.AccessPointController
import com.android.systemui.util.mockito.nullable
@@ -56,7 +55,6 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {
    private lateinit var underTest: InternetTileUserActionInteractor

    private lateinit var internetDialogManager: InternetDialogManager
    private lateinit var wifiStateWorker: WifiStateWorker
    private lateinit var controller: AccessPointController
    private lateinit var internetDetailsViewModelFactory: InternetDetailsViewModel.Factory
    private lateinit var internetDetailsContentManagerFactory: InternetDetailsContentManager.Factory
@@ -65,7 +63,6 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {
    @Before
    fun setup() {
        internetDialogManager = mock<InternetDialogManager>()
        wifiStateWorker = mock<WifiStateWorker>()
        controller = mock<AccessPointController>()
        internetDetailsViewModelFactory = mock<InternetDetailsViewModel.Factory>()
        internetDetailsContentManagerFactory = mock<InternetDetailsContentManager.Factory>()
@@ -81,7 +78,6 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {
            InternetTileUserActionInteractor(
                kosmos.testScope.coroutineContext,
                internetDialogManager,
                wifiStateWorker,
                controller,
                inputHandler,
                internetDetailsViewModelFactory,
@@ -132,26 +128,6 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {
            }
        }

    @Test
    fun handleSecondaryClickWhenWifiOn() =
        kosmos.testScope.runTest {
            whenever(wifiStateWorker.isWifiEnabled).thenReturn(true)

            underTest.handleInput(QSTileInputTestKtx.toggleClick(InternetTileModel.Active()))

            verify(wifiStateWorker, times(1)).isWifiEnabled = eq(false)
        }

    @Test
    fun handleSecondaryClickWhenWifiOff() =
        kosmos.testScope.runTest {
            whenever(wifiStateWorker.isWifiEnabled).thenReturn(false)

            underTest.handleInput(QSTileInputTestKtx.toggleClick(InternetTileModel.Inactive()))

            verify(wifiStateWorker, times(1)).isWifiEnabled = eq(true)
        }

    @Test
    fun detailsViewModel() =
        kosmos.testScope.runTest {
+1 −12
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@ import com.android.systemui.qs.logging.QSLogger
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
import com.android.systemui.qs.tiles.dialog.InternetDialogManager
import com.android.systemui.qs.tiles.dialog.WifiStateWorker
import com.android.systemui.res.R
import com.android.systemui.statusbar.connectivity.AccessPointController
import com.android.systemui.statusbar.pipeline.shared.ui.binder.InternetTileBinder
@@ -58,7 +57,6 @@ constructor(
    qsLogger: QSLogger,
    viewModel: InternetTileViewModel,
    private val internetDialogManager: InternetDialogManager,
    private val wifiStateWorker: WifiStateWorker,
    private val accessPointController: AccessPointController,
    private val internetDetailsViewModelFactory: InternetDetailsViewModel.Factory,
) :
@@ -86,10 +84,7 @@ constructor(
        mContext.getString(R.string.quick_settings_internet_label)

    override fun newTileState(): QSTile.BooleanState {
        return QSTile.BooleanState().also {
            it.forceExpandIcon = true
            it.handlesSecondaryClick = true
        }
        return QSTile.BooleanState().also { it.forceExpandIcon = true }
    }

    override fun handleClick(expandable: Expandable?) {
@@ -107,12 +102,6 @@ constructor(
        return internetDetailsViewModelFactory.create { longClick(null) }
    }

    override fun handleSecondaryClick(expandable: Expandable?) {
        // TODO(b/358352265): Figure out the correct action for the secondary click
        // Toggle wifi
        wifiStateWorker.isWifiEnabled = !wifiStateWorker.isWifiEnabled
    }

    override fun handleUpdateState(state: QSTile.BooleanState, arg: Any?) {
        state.label = mContext.resources.getString(R.string.quick_settings_internet_label)
        state.expandedAccessibilityClassName = Button::class.java.name
+1 −5
Original line number Diff line number Diff line
@@ -92,10 +92,6 @@ constructor(
                else QSTileState.ActivationState.INACTIVE

            supportedActions =
                setOf(
                    QSTileState.UserAction.CLICK,
                    QSTileState.UserAction.TOGGLE_CLICK,
                    QSTileState.UserAction.LONG_CLICK,
                )
                setOf(QSTileState.UserAction.CLICK, QSTileState.UserAction.LONG_CLICK)
        }
}
Loading