Volatile draft to restore the composer after an edit. (#2996)

This commit is contained in:
Mauro
2024-07-02 16:48:50 +02:00
committed by GitHub
parent 457bd3160a
commit 94f98345b0
7 changed files with 280 additions and 23 deletions
@@ -21,6 +21,7 @@ import MatrixRustSDK
final class ComposerDraftService: ComposerDraftServiceProtocol {
private let roomProxy: RoomProxyProtocol
private let timelineItemfactory: RoomTimelineItemFactoryProtocol
private var volatileDraft: ComposerDraftProxy?
init(roomProxy: RoomProxyProtocol, timelineItemfactory: RoomTimelineItemFactoryProtocol) {
self.roomProxy = roomProxy
@@ -71,4 +72,16 @@ final class ComposerDraftService: ComposerDraftServiceProtocol {
return .failure(.failedToClearDraft)
}
}
func saveVolatileDraft(_ draft: ComposerDraftProxy) {
volatileDraft = draft
}
func loadVolatileDraft() -> ComposerDraftProxy? {
volatileDraft
}
func clearVolatileDraft() {
volatileDraft = nil
}
}