mirror of
https://github.com/WuKongIM/WuKongIMAndroidSDK
synced 2025-06-06 09:08:33 +00:00
fix:Modifying cmd message without replying to ack issue
This commit is contained in:
parent
6081b1e720
commit
2498c0fca1
@ -230,11 +230,23 @@ public class MessageHandler {
|
|||||||
message = parsingMsg(message);
|
message = parsingMsg(message);
|
||||||
if (message.type != WKMsgContentType.WK_INSIDE_MSG) {
|
if (message.type != WKMsgContentType.WK_INSIDE_MSG) {
|
||||||
addReceivedMsg(message);
|
addReceivedMsg(message);
|
||||||
|
} else {
|
||||||
|
WKReceivedAckMsg receivedAckMsg = getReceivedAckMsg(message);
|
||||||
|
WKConnection.getInstance().sendMessage(receivedAckMsg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized void addReceivedMsg(WKMsg msg) {
|
private WKReceivedAckMsg getReceivedAckMsg(WKMsg message) {
|
||||||
|
WKReceivedAckMsg receivedAckMsg = new WKReceivedAckMsg();
|
||||||
|
receivedAckMsg.messageID = message.messageID;
|
||||||
|
receivedAckMsg.messageSeq = message.messageSeq;
|
||||||
|
receivedAckMsg.no_persist = message.header.noPersist;
|
||||||
|
receivedAckMsg.red_dot = message.header.redDot;
|
||||||
|
receivedAckMsg.sync_once = message.header.syncOnce;
|
||||||
|
return receivedAckMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
private synchronized void addReceivedMsg(WKMsg msg) {
|
||||||
if (receivedMsgList == null) receivedMsgList = new ArrayList<>();
|
if (receivedMsgList == null) receivedMsgList = new ArrayList<>();
|
||||||
WKSyncMsg syncMsg = new WKSyncMsg();
|
WKSyncMsg syncMsg = new WKSyncMsg();
|
||||||
syncMsg.no_persist = msg.header.noPersist ? 1 : 0;
|
syncMsg.no_persist = msg.header.noPersist ? 1 : 0;
|
||||||
@ -245,18 +257,11 @@ public class MessageHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public synchronized void saveReceiveMsg() {
|
public synchronized void saveReceiveMsg() {
|
||||||
|
|
||||||
if (WKCommonUtils.isNotEmpty(receivedMsgList)) {
|
if (WKCommonUtils.isNotEmpty(receivedMsgList)) {
|
||||||
saveSyncMsg(receivedMsgList);
|
saveSyncMsg(receivedMsgList);
|
||||||
|
|
||||||
List<WKReceivedAckMsg> list = new ArrayList<>();
|
List<WKReceivedAckMsg> list = new ArrayList<>();
|
||||||
for (int i = 0, size = receivedMsgList.size(); i < size; i++) {
|
for (int i = 0, size = receivedMsgList.size(); i < size; i++) {
|
||||||
WKReceivedAckMsg receivedAckMsg = new WKReceivedAckMsg();
|
WKReceivedAckMsg receivedAckMsg = getReceivedAckMsg(receivedMsgList.get(i).wkMsg);
|
||||||
receivedAckMsg.messageID = receivedMsgList.get(i).wkMsg.messageID;
|
|
||||||
receivedAckMsg.messageSeq = receivedMsgList.get(i).wkMsg.messageSeq;
|
|
||||||
receivedAckMsg.no_persist = receivedMsgList.get(i).no_persist == 1;
|
|
||||||
receivedAckMsg.red_dot = receivedMsgList.get(i).red_dot == 1;
|
|
||||||
receivedAckMsg.sync_once = receivedMsgList.get(i).sync_once == 1;
|
|
||||||
list.add(receivedAckMsg);
|
list.add(receivedAckMsg);
|
||||||
}
|
}
|
||||||
sendAck(list);
|
sendAck(list);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user