fixbug of socket parse datw

This commit is contained in:
zhongchao
2021-05-26 23:27:04 +08:00
parent 296dd0bded
commit a041d867f5
2 changed files with 18 additions and 12 deletions

View File

@@ -6,6 +6,7 @@ import android.support.annotation.NonNull;
import com.google.protobuf.ByteString;
import com.google.protobuf.InvalidProtocolBufferException;
import com.mogo.cloud.GsonUtil;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.cloud.socket.entity.MsgBody;
@@ -130,15 +131,20 @@ public class SocketManager implements IMogoCloudSocketManager {
}
cacheLastReceivedMsgId(msgId);
}
SocketDownData.SocketDownDataProto proto3 = null;
Object obj = null;
while (iterator.hasNext()) {
IMogoCloudSocketOnMessageListener listener = iterator.next();
if (payload.getPayload() != null) {
proto3 = SocketDownData.SocketDownDataProto.parseFrom(payload.getPayload());
Class clz = listener.target(msgType);
if (clz.isInstance(SocketDownData.class)) {
obj = SocketDownData.SocketDownDataProto.parseFrom(payload.getPayload());
}else{
obj = GsonUtil.objectFromJson(payload.getPayload().toStringUtf8(), listener.target(msgType));
}
}
if (listener != null) {
Logger.d(TAG, "received msgId = %s, content = %s", msgId, payload.getPayload().toStringUtf8());
listener.onMsgReceived(msgType, proto3);
listener.onMsgReceived(msgType, obj);
}
}
}