persistEditingDraft method
Implementation
Future<void> persistEditingDraft(RCKChatProvider chatProvider) async {
final messageUId = _editingMessage?.messageUId;
if (messageUId == null || messageUId.isEmpty) return;
_editedDraftTimer?.cancel();
if (_controller.text.isEmpty) {
await Future.wait([
chatProvider.clearEditedMessageDraft(),
chatProvider.clearDraft(),
]);
} else {
await Future.wait([
chatProvider.saveEditedMessageDraft(
messageUId,
_controller.text,
message: _editingMessage,
mentionUserIds: _mentionUserIdsForContent(_controller.text),
mentions: _validMentionsForContent(_controller.text),
),
chatProvider.saveDraft(_controller.text),
]);
}
}