diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4505582d8..4899c5ee4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -144,6 +144,11 @@ android:name="ch.protonmail.android.onboarding.base.presentation.StartOnboardingObserverInitializer" android:value="androidx.startup" tools:node="remove" /> + + - refreshCachedShowRatingsFeatureFlag(userId) - Timber.d("Rating feature flag refreshed for user $userId") + fun refresh() { + scope.launch { + val accounts = accountManager.getAccounts().firstOrNull() ?: return@launch + Timber.d("Refreshing feature flags for ${accounts.count()} accounts") + accounts.map { it.userId }.forEach { userId -> + refreshCachedShowRatingsFeatureFlag(userId) + Timber.d("Rating feature flag refreshed for user $userId") + } } } diff --git a/app/src/test/java/ch/protonmail/android/feature/rating/MailboxScreenViewInMemoryRepositoryTest.kt b/app/src/test/java/ch/protonmail/android/feature/rating/MailboxScreenViewInMemoryRepositoryTest.kt index 5f910245a..9e260fb43 100644 --- a/app/src/test/java/ch/protonmail/android/feature/rating/MailboxScreenViewInMemoryRepositoryTest.kt +++ b/app/src/test/java/ch/protonmail/android/feature/rating/MailboxScreenViewInMemoryRepositoryTest.kt @@ -28,7 +28,7 @@ class MailboxScreenViewInMemoryRepositoryTest { private val showReviewAppRepository = MailboxScreenViewInMemoryRepository() @Test - fun increaseMailboxScreenViewsCounterWhenRecordMailboxScreenViewIsCalled() = runTest { + fun `increase mailbox screen views counter when record mailbox screen view is called`() = runTest { // given check(showReviewAppRepository.screenViewCount == 0) diff --git a/app/src/test/java/ch/protonmail/android/featureflags/RefreshFeatureFlagsTest.kt b/app/src/test/java/ch/protonmail/android/featureflags/RefreshFeatureFlagsTest.kt index 5acc26158..745901951 100644 --- a/app/src/test/java/ch/protonmail/android/featureflags/RefreshFeatureFlagsTest.kt +++ b/app/src/test/java/ch/protonmail/android/featureflags/RefreshFeatureFlagsTest.kt @@ -50,7 +50,7 @@ class RefreshFeatureFlagsTest { ) @Test - fun doesNothingWhenThereAreNoAccounts() = runTest { + fun `does nothing when there are no accounts`() = runTest { // given coEvery { accountManager.getAccounts() } returns flowOf() @@ -62,7 +62,7 @@ class RefreshFeatureFlagsTest { } @Test - fun refreshShowRatingFeatureFlagForEachExistingUser() = runTest { + fun `refresh show rating feature flag for each existing user`() = runTest { // given showRatingsFlagForUserMocked(UserTestData.userId, false) showRatingsFlagForUserMocked(UserTestData.secondaryUserId, true)