Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/widgets/CommunalAppWidgetHostStartableTest.kt +39 −6 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading Loading @@ -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() Loading @@ -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() Loading Loading @@ -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, Loading Loading @@ -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, Loading @@ -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. Loading @@ -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, Loading Loading @@ -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) } } } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/widgets/CommunalAppWidgetHostStartableTest.kt +39 −6 Original line number Original line Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) Loading Loading @@ -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() Loading @@ -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() Loading Loading @@ -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, Loading Loading @@ -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, Loading @@ -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. Loading @@ -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, Loading Loading @@ -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) } } } }