From f3bacc3c856d6b4eec1dcfcbc30f1f43775364e3 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 3 Jul 2024 15:04:05 +0200 Subject: [PATCH] Draft : add some doc on ComposerDraftStores --- .../features/messages/impl/draft/MatrixComposerDraftStore.kt | 4 ++++ .../messages/impl/draft/VolatileComposerDraftStore.kt | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/MatrixComposerDraftStore.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/MatrixComposerDraftStore.kt index b148b466b5..b9679e566c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/MatrixComposerDraftStore.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/MatrixComposerDraftStore.kt @@ -22,6 +22,10 @@ import io.element.android.libraries.matrix.api.room.draft.ComposerDraft import timber.log.Timber import javax.inject.Inject +/** + * A draft store that persists drafts in the room state. + * It can be used to store drafts that should be persisted across app restarts. + */ class MatrixComposerDraftStore @Inject constructor( private val client: MatrixClient, ) : ComposerDraftStore { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/VolatileComposerDraftStore.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/VolatileComposerDraftStore.kt index 9a23d49078..ab955fee42 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/VolatileComposerDraftStore.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/draft/VolatileComposerDraftStore.kt @@ -20,6 +20,11 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.draft.ComposerDraft import javax.inject.Inject +/** + * A volatile draft store that keeps drafts in memory only. + * It can be used to store drafts that should not be persisted across app restarts. + * Currently it's used to store draft message when moving to edit mode. + */ class VolatileComposerDraftStore @Inject constructor() : ComposerDraftStore { private val drafts: MutableMap = mutableMapOf()