From 0d9cd2b3a3bbf4e2b49fc3ff01102a548bd16e81 Mon Sep 17 00:00:00 2001 From: Florian Renaud Date: Mon, 4 Jul 2022 17:47:48 +0200 Subject: [PATCH] Delete local room related entities with cascade --- .../sdk/internal/session/room/delete/DeleteLocalRoomTask.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/delete/DeleteLocalRoomTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/delete/DeleteLocalRoomTask.kt index a15cb4393c..936c94e520 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/delete/DeleteLocalRoomTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/delete/DeleteLocalRoomTask.kt @@ -25,6 +25,7 @@ import org.matrix.android.sdk.internal.database.model.RoomEntity import org.matrix.android.sdk.internal.database.model.RoomMemberSummaryEntity import org.matrix.android.sdk.internal.database.model.RoomSummaryEntity import org.matrix.android.sdk.internal.database.model.TimelineEventEntity +import org.matrix.android.sdk.internal.database.model.deleteOnCascade import org.matrix.android.sdk.internal.database.query.where import org.matrix.android.sdk.internal.database.query.whereRoomId import org.matrix.android.sdk.internal.di.SessionDatabase @@ -59,10 +60,10 @@ internal class DefaultDeleteLocalRoomTask @Inject constructor( ?.deleteAllFromRealm() TimelineEventEntity.whereRoomId(realm, roomId = roomId).findAll() ?.also { Timber.i("## DeleteLocalRoomTask - TimelineEventEntity - delete ${it.size} entries") } - ?.deleteAllFromRealm() + ?.forEach { it.deleteOnCascade(true) } ChunkEntity.where(realm, roomId = roomId).findAll() ?.also { Timber.i("## DeleteLocalRoomTask - ChunkEntity - delete ${it.size} entries") } - ?.deleteAllFromRealm() + ?.forEach { it.deleteOnCascade(deleteStateEvents = true, canDeleteRoot = true) } RoomSummaryEntity.where(realm, roomId = roomId).findAll() ?.also { Timber.i("## DeleteLocalRoomTask - RoomSummaryEntity - delete ${it.size} entries") } ?.deleteAllFromRealm()