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

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

Merge "Fix test failures when flag is enabled" into main

parents b9fbfa2c 3dc40e7d
Loading
Loading
Loading
Loading
+39 −6
Original line number Original line Diff line number Diff line
@@ -20,10 +20,11 @@ import android.appwidget.AppWidgetProviderInfo
import android.content.pm.UserInfo
import android.content.pm.UserInfo
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.annotations.EnableFlags
import androidx.test.ext.junit.runners.AndroidJUnit4
import android.platform.test.flag.junit.FlagsParameterization
import androidx.test.filters.SmallTest
import androidx.test.filters.SmallTest
import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_COMMUNAL_HUB
import com.android.systemui.Flags.FLAG_RESTRICT_COMMUNAL_APP_WIDGET_HOST_LISTENING
import com.android.systemui.Flags.FLAG_RESTRICT_COMMUNAL_APP_WIDGET_HOST_LISTENING
import com.android.systemui.Flags.restrictCommunalAppWidgetHostListening
import com.android.systemui.SysuiTestCase
import com.android.systemui.SysuiTestCase
import com.android.systemui.communal.data.repository.fakeCommunalWidgetRepository
import com.android.systemui.communal.data.repository.fakeCommunalWidgetRepository
import com.android.systemui.communal.domain.interactor.CommunalInteractor
import com.android.systemui.communal.domain.interactor.CommunalInteractor
@@ -60,10 +61,12 @@ import org.mockito.Mockito.never
import org.mockito.Mockito.spy
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
import org.mockito.MockitoAnnotations
import org.mockito.MockitoAnnotations
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters


@SmallTest
@SmallTest
@RunWith(AndroidJUnit4::class)
@RunWith(ParameterizedAndroidJunit4::class)
class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
class CommunalAppWidgetHostStartableTest(flags: FlagsParameterization) : SysuiTestCase() {
    private val kosmos = testKosmos()
    private val kosmos = testKosmos()


    @Mock private lateinit var appWidgetHost: CommunalAppWidgetHost
    @Mock private lateinit var appWidgetHost: CommunalAppWidgetHost
@@ -77,6 +80,10 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
    private lateinit var communalInteractorSpy: CommunalInteractor
    private lateinit var communalInteractorSpy: CommunalInteractor
    private lateinit var underTest: CommunalAppWidgetHostStartable
    private lateinit var underTest: CommunalAppWidgetHostStartable


    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }

    @Before
    @Before
    fun setUp() {
    fun setUp() {
        MockitoAnnotations.initMocks(this)
        MockitoAnnotations.initMocks(this)
@@ -195,6 +202,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
        with(kosmos) {
        with(kosmos) {
            testScope.runTest {
            testScope.runTest {
                setCommunalAvailable(true)
                setCommunalAvailable(true)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Communal, "test")
                }
                communalInteractor.setEditModeOpen(false)
                communalInteractor.setEditModeOpen(false)
                verify(communalWidgetHost, never()).startObservingHost()
                verify(communalWidgetHost, never()).startObservingHost()
                verify(communalWidgetHost, never()).stopObservingHost()
                verify(communalWidgetHost, never()).stopObservingHost()
@@ -206,6 +216,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
                verify(communalWidgetHost, never()).stopObservingHost()
                verify(communalWidgetHost, never()).stopObservingHost()


                setCommunalAvailable(false)
                setCommunalAvailable(false)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Blank, "test")
                }
                runCurrent()
                runCurrent()


                verify(communalWidgetHost).stopObservingHost()
                verify(communalWidgetHost).stopObservingHost()
@@ -253,6 +266,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
            testScope.runTest {
            testScope.runTest {
                // Communal is available and work profile is configured.
                // Communal is available and work profile is configured.
                setCommunalAvailable(true)
                setCommunalAvailable(true)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Communal, "test")
                }
                kosmos.fakeUserTracker.set(
                kosmos.fakeUserTracker.set(
                    userInfos = listOf(MAIN_USER_INFO, USER_INFO_WORK),
                    userInfos = listOf(MAIN_USER_INFO, USER_INFO_WORK),
                    selectedUserIndex = 0,
                    selectedUserIndex = 0,
@@ -281,6 +297,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {


                // Unlock the device and remove work profile.
                // Unlock the device and remove work profile.
                fakeKeyguardRepository.setKeyguardShowing(false)
                fakeKeyguardRepository.setKeyguardShowing(false)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Blank, "test")
                }
                kosmos.fakeUserTracker.set(
                kosmos.fakeUserTracker.set(
                    userInfos = listOf(MAIN_USER_INFO),
                    userInfos = listOf(MAIN_USER_INFO),
                    selectedUserIndex = 0,
                    selectedUserIndex = 0,
@@ -289,6 +308,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {


                // Communal becomes available.
                // Communal becomes available.
                fakeKeyguardRepository.setKeyguardShowing(true)
                fakeKeyguardRepository.setKeyguardShowing(true)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Communal, "test")
                }
                runCurrent()
                runCurrent()


                // Both work widgets are removed.
                // Both work widgets are removed.
@@ -302,6 +324,9 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
            testScope.runTest {
            testScope.runTest {
                // Communal is available
                // Communal is available
                setCommunalAvailable(true)
                setCommunalAvailable(true)
                if (restrictCommunalAppWidgetHostListening()) {
                    communalSceneInteractor.changeScene(CommunalScenes.Communal, "test")
                }
                kosmos.fakeUserTracker.set(
                kosmos.fakeUserTracker.set(
                    userInfos = listOf(MAIN_USER_INFO),
                    userInfos = listOf(MAIN_USER_INFO),
                    selectedUserIndex = 0,
                    selectedUserIndex = 0,
@@ -361,8 +386,16 @@ class CommunalAppWidgetHostStartableTest : SysuiTestCase() {
            }
            }
        }
        }


    private companion object {
    companion object {
        val MAIN_USER_INFO = UserInfo(0, "primary", UserInfo.FLAG_MAIN)
        @JvmStatic
        val USER_INFO_WORK = UserInfo(10, "work", UserInfo.FLAG_PROFILE)
        @Parameters(name = "{0}")
        fun getParams(): List<FlagsParameterization> {
            return FlagsParameterization.allCombinationsOf(
                FLAG_RESTRICT_COMMUNAL_APP_WIDGET_HOST_LISTENING
            )
        }

        private val MAIN_USER_INFO = UserInfo(0, "primary", UserInfo.FLAG_MAIN)
        private val USER_INFO_WORK = UserInfo(10, "work", UserInfo.FLAG_PROFILE)
    }
    }
}
}