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

Commit 49391343 authored by Jiaming Cheng's avatar Jiaming Cheng Committed by Android (Google) Code Review
Browse files

Merge "[QSDetailedView] Move TileDetailsViewModel out from QSTileUserActionInteractor" into main

parents d65fdb1f 8c702d00
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingManagerFake
import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.qs.FakeTileDetailsViewModel
import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
import com.android.systemui.qs.tiles.base.interactor.FakeQSTileDataInteractor
@@ -97,6 +98,7 @@ class QSTileViewModelImplTest : SysuiTestCase() {
                testCoroutineDispatcher,
                testCoroutineDispatcher,
                testScope.backgroundScope,
                FakeTileDetailsViewModel("QSTileViewModelImplTest"),
            )
    }

+0 −27
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@ import com.android.systemui.kosmos.testScope
import com.android.systemui.qs.tiles.base.actions.FakeQSTileIntentUserInputHandler
import com.android.systemui.qs.tiles.base.actions.QSTileIntentUserInputHandlerSubject
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.impl.internet.domain.model.InternetTileModel
import com.android.systemui.statusbar.connectivity.AccessPointController
@@ -39,11 +37,8 @@ import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.ArgumentMatchers.anyBoolean
import org.mockito.ArgumentMatchers.eq
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
import org.mockito.kotlin.times
import org.mockito.kotlin.verify
import org.mockito.kotlin.whenever

@SmallTest
@EnabledOnRavenwood
@@ -56,31 +51,17 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {

    private lateinit var internetDialogManager: InternetDialogManager
    private lateinit var controller: AccessPointController
    private lateinit var internetDetailsViewModelFactory: InternetDetailsViewModel.Factory
    private lateinit var internetDetailsContentManagerFactory: InternetDetailsContentManager.Factory
    private lateinit var internetDetailsViewModel: InternetDetailsViewModel

    @Before
    fun setup() {
        internetDialogManager = mock<InternetDialogManager>()
        controller = mock<AccessPointController>()
        internetDetailsViewModelFactory = mock<InternetDetailsViewModel.Factory>()
        internetDetailsContentManagerFactory = mock<InternetDetailsContentManager.Factory>()
        internetDetailsViewModel =
            InternetDetailsViewModel(
                onLongClick = {},
                accessPointController = mock<AccessPointController>(),
                contentManagerFactory = internetDetailsContentManagerFactory,
            )
        whenever(internetDetailsViewModelFactory.create(any())).thenReturn(internetDetailsViewModel)

        underTest =
            InternetTileUserActionInteractor(
                kosmos.testScope.coroutineContext,
                internetDialogManager,
                controller,
                inputHandler,
                internetDetailsViewModelFactory,
            )
    }

@@ -127,12 +108,4 @@ class InternetTileUserActionInteractorTest : SysuiTestCase() {
                assertThat(it.intent.action).isEqualTo(Settings.ACTION_WIFI_SETTINGS)
            }
        }

    @Test
    fun detailsViewModel() =
        kosmos.testScope.runTest {
            assertThat(underTest.detailsViewModel.getTitle()).isEqualTo("Internet")
            assertThat(underTest.detailsViewModel.getSubTitle())
                .isEqualTo("Tab a network to connect")
        }
}
+2 −15
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import com.android.systemui.classifier.FalsingManagerFake
import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.coroutines.collectValues
import com.android.systemui.qs.FakeTileDetailsViewModel
import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
@@ -171,21 +172,6 @@ class QSTileViewModelTest : SysuiTestCase() {
                .isEqualTo(FakeQSTileDataInteractor.AvailabilityRequest(USER))
        }

    @Test
    fun tileDetails() =
        testScope.runTest {
            assertThat(tileUserActionInteractor.detailsViewModel).isNotNull()
            assertThat(tileUserActionInteractor.detailsViewModel?.getTitle())
                .isEqualTo("FakeQSTileUserActionInteractor")
            assertThat(underTest.detailsViewModel).isNotNull()
            assertThat(underTest.detailsViewModel?.getTitle())
                .isEqualTo("FakeQSTileUserActionInteractor")

            tileUserActionInteractor.detailsViewModel = null
            assertThat(tileUserActionInteractor.detailsViewModel).isNull()
            assertThat(underTest.detailsViewModel).isNull()
        }

    private fun createViewModel(
        scope: TestScope,
        config: QSTileConfig = tileConfig,
@@ -209,6 +195,7 @@ class QSTileViewModelTest : SysuiTestCase() {
            testCoroutineDispatcher,
            testCoroutineDispatcher,
            scope.backgroundScope,
            FakeTileDetailsViewModel("QSTileViewModelTest"),
        )

    private companion object {
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingManagerFake
import com.android.systemui.common.shared.model.ContentDescription
import com.android.systemui.common.shared.model.Icon
import com.android.systemui.qs.FakeTileDetailsViewModel
import com.android.systemui.qs.tiles.base.analytics.QSTileAnalytics
import com.android.systemui.qs.tiles.base.interactor.DataUpdateTrigger
import com.android.systemui.qs.tiles.base.interactor.FakeDisabledByPolicyInteractor
@@ -253,5 +254,6 @@ class QSTileViewModelUserInputTest : SysuiTestCase() {
            testCoroutineDispatcher,
            testCoroutineDispatcher,
            scope.backgroundScope,
            FakeTileDetailsViewModel("QSTileViewModelUserInputTest"),
        )
}
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ constructor(
    }

    override fun getDetailsViewModel(): TileDetailsViewModel {
        return internetDetailsViewModelFactory.create { longClick(null) }
        return internetDetailsViewModelFactory.create()
    }

    override fun handleUpdateState(state: QSTile.BooleanState, arg: Any?) {
Loading