fix(ui): Message retraction
This commit is contained in:
parent
76041671eb
commit
55113543dd
@ -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) {
|
||||
|
@ -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 {}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user