[V2X]修正联调过程中遇到的问题

This commit is contained in:
renwj
2022-06-14 11:34:08 +08:00
parent 181886f2de
commit 5cd97343a9
2 changed files with 20 additions and 23 deletions

View File

@@ -12,17 +12,14 @@ import com.elegant.log.simplelog.Logger;
import com.elegant.network.utils.GsonUtil;
import com.google.protobuf.ByteString;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.Message;
import com.google.protobuf.MessageOrBuilder;
import com.google.protobuf.MessageLiteOrBuilder;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.cloud.socket.entity.MsgBody;
import com.mogo.cloud.socket.entity.SocketDownData;
import com.mogo.cloud.socket.internal.InternalSocketManager;
import com.mogo.cloud.socket.third.ThirdSocketManager;
import com.zhidao.ptech.connsvr.protocol.MogoConnsvr;
import com.zhidao.socket.ConnectionLifecycleListener;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.Iterator;
@@ -164,22 +161,22 @@ public class SocketManager implements IMogoCloudSocketManager {
Object obj = null;
while (iterator.hasNext()) {
IMogoCloudSocketOnMessageListener listener = iterator.next();
if (payload.getPayload() != null) {
ByteString p = payload.getPayload();
if (p != null) {
Class clz = listener.target(msgType);
if (MessageOrBuilder.class.isAssignableFrom(clz)) {
if (MessageLiteOrBuilder.class.isAssignableFrom(clz)) {
try {
Constructor c = clz.getDeclaredConstructor(Void.class);
Constructor c = clz.getDeclaredConstructor();
if (c != null) {
c.setAccessible(true);
MessageOrBuilder o = (MessageOrBuilder)c.newInstance();
o.getDefaultInstanceForType().getParserForType().parseFrom(payload.getPayload());
obj = o;
MessageLiteOrBuilder o = (MessageLiteOrBuilder)c.newInstance();
obj = o.getDefaultInstanceForType().getParserForType().parseFrom(p);
}
} catch (Throwable t) {
Log.e(TAG, Log.getStackTraceString(t));
}
} else {
obj = GsonUtil.objectFromJson(payload.getPayload().toStringUtf8(), listener.target(msgType));
obj = GsonUtil.objectFromJson(p.toStringUtf8(), listener.target(msgType));
}
}
if (listener != null && obj != null) {