fix(ui): Message retraction

This commit is contained in:
PapaTutuWawa 2023-02-19 20:20:06 +01:00
parent 76041671eb
commit 55113543dd
4 changed files with 12 additions and 21 deletions

View File

@ -42,7 +42,6 @@ class ConversationBloc extends Bloc<ConversationEvent, ConversationState> {
on<ImagePickerRequestedEvent>(_onImagePickerRequested);
on<FilePickerRequestedEvent>(_onFilePickerRequested);
on<OmemoSetEvent>(_onOmemoSet);
on<MessageRetractedEvent>(_onMessageRetracted);
on<SendButtonDragStartedEvent>(_onDragStarted);
on<SendButtonDragEndedEvent>(_onDragEnded);
on<SendButtonLockedEvent>(_onSendButtonLocked);
@ -213,16 +212,6 @@ class ConversationBloc extends Bloc<ConversationEvent, ConversationState> {
);
}
Future<void> _onMessageRetracted(MessageRetractedEvent event, Emitter<ConversationState> emit) async {
await MoxplatformPlugin.handler.getDataSender().sendData(
RetractMessageCommentCommand(
originId: event.id,
conversationJid: state.conversation!.jid,
),
awaitable: false,
);
}
Future<void> _onDragStarted(SendButtonDragStartedEvent event, Emitter<ConversationState> emit) async {
final status = await Permission.speech.status;
if (status.isDenied) {

View File

@ -71,12 +71,6 @@ class OmemoSetEvent extends ConversationEvent {
final bool enabled;
}
/// Triggered when a message should be retracted
class MessageRetractedEvent extends ConversationEvent {
MessageRetractedEvent(this.id);
final String id;
}
/// Triggered when the dragging began
class SendButtonDragStartedEvent extends ConversationEvent {}

View File

@ -286,6 +286,17 @@ class BidirectionalConversationController {
_messageStreamController.add(_messageCache);
}
}
/// Retract the message with originId [originId].
void retractMessage(String originId) {
MoxplatformPlugin.handler.getDataSender().sendData(
RetractMessageCommentCommand(
originId: originId,
conversationJid: conversationJid,
),
awaitable: false,
);
}
Future<void> sendMessage(bool encrypted) async {
// Stop the compose timer

View File

@ -111,10 +111,7 @@ class ConversationPageState extends State<ConversationPage> with TickerProviderS
);
if (result) {
// ignore: use_build_context_synchronously
context.read<ConversationBloc>().add(
MessageRetractedEvent(originId),
);
_conversationController.retractMessage(originId);
// ignore: use_build_context_synchronously
Navigator.of(context).pop();