diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml
new file mode 100644
index 0000000..4a53bee
--- /dev/null
+++ b/.idea/AndroidProjectSystem.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wkim/src/main/java/com/xinbida/wukongim/db/ConversationDbManager.java b/wkim/src/main/java/com/xinbida/wukongim/db/ConversationDbManager.java
index 39495ea..ea5c6ed 100644
--- a/wkim/src/main/java/com/xinbida/wukongim/db/ConversationDbManager.java
+++ b/wkim/src/main/java/com/xinbida/wukongim/db/ConversationDbManager.java
@@ -343,7 +343,7 @@ public class ConversationDbManager {
}
wkConversationMsg.channelID = msg.channelID;
wkConversationMsg.channelType = msg.channelType;
- wkConversationMsg.localExtraMap = msg.localExtraMap;
+// wkConversationMsg.localExtraMap = msg.localExtraMap;
wkConversationMsg.lastMsgTimestamp = msg.timestamp;
wkConversationMsg.lastClientMsgNO = msg.clientMsgNO;
wkConversationMsg.lastMsgSeq = msg.messageSeq;
diff --git a/wkim/src/main/java/com/xinbida/wukongim/manager/CMDManager.java b/wkim/src/main/java/com/xinbida/wukongim/manager/CMDManager.java
index ace6609..e945c07 100644
--- a/wkim/src/main/java/com/xinbida/wukongim/manager/CMDManager.java
+++ b/wkim/src/main/java/com/xinbida/wukongim/manager/CMDManager.java
@@ -202,6 +202,7 @@ public class CMDManager extends BaseManager {
}
}
WKCMD wkcmd = new WKCMD(cmd, jsonObject);
+ WKLoggerUtils.getInstance().e("处理cmd:"+cmd);
pushCMDs(wkcmd);
}
diff --git a/wkim/src/main/java/com/xinbida/wukongim/manager/MsgManager.java b/wkim/src/main/java/com/xinbida/wukongim/manager/MsgManager.java
index 688249d..aad6aee 100644
--- a/wkim/src/main/java/com/xinbida/wukongim/manager/MsgManager.java
+++ b/wkim/src/main/java/com/xinbida/wukongim/manager/MsgManager.java
@@ -410,7 +410,7 @@ public class MsgManager extends BaseManager {
}
}
}
- WKIM.getInstance().getConversationManager().setOnRefreshMsg(uiMsgList,"deleteWithClientMsgNOList");
+ WKIM.getInstance().getConversationManager().setOnRefreshMsg(uiMsgList, "deleteWithClientMsgNOList");
}
public List getExpireMessages(int limit) {
@@ -755,10 +755,25 @@ public class MsgManager extends BaseManager {
}
- public boolean updateContentAndRefresh(String clientMsgNo, WKMessageContent messageContent, boolean isRefreshUI) {
- return MsgDbManager.getInstance().updateFieldWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.content, messageContent.encodeMsg().toString(), isRefreshUI);
+ public boolean updateContentAndRefresh(String clientMsgNo, String content, boolean isRefreshUI) {
+ return MsgDbManager.getInstance().updateFieldWithClientMsgNo(clientMsgNo, WKDBColumns.WKMessageColumns.content, content, isRefreshUI);
}
+
+ public boolean updateContentAndRefresh(String clientMsgNo, WKMessageContent model, boolean isRefreshUI) {
+ JSONObject jsonObject = model.encodeMsg();
+ try {
+ if (jsonObject == null) {
+ jsonObject = new JSONObject();
+ }
+ jsonObject.put("type", model.type);
+ } catch (JSONException e) {
+ throw new RuntimeException(e);
+ }
+ return updateContentAndRefresh(clientMsgNo, jsonObject.toString(), isRefreshUI);
+ }
+
+
public void updateViewedAt(int viewed, long viewedAt, String clientMsgNo) {
MsgDbManager.getInstance().updateViewedAt(viewed, viewedAt, clientMsgNo);
}
diff --git a/wkim/src/main/java/com/xinbida/wukongim/message/WKConnection.java b/wkim/src/main/java/com/xinbida/wukongim/message/WKConnection.java
index 23df1ae..ea6d3a6 100644
--- a/wkim/src/main/java/com/xinbida/wukongim/message/WKConnection.java
+++ b/wkim/src/main/java/com/xinbida/wukongim/message/WKConnection.java
@@ -168,13 +168,13 @@ public class WKConnection {
connectionClient = new ConnectionClient(iNonBlockingConnection -> {
connCount = 0;
if (iNonBlockingConnection == null || connection == null || !connection.getId().equals(iNonBlockingConnection.getId())) {
- WKLoggerUtils.getInstance().e(TAG,"重复连接");
+ WKLoggerUtils.getInstance().e(TAG, "重复连接");
forcedReconnection();
return;
}
Object att = iNonBlockingConnection.getAttachment();
if (att == null || !att.equals(socketSingleID)) {
- WKLoggerUtils.getInstance().e(TAG,"不属于当前连接");
+ WKLoggerUtils.getInstance().e(TAG, "不属于当前连接");
forcedReconnection();
return;
}
@@ -458,8 +458,13 @@ public class WKConnection {
}
}
if (hasAttached) {
- msg.content = msg.baseContentMsgModel.encodeMsg().toString();
- WKIM.getInstance().getMsgManager().updateContentAndRefresh(msg.clientMsgNO, msg.baseContentMsgModel, false);
+ JSONObject jsonObject = WKProto.getInstance().getSendPayload(msg);
+ if (jsonObject != null) {
+ msg.content = jsonObject.toString();
+ } else {
+ msg.content = msg.baseContentMsgModel.encodeMsg().toString();
+ }
+ WKIM.getInstance().getMsgManager().updateContentAndRefresh(msg.clientMsgNO, msg.content, false);
}
}
//获取发送者信息
@@ -476,7 +481,13 @@ public class WKConnection {
WKIM.getInstance().getMsgManager().setUploadAttachment(msg, (isSuccess, messageContent) -> {
if (isSuccess) {
msg.baseContentMsgModel = messageContent;
- WKIM.getInstance().getMsgManager().updateContentAndRefresh(msg.clientMsgNO, msg.baseContentMsgModel, false);
+ JSONObject jsonObject = WKProto.getInstance().getSendPayload(msg);
+ if (jsonObject != null) {
+ msg.content = jsonObject.toString();
+ } else {
+ msg.content = msg.baseContentMsgModel.encodeMsg().toString();
+ }
+ WKIM.getInstance().getMsgManager().updateContentAndRefresh(msg.clientMsgNO, msg.content, false);
if (!sendingMsgHashMap.containsKey((int) msg.clientSeq)) {
WKSendMsg base1 = WKProto.getInstance().getSendBaseMsg(msg);
addSendingMsg(base1);