|
|
@@ -164,7 +164,7 @@ public class ImManager implements IMInterface { |
|
|
|
SendAckMessage sendAckMessage = GsonImplHelp.get().toObject(msg, SendAckMessage.class); |
|
|
|
|
|
|
|
Message m = new Message(); |
|
|
|
m.obj = sendAckMessage.getAckId(); |
|
|
|
m.obj = sendAckMessage; |
|
|
|
m.what = 10002; |
|
|
|
handler.sendMessage(m); |
|
|
|
|
|
|
@@ -319,9 +319,9 @@ public class ImManager implements IMInterface { |
|
|
|
@Override |
|
|
|
public void handleMessage(@NonNull Message msg) { |
|
|
|
super.handleMessage(msg); |
|
|
|
String msgId = (String) msg.obj; |
|
|
|
switch (msg.what) { |
|
|
|
case 10001: |
|
|
|
String msgId = (String) msg.obj; |
|
|
|
IMSDKCallback callback = msgListenerMap.get(msgId); |
|
|
|
if (null != callback) { |
|
|
|
callback.failed(207, "发送超时"); |
|
|
@@ -333,13 +333,18 @@ public class ImManager implements IMInterface { |
|
|
|
} |
|
|
|
break; |
|
|
|
case 10002: |
|
|
|
IMSDKCallback callback1 = msgListenerMap.get(msgId); |
|
|
|
SendAckMessage sendAckMessage = (SendAckMessage) msg.obj; |
|
|
|
String msgId1 = sendAckMessage.getAckId(); |
|
|
|
IMSDKCallback callback1 = msgListenerMap.get(msgId1); |
|
|
|
if (null != callback1) { |
|
|
|
for (MsgListener listener : msgListeners) { |
|
|
|
listener.statusChange(msgId, 0); |
|
|
|
if (sendAckMessage.getAckStatus() == 0) |
|
|
|
listener.statusChange(msgId1, 0); |
|
|
|
else listener.statusChange(msgId1, -1); |
|
|
|
} |
|
|
|
callback1.success(); |
|
|
|
msgListenerMap.remove(msgId); |
|
|
|
if (sendAckMessage.getAckStatus() == 0) callback1.success(); |
|
|
|
else callback1.failed(208, "服务端转发失败"); |
|
|
|
msgListenerMap.remove(msgId1); |
|
|
|
} |
|
|
|
break; |
|
|
|
} |
|
|
|