recognizedResults = RealTimeProviderImp.getInstance().getLastADASRecognizedResult();//SPI接口返回
OnePerSecondSendContent content = new OnePerSecondSendContent();
@@ -169,13 +169,14 @@ public class SocketHandler {
WebSocketData webSocketData = new WebSocketData();
webSocketData.setMsgType(MSG_TYPE_UPLINK_CAR_DATA.getMsgType());
- webSocketData.setSeq(computeSendMsgTime());
+ webSocketData.setSeq(System.currentTimeMillis());
webSocketData.setSn(MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn());
webSocketData.setData(GsonUtil.jsonFromObject(content));
String msg = GsonUtil.jsonFromObject(webSocketData);
+ boolean isAccuracyDevice = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getIsAccuracyDevice();
int msgType = LOW_FREQUENCY_CHANNEL_ID;
- if (cloudLocationInfo.size() > 2) {
+ if (isAccuracyDevice && cloudLocationInfo.size() > 2) {
msgType = HIGH_FREQUENCY_CHANNEL_ID;
}
MsgBody msgBody = new MsgBody();
@@ -200,22 +201,4 @@ public class SocketHandler {
mInstance = null;
}
- /**
- * 服务端会在ack数据中增加服务端的时间戳{@link #serverTime}, 收到消息时,记录收到消息的时间{@link #receiveMsgTime},收消息的时间用{@link SystemClock#elapsedRealtime()}可以避免系统时间改变造成的影响
- * 在发送数据时,使用serverTime+(elapseRealtime()-receiveMsgTime)计算发送数据时的时间戳,这个时间戳是基本相对服务端的时间戳为基准的时间,忽略了ack下发时的时间延迟
- *
- * 如果{@link #serverTime}或{@link #receiveMsgTime}数据有异常,则使用{@link System#currentTimeMillis()}当做当前时间,作为容错
- *
- * @return 基本相对服务端的时间戳为基准的时间
- */
- private long computeSendMsgTime() {
- long sendMsgTime;
- if (serverTime > 0 && receiveMsgTime > 0) {
- sendMsgTime = serverTime + (SystemClock.elapsedRealtime() - receiveMsgTime);
- } else {
- sendMsgTime = System.currentTimeMillis();
- }
- return sendMsgTime;
- }
-
}
diff --git a/modules/mogo-realtime/src/main/java/com/mogo/realtime/spi/RealTimeProviderImp.java b/modules/mogo-realtime/src/main/java/com/mogo/realtime/spi/RealTimeProviderImp.java
index b00286b..5b5a104 100644
--- a/modules/mogo-realtime/src/main/java/com/mogo/realtime/spi/RealTimeProviderImp.java
+++ b/modules/mogo-realtime/src/main/java/com/mogo/realtime/spi/RealTimeProviderImp.java
@@ -47,4 +47,12 @@ public class RealTimeProviderImp implements IRealTimeProvider {
return null;
}
+ @Override
+ public int getLocationAccuracy() {
+ if (mDelegate != null) {
+ return mDelegate.getLocationAccuracy();
+ }
+ return 0;
+ }
+
}