persistEditingDraft method

Future<void> persistEditingDraft(
  1. RCKChatProvider chatProvider
)

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),
    ]);
  }
}