This commit is contained in:
unknown
2020-10-28 10:51:11 +08:00
parent 4f22536909
commit fae1897a00
5 changed files with 31 additions and 14 deletions

View File

@@ -2,7 +2,7 @@ package com.mogo.base.websocket;
import java.io.Serializable;
public class WebSocketData<T> implements Serializable {
public class WebSocketData implements Serializable {
private long seq;
@@ -10,7 +10,7 @@ public class WebSocketData<T> implements Serializable {
private String sn;
private T t;
private String data;
public long getSeq() {
return seq;
@@ -36,11 +36,11 @@ public class WebSocketData<T> implements Serializable {
this.sn = sn;
}
public T getT() {
return t;
public String getData() {
return data;
}
public void setT(T t) {
this.t = t;
public void setData(String data) {
this.data = data;
}
}

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import androidx.annotation.Keep;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.mogo.commons.network.Utils;
import com.mogo.service.connection.IMogoMsgAckListener;
import com.mogo.service.connection.IMogoOnWebSocketMessageListener;
@@ -116,7 +117,8 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin
webSocketData.setSeq(System.currentTimeMillis());
webSocketData.setMsgType(listener.getUpLinkType().getMsgType());
webSocketData.setSn(Utils.getSn());
webSocketData.setT(body);
webSocketData.setData(new Gson().toJson(body));
Logger.d(TAG,"sendMsg : " + new Gson().toJson(webSocketData));
handlerThread.sendMsg(new Gson().toJson(webSocketData));
}
}
@@ -145,8 +147,9 @@ public class WebSocketManager implements IMogoWebSocketManager, ISocketMsgSettin
while (iterator.hasNext()) {
IMogoOnWebSocketMessageListener listener = iterator.next();
if (listener != null) {
Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getT().toString());
listener.onMsgReceived(webSocketData.getT());
Logger.d(TAG, "received msgId = " + webSocketData.getSeq() + ", content = " + webSocketData.getData());
Object receiveObj = GsonUtil.objectFromJson(webSocketData.getData(),listener.target());
listener.onMsgReceived(receiveObj);
}
}
}

View File

@@ -232,6 +232,11 @@ public class AdasNoticeHelper implements IMogoAdasWarnMessageCallback, IMogoLoca
return WebSocketMsgType.MSG_TYPE_DOWNLINK_CAR_DATA;
}
@Override
public Class<MogoSnapshotSetData> target() {
return MogoSnapshotSetData.class;
}
@Override
public void onMsgReceived(MogoSnapshotSetData obj) {
Logger.d(TAG, "收到大而全数据: " + obj);

View File

@@ -146,6 +146,11 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
return WebSocketMsgType.MSG_TYPE_DOWNLINK_CAR_DATA;
}
@Override
public Class<MogoSnapshotSetData> target() {
return MogoSnapshotSetData.class;
}
@Override
public void onMsgReceived( MogoSnapshotSetData data ) {
if ( data == null ) {

View File

@@ -3,21 +3,25 @@ package com.mogo.service.connection;
/**
* 消息回调
*/
public interface IMogoOnWebSocketMessageListener< T > {
public interface IMogoOnWebSocketMessageListener<T> {
default WebSocketMsgType getDownLinkType(){
default WebSocketMsgType getDownLinkType() {
return null;
}
default WebSocketMsgType getUpLinkType(){
default WebSocketMsgType getUpLinkType() {
return null;
}
default void onMsgReceived(T obj){
default Class<T> target() {
return null;
}
default void onMsgReceived(T obj) {
}
default void onError(String errorMsg){
default void onError(String errorMsg) {
}
}