diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt index 8e5dd3727e..181b81419d 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt @@ -44,6 +44,8 @@ data class RoomListState( val displayMigrationStatus: Boolean, val eventSink: (RoomListEvents) -> Unit, ) { + val displayFilters = filtersState.isFeatureEnabled && !displayMigrationStatus + sealed interface ContextMenu { data object Hidden : ContextMenu data class Shown( diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt index 7fadd724e3..1c01eeeae2 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt @@ -50,6 +50,7 @@ open class RoomListStateProvider : PreviewParameterProvider { aRoomListState().copy(roomList = AsyncData.Loading(prevData = RoomListRoomSummaryFactory.createFakeList())), aRoomListState().copy(matrixUser = null, displayMigrationStatus = true), aRoomListState().copy(searchState = aRoomListSearchState(isSearchActive = true, query = "Test")), + aRoomListState().copy(filtersState = aRoomListFiltersState(isFeatureEnabled = true)), ) } @@ -64,7 +65,7 @@ internal fun aRoomListState() = RoomListState( invitesState = InvitesState.NoInvites, contextMenu = RoomListState.ContextMenu.Hidden, leaveRoomState = aLeaveRoomState(), - filtersState = aRoomListFiltersState(), + filtersState = aRoomListFiltersState(isFeatureEnabled = false), searchState = aRoomListSearchState(), displayMigrationStatus = false, eventSink = {} diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt index a431689f2b..c5655a2ae3 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt @@ -216,7 +216,9 @@ private fun RoomListContent( scrollBehavior = scrollBehavior, displayMenuItems = !state.displayMigrationStatus, ) - RoomListFiltersView(state = state.filtersState) + if (state.displayFilters) { + RoomListFiltersView(state = state.filtersState) + } } }, content = { padding -> diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt index 376b879d50..d3270291ea 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt @@ -29,9 +29,6 @@ class RoomListFiltersStateProvider : PreviewParameterProvider