diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt index 03db82f252..e760379d7b 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt @@ -69,10 +69,6 @@ fun RoomListContextMenu( onFavoriteChange = { isFavorite -> eventSink(RoomListEvent.SetRoomIsFavorite(contextMenu.roomId, isFavorite)) }, - onClearCacheRoomClick = { - eventSink(RoomListEvent.HideContextMenu) - eventSink(RoomListEvent.ClearCacheOfRoom(contextMenu.roomId)) - }, onReportRoomClick = { eventSink(RoomListEvent.HideContextMenu) onReportRoomClick(contextMenu.roomId) @@ -90,7 +86,6 @@ private fun RoomListModalBottomSheetContent( onFavoriteChange: (isFavorite: Boolean) -> Unit, onRoomMarkReadClick: () -> Unit, onRoomMarkUnreadClick: () -> Unit, - onClearCacheRoomClick: () -> Unit, onReportRoomClick: () -> Unit, ) { Column( @@ -198,17 +193,6 @@ private fun RoomListModalBottomSheetContent( ), style = ListItemStyle.Destructive, ) - if (contextMenu.displayClearRoomCacheAction) { - ListItem( - headlineContent = { - Text(text = "Clear cache for this room") - }, - modifier = Modifier.clickable { onClearCacheRoomClick() }, - leadingContent = ListItemContent.Icon( - iconSource = IconSource.Vector(CompoundIcons.Delete()) - ), - ) - } } } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvent.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvent.kt index 3e82ff9809..49d033682f 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvent.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvent.kt @@ -30,5 +30,4 @@ sealed interface RoomListEvent { data class MarkAsRead(val roomId: RoomId) : ContextMenuEvent data class MarkAsUnread(val roomId: RoomId) : ContextMenuEvent data class SetRoomIsFavorite(val roomId: RoomId, val isFavorite: Boolean) : ContextMenuEvent - data class ClearCacheOfRoom(val roomId: RoomId) : ContextMenuEvent } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt index a741da14e9..128e663f61 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt @@ -28,7 +28,6 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.announcement.api.Announcement import io.element.android.features.announcement.api.AnnouncementService import io.element.android.features.home.impl.datasource.RoomListDataSource -import io.element.android.features.home.impl.filters.RoomListFilter.Rooms import io.element.android.features.home.impl.filters.RoomListFiltersState import io.element.android.features.home.impl.filters.into import io.element.android.features.home.impl.search.RoomListSearchEvent @@ -54,7 +53,6 @@ import io.element.android.libraries.matrix.api.roomlist.RoomList import io.element.android.libraries.matrix.api.roomlist.RoomListFilter import io.element.android.libraries.matrix.api.timeline.ReceiptType import io.element.android.libraries.matrix.ui.safety.rememberHideInvitesAvatar -import io.element.android.libraries.preferences.api.store.AppPreferencesStore import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import io.element.android.libraries.push.api.battery.BatteryOptimizationState import io.element.android.libraries.push.api.notifications.NotificationCleaner @@ -87,7 +85,6 @@ class RoomListPresenter( private val fullScreenIntentPermissionsPresenter: Presenter, private val batteryOptimizationPresenter: Presenter, private val notificationCleaner: NotificationCleaner, - private val appPreferencesStore: AppPreferencesStore, private val seenInvitesStore: SeenInvitesStore, private val announcementService: AnnouncementService, private val coldStartWatcher: AnalyticsColdStartWatcher, @@ -157,7 +154,6 @@ class RoomListPresenter( } is RoomListEvent.ShowDeclineInviteMenu -> declineInviteMenu.value = RoomListState.DeclineInviteMenu.Shown(event.roomSummary) RoomListEvent.HideDeclineInviteMenu -> declineInviteMenu.value = RoomListState.DeclineInviteMenu.Hidden - is RoomListEvent.ClearCacheOfRoom -> coroutineScope.clearCacheOfRoom(event.roomId) } } @@ -280,7 +276,6 @@ class RoomListPresenter( isDm = event.roomSummary.isDm, isFavorite = event.roomSummary.isFavorite, hasNewContent = event.roomSummary.hasNewContent, - displayClearRoomCacheAction = appPreferencesStore.isDeveloperModeEnabledFlow().first(), ) contextMenuState.value = initialState @@ -336,10 +331,4 @@ class RoomListPresenter( } } } - - private fun CoroutineScope.clearCacheOfRoom(roomId: RoomId) = launch { - client.getRoom(roomId)?.use { room -> - room.clearEventCacheStorage() - } - } } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt index c03bd56664..e184a5a57f 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt @@ -44,7 +44,6 @@ data class RoomListState( val isDm: Boolean, val isFavorite: Boolean, val hasNewContent: Boolean, - val displayClearRoomCacheAction: Boolean, ) : ContextMenu } diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt index a1624e4917..eca1b63d7d 100644 --- a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt +++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt @@ -31,5 +31,4 @@ internal fun aContextMenuShown( isDm = isDm, hasNewContent = hasNewContent, isFavorite = isFavorite, - displayClearRoomCacheAction = false, ) diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt index 2f3f1c87a5..642fd462d7 100644 --- a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt +++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt @@ -63,9 +63,7 @@ import io.element.android.libraries.matrix.test.roomlist.FakeDynamicRoomList import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService import io.element.android.libraries.matrix.test.sync.FakeSyncService import io.element.android.libraries.matrix.test.verification.FakeSessionVerificationService -import io.element.android.libraries.preferences.api.store.AppPreferencesStore import io.element.android.libraries.preferences.api.store.SessionPreferencesStore -import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.libraries.push.api.battery.aBatteryOptimizationState import io.element.android.libraries.push.api.notifications.NotificationCleaner @@ -230,7 +228,6 @@ class RoomListPresenterTest { isDm = false, isFavorite = false, hasNewContent = false, - displayClearRoomCacheAction = false, ) ) } @@ -247,35 +244,6 @@ class RoomListPresenterTest { isDm = false, isFavorite = true, hasNewContent = false, - displayClearRoomCacheAction = false, - ) - ) - } - } - } - - @Test - fun `present - show context menu with view source on`() = runTest { - val presenter = createRoomListPresenter( - appPreferencesStore = InMemoryAppPreferencesStore( - isDeveloperModeEnabled = true, - ) - ) - presenter.test { - val initialState = awaitItem() - val summary = createRoomListRoomSummary() - initialState.eventSink(RoomListEvent.ShowContextMenu(summary)) - awaitItem().also { state -> - assertThat(state.contextMenu) - .isEqualTo( - RoomListState.ContextMenu.Shown( - roomId = summary.roomId, - roomName = summary.name, - isDm = false, - isFavorite = false, - // true here. - hasNewContent = false, - displayClearRoomCacheAction = true, ) ) } @@ -303,7 +271,6 @@ class RoomListPresenterTest { isDm = false, isFavorite = false, hasNewContent = false, - displayClearRoomCacheAction = false, ) ) @@ -668,7 +635,6 @@ class RoomListPresenterTest { spaceFiltersPresenter: Presenter = Presenter { aDisabledSpaceFiltersState() }, acceptDeclineInvitePresenter: Presenter = Presenter { anAcceptDeclineInviteState() }, notificationCleaner: NotificationCleaner = FakeNotificationCleaner(), - appPreferencesStore: AppPreferencesStore = InMemoryAppPreferencesStore(), seenInvitesStore: SeenInvitesStore = InMemorySeenInvitesStore(), announcementService: AnnouncementService = FakeAnnouncementService(), featureFlagService: FeatureFlagService = FakeFeatureFlagService(), @@ -696,7 +662,6 @@ class RoomListPresenterTest { fullScreenIntentPermissionsPresenter = { aFullScreenIntentPermissionsState() }, batteryOptimizationPresenter = { aBatteryOptimizationState() }, notificationCleaner = notificationCleaner, - appPreferencesStore = appPreferencesStore, seenInvitesStore = seenInvitesStore, announcementService = announcementService, coldStartWatcher = FakeAnalyticsColdStartWatcher(), diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/BaseRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/BaseRoom.kt index f7f4924d5a..d49343f998 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/BaseRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/BaseRoom.kt @@ -157,11 +157,6 @@ interface BaseRoom : Closeable { */ suspend fun setUnreadFlag(isUnread: Boolean): Result - /** - * Clear the event cache storage for the current room. - */ - suspend fun clearEventCacheStorage(): Result - /** * Get the permalink for the room. */ diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustBaseRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustBaseRoom.kt index 0551891a6d..7c5cd10658 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustBaseRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustBaseRoom.kt @@ -200,12 +200,6 @@ class RustBaseRoom( } } - override suspend fun clearEventCacheStorage(): Result = withContext(roomDispatcher) { - runCatchingExceptions { - innerRoom.clearEventCacheStorage() - } - } - override suspend fun setIsFavorite(isFavorite: Boolean): Result = withContext(roomDispatcher) { runCatchingExceptions { innerRoom.setIsFavourite(isFavorite, null) diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt index 5ea2de888b..8f5d626b13 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt @@ -186,10 +186,6 @@ class FakeBaseRoom( membersStateFlow.value = state } - override suspend fun clearEventCacheStorage(): Result { - return Result.success(Unit) - } - override suspend fun reportRoom(reason: String?) = reportRoomResult(reason) override suspend fun declineCall(notificationEventId: EventId): Result {