extends socket interface

This commit is contained in:
zhongchao
2021-02-22 16:19:44 +08:00
parent e30e9cab0e
commit 3748b01fd6
6 changed files with 15 additions and 14 deletions

View File

@@ -7,9 +7,10 @@ public interface IMogoCloudSocketOnMessageListener<T> {
/**
* 获取解析实例对象
* @param msgType 消息类型
* @return class
*/
Class<T> target();
Class<T> target(int msgType);
/**
* 消息接收回调

View File

@@ -83,7 +83,6 @@ public class SocketManager implements IMogoCloudSocketManager, Callback {
.setClient(Platform.getClient(Platform.car))
.setChannelId(SocketServicesConstants.SOCKET_CHANNEL_ID)
.setOpenAnalytics(true)
// TODO 这里先用设备ID,原因是因为后台分配的SN与蘑菇自研车机SN不符合导致在线及推送有问题
.setSn(cloudClientConfig.getThirdPartyDeviceId())
.setToken(cloudClientConfig.getToken())
.setAuthPubKey(cloudClientConfig.getAuthPubKey())
@@ -144,7 +143,7 @@ public class SocketManager implements IMogoCloudSocketManager, Callback {
while (iterator.hasNext()) {
IMogoCloudSocketOnMessageListener listener = iterator.next();
if (object == null) {
object = GsonUtil.objectFromJson(payload.getPayload().toStringUtf8(), listener.target());
object = GsonUtil.objectFromJson(payload.getPayload().toStringUtf8(), listener.target(msgType));
}
if (listener != null) {
Logger.d(TAG, "received msgId = %s, content = %s", msgId, payload.getPayload().toStringUtf8());