Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalPrefsRepositoryImplTest.kt +0 −18 Original line number Diff line number Diff line Loading @@ -87,24 +87,6 @@ class CommunalPrefsRepositoryImplTest : SysuiTestCase() { assertThat(isCtaDismissed).isFalse() } @Test fun isDisclaimerDismissed_byDefault_isFalse() = testScope.runTest { val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed(MAIN_USER)) assertThat(isDisclaimerDismissed).isFalse() } @Test fun isDisclaimerDismissed_onSet_isTrue() = testScope.runTest { val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed(MAIN_USER)) underTest.setDisclaimerDismissed(MAIN_USER) assertThat(isDisclaimerDismissed).isTrue() } @Test fun getSharedPreferences_whenFileRestored() = testScope.runTest { Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt +20 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.advanceTimeBy import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Before Loading Loading @@ -1059,6 +1060,25 @@ class CommunalInteractorTest : SysuiTestCase() { ) } @Test fun dismissDisclaimerSetsDismissedFlag() = testScope.runTest { val disclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(disclaimerDismissed).isFalse() underTest.setDisclaimerDismissed() assertThat(disclaimerDismissed).isTrue() } @Test fun dismissDisclaimerTimeoutResetsDismissedFlag() = testScope.runTest { val disclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) underTest.setDisclaimerDismissed() assertThat(disclaimerDismissed).isTrue() advanceTimeBy(CommunalInteractor.DISCLAIMER_RESET_MILLIS) assertThat(disclaimerDismissed).isFalse() } private fun setKeyguardFeaturesDisabled(user: UserInfo, disabledFlags: Int) { whenever(kosmos.devicePolicyManager.getKeyguardDisabledFeatures(nullable(), eq(user.id))) .thenReturn(disabledFlags) Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/domain/interactor/CommunalPrefsInteractorTest.kt +0 −34 Original line number Diff line number Diff line Loading @@ -74,40 +74,6 @@ class CommunalPrefsInteractorTest : SysuiTestCase() { assertThat(isCtaDismissed).isFalse() } @Test fun setDisclaimerDismissed_currentUser() = testScope.runTest { setSelectedUser(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isFalse() underTest.setDisclaimerDismissed(MAIN_USER) assertThat(isDisclaimerDismissed).isTrue() } @Test fun setDisclaimerDismissed_anotherUser() = testScope.runTest { setSelectedUser(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isFalse() underTest.setDisclaimerDismissed(SECONDARY_USER) assertThat(isDisclaimerDismissed).isFalse() } @Test fun isDisclaimerDismissed_userSwitch() = testScope.runTest { setSelectedUser(MAIN_USER) underTest.setDisclaimerDismissed(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isTrue() setSelectedUser(SECONDARY_USER) assertThat(isDisclaimerDismissed).isFalse() } private suspend fun setSelectedUser(user: UserInfo) { with(kosmos.fakeUserRepository) { setUserInfos(listOf(user)) Loading packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalEditModeViewModelTest.kt +16 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import com.android.systemui.user.data.repository.fakeUserRepository import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.advanceTimeBy import kotlinx.coroutines.test.runTest import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue Loading Loading @@ -351,6 +352,21 @@ class CommunalEditModeViewModelTest : SysuiTestCase() { assertThat(showDisclaimer).isFalse() } @Test fun showDisclaimer_trueWhenTimeout() = testScope.runTest { underTest.setEditModeState(EditModeState.SHOWING) kosmos.fakeUserRepository.setSelectedUserInfo(MAIN_USER_INFO) val showDisclaimer by collectLastValue(underTest.showDisclaimer) assertThat(showDisclaimer).isTrue() underTest.onDisclaimerDismissed() assertThat(showDisclaimer).isFalse() advanceTimeBy(CommunalInteractor.DISCLAIMER_RESET_MILLIS) assertThat(showDisclaimer).isTrue() } @Test fun scrollPosition_persistedOnEditCleanup() { val index = 2 Loading packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalPrefsRepository.kt +0 −16 Original line number Diff line number Diff line Loading @@ -49,14 +49,8 @@ interface CommunalPrefsRepository { /** Whether the CTA tile has been dismissed. */ fun isCtaDismissed(user: UserInfo): Flow<Boolean> /** Whether the lock screen widget disclaimer has been dismissed by the user. */ fun isDisclaimerDismissed(user: UserInfo): Flow<Boolean> /** Save the CTA tile dismissed state for the current user. */ suspend fun setCtaDismissed(user: UserInfo) /** Save the lock screen widget disclaimer dismissed state for the current user. */ suspend fun setDisclaimerDismissed(user: UserInfo) } @OptIn(ExperimentalCoroutinesApi::class) Loading @@ -74,9 +68,6 @@ constructor( override fun isCtaDismissed(user: UserInfo): Flow<Boolean> = readKeyForUser(user, CTA_DISMISSED_STATE) override fun isDisclaimerDismissed(user: UserInfo): Flow<Boolean> = readKeyForUser(user, DISCLAIMER_DISMISSED_STATE) /** * Emits an event each time a Backup & Restore restoration job is completed, and once at the * start of collection. Loading @@ -97,12 +88,6 @@ constructor( logger.i("Dismissed CTA tile") } override suspend fun setDisclaimerDismissed(user: UserInfo) = withContext(bgDispatcher) { getSharedPrefsForUser(user).edit().putBoolean(DISCLAIMER_DISMISSED_STATE, true).apply() logger.i("Dismissed widget disclaimer") } private fun getSharedPrefsForUser(user: UserInfo): SharedPreferences { return userFileManager.getSharedPreferences( FILE_NAME, Loading @@ -124,6 +109,5 @@ constructor( const val TAG = "CommunalPrefsRepository" const val FILE_NAME = "communal_hub_prefs" const val CTA_DISMISSED_STATE = "cta_dismissed" const val DISCLAIMER_DISMISSED_STATE = "disclaimer_dismissed" } } Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/data/repository/CommunalPrefsRepositoryImplTest.kt +0 −18 Original line number Diff line number Diff line Loading @@ -87,24 +87,6 @@ class CommunalPrefsRepositoryImplTest : SysuiTestCase() { assertThat(isCtaDismissed).isFalse() } @Test fun isDisclaimerDismissed_byDefault_isFalse() = testScope.runTest { val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed(MAIN_USER)) assertThat(isDisclaimerDismissed).isFalse() } @Test fun isDisclaimerDismissed_onSet_isTrue() = testScope.runTest { val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed(MAIN_USER)) underTest.setDisclaimerDismissed(MAIN_USER) assertThat(isDisclaimerDismissed).isTrue() } @Test fun getSharedPreferences_whenFileRestored() = testScope.runTest { Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/domain/interactor/CommunalInteractorTest.kt +20 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.test.advanceTimeBy import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Before Loading Loading @@ -1059,6 +1060,25 @@ class CommunalInteractorTest : SysuiTestCase() { ) } @Test fun dismissDisclaimerSetsDismissedFlag() = testScope.runTest { val disclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(disclaimerDismissed).isFalse() underTest.setDisclaimerDismissed() assertThat(disclaimerDismissed).isTrue() } @Test fun dismissDisclaimerTimeoutResetsDismissedFlag() = testScope.runTest { val disclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) underTest.setDisclaimerDismissed() assertThat(disclaimerDismissed).isTrue() advanceTimeBy(CommunalInteractor.DISCLAIMER_RESET_MILLIS) assertThat(disclaimerDismissed).isFalse() } private fun setKeyguardFeaturesDisabled(user: UserInfo, disabledFlags: Int) { whenever(kosmos.devicePolicyManager.getKeyguardDisabledFeatures(nullable(), eq(user.id))) .thenReturn(disabledFlags) Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/domain/interactor/CommunalPrefsInteractorTest.kt +0 −34 Original line number Diff line number Diff line Loading @@ -74,40 +74,6 @@ class CommunalPrefsInteractorTest : SysuiTestCase() { assertThat(isCtaDismissed).isFalse() } @Test fun setDisclaimerDismissed_currentUser() = testScope.runTest { setSelectedUser(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isFalse() underTest.setDisclaimerDismissed(MAIN_USER) assertThat(isDisclaimerDismissed).isTrue() } @Test fun setDisclaimerDismissed_anotherUser() = testScope.runTest { setSelectedUser(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isFalse() underTest.setDisclaimerDismissed(SECONDARY_USER) assertThat(isDisclaimerDismissed).isFalse() } @Test fun isDisclaimerDismissed_userSwitch() = testScope.runTest { setSelectedUser(MAIN_USER) underTest.setDisclaimerDismissed(MAIN_USER) val isDisclaimerDismissed by collectLastValue(underTest.isDisclaimerDismissed) assertThat(isDisclaimerDismissed).isTrue() setSelectedUser(SECONDARY_USER) assertThat(isDisclaimerDismissed).isFalse() } private suspend fun setSelectedUser(user: UserInfo) { with(kosmos.fakeUserRepository) { setUserInfos(listOf(user)) Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/communal/view/viewmodel/CommunalEditModeViewModelTest.kt +16 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import com.android.systemui.user.data.repository.fakeUserRepository import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.whenever import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.test.advanceTimeBy import kotlinx.coroutines.test.runTest import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue Loading Loading @@ -351,6 +352,21 @@ class CommunalEditModeViewModelTest : SysuiTestCase() { assertThat(showDisclaimer).isFalse() } @Test fun showDisclaimer_trueWhenTimeout() = testScope.runTest { underTest.setEditModeState(EditModeState.SHOWING) kosmos.fakeUserRepository.setSelectedUserInfo(MAIN_USER_INFO) val showDisclaimer by collectLastValue(underTest.showDisclaimer) assertThat(showDisclaimer).isTrue() underTest.onDisclaimerDismissed() assertThat(showDisclaimer).isFalse() advanceTimeBy(CommunalInteractor.DISCLAIMER_RESET_MILLIS) assertThat(showDisclaimer).isTrue() } @Test fun scrollPosition_persistedOnEditCleanup() { val index = 2 Loading
packages/SystemUI/src/com/android/systemui/communal/data/repository/CommunalPrefsRepository.kt +0 −16 Original line number Diff line number Diff line Loading @@ -49,14 +49,8 @@ interface CommunalPrefsRepository { /** Whether the CTA tile has been dismissed. */ fun isCtaDismissed(user: UserInfo): Flow<Boolean> /** Whether the lock screen widget disclaimer has been dismissed by the user. */ fun isDisclaimerDismissed(user: UserInfo): Flow<Boolean> /** Save the CTA tile dismissed state for the current user. */ suspend fun setCtaDismissed(user: UserInfo) /** Save the lock screen widget disclaimer dismissed state for the current user. */ suspend fun setDisclaimerDismissed(user: UserInfo) } @OptIn(ExperimentalCoroutinesApi::class) Loading @@ -74,9 +68,6 @@ constructor( override fun isCtaDismissed(user: UserInfo): Flow<Boolean> = readKeyForUser(user, CTA_DISMISSED_STATE) override fun isDisclaimerDismissed(user: UserInfo): Flow<Boolean> = readKeyForUser(user, DISCLAIMER_DISMISSED_STATE) /** * Emits an event each time a Backup & Restore restoration job is completed, and once at the * start of collection. Loading @@ -97,12 +88,6 @@ constructor( logger.i("Dismissed CTA tile") } override suspend fun setDisclaimerDismissed(user: UserInfo) = withContext(bgDispatcher) { getSharedPrefsForUser(user).edit().putBoolean(DISCLAIMER_DISMISSED_STATE, true).apply() logger.i("Dismissed widget disclaimer") } private fun getSharedPrefsForUser(user: UserInfo): SharedPreferences { return userFileManager.getSharedPreferences( FILE_NAME, Loading @@ -124,6 +109,5 @@ constructor( const val TAG = "CommunalPrefsRepository" const val FILE_NAME = "communal_hub_prefs" const val CTA_DISMISSED_STATE = "cta_dismissed" const val DISCLAIMER_DISMISSED_STATE = "disclaimer_dismissed" } }