Reduce FeatureFlags Knock effect on room creation and room edition form.
Closes #6701
This commit is contained in:
parent
4975f61eb8
commit
206c3b7dac
7 changed files with 10 additions and 59 deletions
|
|
@ -35,8 +35,6 @@ import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
|||
import io.element.android.libraries.designsystem.utils.snackbar.LocalSnackbarDispatcher
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
|
||||
import io.element.android.libraries.designsystem.utils.snackbar.collectSnackbarMessageAsState
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
|
||||
import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService
|
||||
|
|
@ -61,7 +59,6 @@ import kotlinx.coroutines.launch
|
|||
class RoomDetailsPresenter(
|
||||
private val client: MatrixClient,
|
||||
private val room: JoinedRoom,
|
||||
private val featureFlagService: FeatureFlagService,
|
||||
private val notificationSettingsService: NotificationSettingsService,
|
||||
private val roomMembersDetailsPresenterFactory: RoomMemberDetailsPresenter.Factory,
|
||||
private val leaveRoomPresenter: Presenter<LeaveRoomState>,
|
||||
|
|
@ -110,14 +107,11 @@ class RoomDetailsPresenter(
|
|||
}
|
||||
}
|
||||
|
||||
val isKnockRequestsEnabled by remember {
|
||||
featureFlagService.isFeatureEnabledFlow(FeatureFlags.Knock)
|
||||
}.collectAsState(false)
|
||||
val knockRequestsCount by produceState<Int?>(null) {
|
||||
room.knockRequestsFlow.collect { value = it.size }
|
||||
}
|
||||
val canShowKnockRequests by remember {
|
||||
derivedStateOf { isKnockRequestsEnabled && permissions.knockRequestsPermissions.hasAny && joinRule == JoinRule.Knock }
|
||||
derivedStateOf { permissions.knockRequestsPermissions.hasAny && joinRule == JoinRule.Knock }
|
||||
}
|
||||
val canShowSecurityAndPrivacy by remember {
|
||||
derivedStateOf { !isDm && permissions.securityAndPrivacyPermissions.hasAny(isSpace = false, joinRule = joinRule) }
|
||||
|
|
|
|||
|
|
@ -21,9 +21,6 @@ import io.element.android.libraries.androidutils.clipboard.ClipboardHelper
|
|||
import io.element.android.libraries.androidutils.clipboard.FakeClipboardHelper
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
||||
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
|
||||
import io.element.android.libraries.matrix.api.core.UserId
|
||||
import io.element.android.libraries.matrix.api.room.JoinedRoom
|
||||
import io.element.android.libraries.matrix.api.room.RoomMembersState
|
||||
|
|
@ -80,11 +77,6 @@ class RoomDetailsPresenterTest {
|
|||
dispatchers: CoroutineDispatchers = testCoroutineDispatchers(),
|
||||
notificationSettingsService: FakeNotificationSettingsService = FakeNotificationSettingsService(),
|
||||
analyticsService: AnalyticsService = FakeAnalyticsService(),
|
||||
featureFlagService: FeatureFlagService = FakeFeatureFlagService(
|
||||
mapOf(
|
||||
FeatureFlags.Knock.key to false,
|
||||
)
|
||||
),
|
||||
encryptionService: FakeEncryptionService = FakeEncryptionService(),
|
||||
clipboardHelper: ClipboardHelper = FakeClipboardHelper(),
|
||||
appPreferencesStore: AppPreferencesStore = InMemoryAppPreferencesStore()
|
||||
|
|
@ -106,7 +98,6 @@ class RoomDetailsPresenterTest {
|
|||
return RoomDetailsPresenter(
|
||||
client = matrixClient,
|
||||
room = room,
|
||||
featureFlagService = featureFlagService,
|
||||
notificationSettingsService = matrixClient.notificationSettingsService,
|
||||
roomMembersDetailsPresenterFactory = roomMemberDetailsPresenterFactory,
|
||||
leaveRoomPresenter = { leaveRoomState },
|
||||
|
|
@ -564,17 +555,11 @@ class RoomDetailsPresenterTest {
|
|||
roomPermissions = roomPermissions(),
|
||||
joinRule = JoinRule.Knock,
|
||||
)
|
||||
val featureFlagService = FakeFeatureFlagService(
|
||||
mapOf(FeatureFlags.Knock.key to false)
|
||||
)
|
||||
val presenter = createRoomDetailsPresenter(
|
||||
room = room,
|
||||
featureFlagService = featureFlagService,
|
||||
)
|
||||
presenter.testWithLifecycleOwner(lifecycleOwner = fakeLifecycleOwner) {
|
||||
skipItems(1)
|
||||
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
||||
featureFlagService.setFeatureEnabled(FeatureFlags.Knock, true)
|
||||
assertThat(awaitItem().canShowKnockRequests).isTrue()
|
||||
room.givenRoomInfo(aRoomInfo(joinRule = JoinRule.Invite))
|
||||
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
||||
|
|
@ -587,8 +572,7 @@ class RoomDetailsPresenterTest {
|
|||
val room = aJoinedRoom(
|
||||
roomPermissions = roomPermissions(),
|
||||
)
|
||||
val featureFlagService = FakeFeatureFlagService()
|
||||
val presenter = createRoomDetailsPresenter(room = room, featureFlagService = featureFlagService)
|
||||
val presenter = createRoomDetailsPresenter(room = room)
|
||||
presenter.testWithLifecycleOwner(lifecycleOwner = fakeLifecycleOwner) {
|
||||
skipItems(1)
|
||||
with(awaitItem()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue