diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java index 823d493..a20be10 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Imp/RealTimeProviderImp.java @@ -5,6 +5,7 @@ import android.content.Context; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.realtime.Interface.RealTimeProvider; import com.mogo.realtime.connect.IMogoOnMessageListener; +import com.mogo.realtime.connect.IMogoOnWebSocketMessageListener; import com.mogo.realtime.connect.MsgBody; import com.mogo.realtime.constant.SnapshotUploadInTime; import com.mogo.realtime.entity.ADASRecognizedResult; @@ -23,11 +24,17 @@ public class RealTimeProviderImp implements RealTimeProvider { @Override public List getLastADASRecognizedResult() { + if (mDelegate != null) { + return mDelegate.getLastADASRecognizedResult(); + } return null; } @Override public float getDistanceBetweenTwoPoints() { + if (mDelegate != null) { + return mDelegate.getDistanceBetweenTwoPoints(); + } return 0; } @@ -46,9 +53,10 @@ public class RealTimeProviderImp implements RealTimeProvider { } @Override - public void sendMsg(MsgBody body, IMogoOnMessageListener listener) { + public void sendMsg(Object body, IMogoOnWebSocketMessageListener listener) { if (mDelegate != null) { mDelegate.sendMsg(body, listener); } } + } diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeApisHandler.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeApisHandler.java index 46acb72..726744e 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeApisHandler.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeApisHandler.java @@ -18,9 +18,13 @@ public final class RealTimeApisHandler { return sInstance; } - public RealTimeServiceApis getApis(){ - if (sApis == null){ - synchronized (this){ + public void initRealTimeEnvironment() { + //socketeinit locationinit rtkinit + } + + public RealTimeServiceApis getApis() { + if (sApis == null) { + synchronized (this) { // sApis = new RealTimeServiceApis(); } } diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java index e94f957..b05bba9 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/Interface/RealTimeProvider.java @@ -3,6 +3,7 @@ package com.mogo.realtime.Interface; import android.content.Context; import com.mogo.realtime.connect.IMogoOnMessageListener; +import com.mogo.realtime.connect.IMogoOnWebSocketMessageListener; import com.mogo.realtime.connect.MsgBody; import com.mogo.realtime.entity.ADASRecognizedResult; @@ -14,7 +15,7 @@ import java.util.Map; * @description 描述 * @since: 2021/1/21 */ -public interface RealTimeProvider { +public interface RealTimeProvider { /** * 获取 adas 识别列表 * @@ -28,7 +29,7 @@ public interface RealTimeProvider { float getDistanceBetweenTwoPoints(); /** - * 初始化,各模块不用关心 + * 初始化 * * @param context 上下文 * @param appId 一般为包名,不参与通道的建立,一般用于发消息 @@ -49,5 +50,5 @@ public interface RealTimeProvider { * @param body 消息体 * @param listener 回执监听 */ - void sendMsg(MsgBody body, IMogoOnMessageListener listener ); + void sendMsg(T body, IMogoOnWebSocketMessageListener listener ); } diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/IMogoOnWebSocketMessageListener.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/IMogoOnWebSocketMessageListener.java new file mode 100644 index 0000000..4ef247e --- /dev/null +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/IMogoOnWebSocketMessageListener.java @@ -0,0 +1,27 @@ +package com.mogo.realtime.connect; + +/** + * 消息回调 + */ +public interface IMogoOnWebSocketMessageListener { + + default WebSocketMsgType getDownLinkType() { + return null; + } + + default WebSocketMsgType getUpLinkType() { + return null; + } + + default Class target() { + return null; + } + + default void onMsgReceived(T obj) { + + } + + default void onError(String errorMsg) { + + } +} diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/WebSocketMsgType.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/WebSocketMsgType.java new file mode 100644 index 0000000..ec1f9a1 --- /dev/null +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/connect/WebSocketMsgType.java @@ -0,0 +1,24 @@ +package com.mogo.realtime.connect; + +public enum WebSocketMsgType { + + MSG_TYPE_UPLINK_CAR_DATA(0,"自车与ADAS数据"), + MSG_TYPE_DOWNLINK_CAR_DATA(1,"服务端下发车辆信息"), + MSG_TYPE_ACK(3, "ACK"); + + private int msgType; + private String msg; + + WebSocketMsgType(int msgType, String msg) { + this.msgType = msgType; + this.msg = msg; + } + + public int getMsgType() { + return msgType; + } + + public void setMsgType(int msgType) { + this.msgType = msgType; + } +} diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/constant/SnapshotUploadInTime.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/constant/SnapshotUploadInTime.java index 9eeaa58..b4aa7d2 100644 --- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/constant/SnapshotUploadInTime.java +++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/constant/SnapshotUploadInTime.java @@ -5,6 +5,9 @@ import android.util.Log; import com.mogo.cloud.passport.MoGoAiCloudClient; import com.mogo.realtime.Interface.RealTimeApisHandler; +import com.mogo.realtime.connect.IMogoOnMessageListener; +import com.mogo.realtime.connect.IMogoOnWebSocketMessageListener; +import com.mogo.realtime.connect.WebSocketMsgType; import com.mogo.realtime.entity.ADASRecognizedResult; import com.mogo.realtime.entity.CloudLocationInfo; import com.mogo.realtime.location.LocationResult; @@ -105,11 +108,7 @@ public class SnapshotUploadInTime implements MogoRTKLocation.RTKLocationListener return; } - //备注 - /* - 等钟超SocketManagerSDK - * - MarkerServiceHandler.getApis().getWebSocketManagerApi( mContext ).sendMsg( content, new IMogoOnWebSocketMessageListener() { + RealTimeApisHandler.getInstance().getApis().getRecognizedResultManager().sendMsg(content, new IMogoOnWebSocketMessageListener() { @Override public WebSocketMsgType getDownLinkType() { return null; @@ -117,10 +116,9 @@ public class SnapshotUploadInTime implements MogoRTKLocation.RTKLocationListener @Override public WebSocketMsgType getUpLinkType() { - return WebSocketMsgType.MSG_TYPE_UPLINK_CAR_DATA; + return null; } - } ); + }); - */ } }