acceptMessage method
bool
acceptMessage(
- MessageStanza messageStanza
)
Implementation
@override
bool acceptMessage(MessageStanza messageStanza) {
XmppElement? stateElement = messageStanza.children.firstWhereOrNull(
(element) =>
element.getAttribute("xmlns")?.value ==
ChatStateElement.NAME_SPACE);
if (stateElement != null) {
Jid from = messageStanza.fromJid!;
int userId;
String? dialogId;
if (isGroupChatJid(from)) {
userId = getUserIdFromGroupChatJid(from);
dialogId = getDialogIdFromGroupChatJid(from);
} else {
userId = getUserIdFromJid(from);
}
var state = stateFromString(stateElement.name!);
if (ChatState.COMPOSING == state) {
_isTypingStreamController.add(TypingStatus(userId, dialogId));
return true;
} else if (ChatState.PAUSED == state) {
_stopTypingStreamController.add(TypingStatus(userId, dialogId));
return true;
}
}
return false;
}