v2XMessageEntity =
- TestOnLineCarUtils.getV2XOptimalRoute();
-
- Intent intent = new Intent(V2XConst.BROADCAST_SCENE_HANDLER_ACTION);
- intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity);
- LocalBroadcastManager.getInstance(getContext()).sendBroadcast(intent);
- });
-
- /*
- *双闪车辆,自动绕行
- * */
- btnTriggerDoubleFlash.setOnClickListener(v -> {
-
- });
- }
-
- /**
- * 存储本地数据
- *
- * @param v2XRoadEventEntity 要存储的场景
- */
- public void saveLocalStory(int scenarioType, MarkerExploreWay v2XRoadEventEntity) {
- try {
- V2XSQLiteUtils.saveLocalStory(scenarioType, v2XRoadEventEntity, v2XRoadEventEntity.hashCode());
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java
index 78d610c64e..3cccf1d883 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java
@@ -8,30 +8,22 @@ import com.mogo.cloud.commons.utils.CoordinateUtils;
import com.mogo.map.MogoLatLng;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.MogoMarkerOptions;
-import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.map.overlay.IMogoPolyline;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.drawer.MarkerDrawer;
import com.mogo.module.common.drawer.V2XWarnDataDrawer;
import com.mogo.module.common.drawer.marker.EmptyMarkerView;
-import com.mogo.module.common.drawer.marker.IMarkerView;
-import com.mogo.module.common.drawer.marker.MapMarkerAdapter;
import com.mogo.module.common.drawer.marker.SimpleWindow3DAdapter;
-import com.mogo.module.common.entity.MarkerLocation;
-import com.mogo.module.common.entity.MarkerShowEntity;
import com.mogo.module.common.entity.V2XWarningEntity;
import com.mogo.module.common.utils.Trigonometric;
import com.mogo.module.service.MarkerServiceHandler;
import com.mogo.module.service.receiver.MogoReceiver;
-import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XConst;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.model.DrawLineInfo;
import com.mogo.module.v2x.listener.V2XLocationListener;
-import com.mogo.module.v2x.marker.OptimalSpeedMarkerView;
import com.mogo.module.v2x.marker.V2XFrontTargetMarkerView;
import com.mogo.module.v2x.scenario.view.IV2XMarker;
-import com.mogo.module.v2x.utils.LocationUtils;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.ViewUtils;
import com.mogo.utils.WorkThreadHandler;
@@ -44,7 +36,6 @@ import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_STOP_
import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_WARN_DATA;
import static com.mogo.module.common.entity.V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_CRASH_WARNING_TOP;
import static com.mogo.module.v2x.V2XConst.V2X_FRONT_WARNING_MARKER;
-import static com.mogo.module.v2x.V2XConst.V2X_OPTIMAL_SPEED_MARKER;
import static com.mogo.module.v2x.V2XServiceManager.getContext;
/**
@@ -93,7 +84,7 @@ public class V2XWarningMarker implements IV2XMarker {
isSelfLineClear = false;
isFirstLocation = false;
V2XServiceManager.getMarkerManager().removeMarkers(WARNING_ARROWS);
- if (mCloundWarningInfo.getDirection() == ALERT_THE_FRONT_CRASH_WARNING_TOP) { //前方 TODO
+ if (fillPoints.size() > 0) { //存在停止线的情况 TODO
middleLocationInStopLine = getMiddleLocationInStopLine();
//如果是正前方类型,红色绘制区域从停止线向前绘制50米
MogoLatLng warningLocation = Trigonometric.getNewLocation(middleLocationInStopLine, 50, mCloundWarningInfo.getAngle());
@@ -117,14 +108,13 @@ public class V2XWarningMarker implements IV2XMarker {
isSelfLineClear = true;
}, showTime);
- } else { //左侧或者右侧
+ } else { //无停止线
WorkThreadHandler.getInstance().postDelayed(() -> {
//绘制识别物与交汇点连线,并且更新连线数据
drawOtherObjectLine(mCloundWarningInfo);
//二轮车和行人的渲染和移动
V2XServiceManager.getMarkerManager().removeMarkers(TYPE_MARKER_CLOUD_WARN_DATA);
V2XWarnDataDrawer.getInstance().renderWarnData(mCloundWarningInfo);
-
//车辆静止的时候
drawSelfCarLine(carLocation.lon, carLocation.lat, bearing);
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningWindow.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningWindow.java
index d43db290f1..4f446bfe92 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningWindow.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningWindow.java
@@ -69,13 +69,14 @@ public class V2XWarningWindow extends V2XBasWindow implements IV2XWindow {
public void show(Object entity) {
if (entity != null) {
mV2XWarningEntity = (V2XWarningEntity) entity;
- //行人0/自行车1/摩托车2/小汽车3/公交车4
+ //1行人/2自行车/4摩托车
switch (mV2XWarningEntity.getType()) {
- case 0:
+ case 1:
+ case 11:
typeImage.setImageResource(R.drawable.v2x_road_front_p_warning);
break;
- case 1:
case 2:
+ case 4:
typeImage.setImageResource(R.drawable.v2x_road_front_m_warning);
break;
default:
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java
index 1278314df9..79bb3efbf1 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/ChartingUtil.java
@@ -1,5 +1,6 @@
package com.mogo.module.v2x.utils;
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.Utils;
import com.mogo.module.common.entity.MarkerLocation;
import com.mogo.module.common.entity.MarkerUserInfo;
@@ -65,7 +66,7 @@ public class ChartingUtil {
*/
public static void isOnLine(String sn, ChartStatusListener chartStatusListener) {
try {
- String isMe = Utils.getSn();
+ String isMe = MoGoAiCloudClientConfig.getInstance().getSn();
if (isMe.equals(sn)) {
Logger.d("", "是我的分享");
if (chartStatusListener != null) {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java
index c3b54799ea..286f0f32f3 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/EventTypeUtils.java
@@ -26,7 +26,7 @@ public class EventTypeUtils {
// 先获取网络配置的poi对应的名称
PoiWrapper wrapper = CloudPoiManager.getInstance().getWrapperByPoiType(poiType);
if (wrapper != null) {
- Logger.d("EventTypeUtils", "从配置表中拿到了相关数据: " + wrapper.getTitle());
+ //Logger.d("EventTypeUtils", "从配置表中拿到了相关数据: " + wrapper.getTitle());
return wrapper.getTitle();
}
// 如果获取不到,那么就用本地默认的
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TestOnLineCarUtils.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TestOnLineCarUtils.java
index 381d9d460f..19a0e03e70 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TestOnLineCarUtils.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/utils/TestOnLineCarUtils.java
@@ -189,7 +189,7 @@ public class TestOnLineCarUtils {
// 加载数据源
V2XWarningEntity warningEntity = GsonUtil.objectFromJson(baos.toString(), V2XWarningEntity.class);
V2XMessageEntity messageEntity = new V2XMessageEntity();
- messageEntity.setType(warningEntity.getDirection());
+ messageEntity.setType(V2XMessageEntity.V2XTypeEnum.ALERT_THE_FRONT_WEAKNESS);
messageEntity.setContent(warningEntity);
return messageEntity;
} catch (Exception e) {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XEventPanelHistoryCountView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XEventPanelHistoryCountView.java
index 0eefde7372..15769e1c9e 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XEventPanelHistoryCountView.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XEventPanelHistoryCountView.java
@@ -12,6 +12,7 @@ import android.widget.TextView;
import androidx.annotation.Nullable;
+import com.mogo.commons.debug.DebugConfig;
import com.mogo.module.v2x.R;
/**
@@ -39,6 +40,12 @@ public class V2XEventPanelHistoryCountView extends LinearLayout {
mLlEventMore = (RelativeLayout) findViewById(R.id.llEventMore);
mBtnShowOrHidePanels = (ImageView) findViewById(R.id.btnShowOrHidePanels);
mTvEventCount = (TextView) findViewById(R.id.tvEventCount);
+
+ if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_LENOVO) {
+ mLlEventMore.setVisibility(VISIBLE);
+ } else {
+ mLlEventMore.setVisibility(GONE);
+ }
}
public void changeMsgCount(int count) {
diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XLiveGSYVideoView.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XLiveGSYVideoView.java
index 9df92acde9..c06a8c09c5 100644
--- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XLiveGSYVideoView.java
+++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/view/V2XLiveGSYVideoView.java
@@ -95,6 +95,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
txLivePlayConfig.setConnectRetryCount(30);
mLivePlayer.setConfig(txLivePlayConfig);
+
mLivePlayer.enableHardwareDecode(true);
mLoading = findViewById(R.id.loading);
@@ -144,10 +145,10 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
mLivePlayer.setPlayListener(new ITXLivePlayListener() {
@Override
public void onPlayEvent(int event, Bundle bundle) {
- Logger.w(MODULE_NAME,
- "直播信息= " + GsonUtil.jsonFromObject(carLiveInfo) +
- "\n播放器:onPlayEvent==" + event +
- "\nbundle===" + bundle);
+// Logger.i(MODULE_NAME,
+// "直播信息= " + GsonUtil.jsonFromObject(carLiveInfo) +
+// "\n播放器:onPlayEvent==" + event +
+// "\nbundle===" + bundle);
if (event == TXLiveConstants.PLAY_EVT_PLAY_LOADING) {
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);
@@ -170,7 +171,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
@Override
public void onNetStatus(Bundle bundle) {
- Logger.w(MODULE_NAME, "播放器:onNetStatus===bundle===" + bundle);
+// Logger.i(MODULE_NAME, "播放器:onNetStatus===bundle===" + bundle);
}
});
}
@@ -184,7 +185,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
public void stopLive(MarkerCarInfo.CarLiveInfo carLiveInfo) {
try {
- Logger.w(MODULE_NAME, "心跳:关闭直播...");
+ //Logger.i(MODULE_NAME, "心跳:关闭直播...");
// 暂停
mLivePlayer.pause();
// true 代表清除最后一帧画面
diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json
index e40d1ca509..2ed07eb3a8 100644
--- a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json
+++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_left.json
@@ -1,23 +1,16 @@
{
- "type": 1,
+ "type": 2,
"lat": 26.879024,
"lon": 112.568783,
"distance": 2,
"collisionLat": 26.8791769,
"collisionLon": 112.56896496,
"stopLines": [
- {
- "lat": 26.88008312,
- "lon": 112.57147295
- },
- {
- "lat": 26.88008302,
- "lon": 112.57147295
- }
+
],
"from": 1,
"angle": 220,
- "direction": 10014,
+ "direction": 3,
"speed": 11.108121,
"targetColor": "#FF4040",
"stopLineDistance": 60,
diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json
index d5f3806969..381e3eadc8 100644
--- a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json
+++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_pedestrians.json
@@ -1,5 +1,5 @@
{
- "type": 0,
+ "type": 1,
"lat": 26.87912015,
"lon": 112.56885373,
"distance": 2,
@@ -18,7 +18,7 @@
],
"from": 1,
"angle": 240,
- "direction": 10013,
+ "direction": 1,
"speed": 11.108121,
"targetColor": "#FF4040",
"stopLineDistance": 60,
diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_right.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_right.json
index e48d85967e..c0a20d333c 100644
--- a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_right.json
+++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data_right.json
@@ -1,23 +1,15 @@
{
- "type": 2,
+ "type": 4,
"lat": 26.879339,
"lon": 112.568933,
"distance": 2,
"collisionLat": 26.8791769,
"collisionLon": 112.56896496,
"stopLines": [
- {
- "lat": 26.88241239,
- "lon": 112.5631241
- },
- {
- "lat": 26.88241239,
- "lon": 112.5631241
- }
],
"from": 1,
"angle": 260,
- "direction": 10015,
+ "direction": 4,
"speed": 11.108121,
"targetColor": "#FF4040",
"stopLineDistance": 60,
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
index 3bb2845be5..70ddff1453 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
@@ -311,6 +311,11 @@ public class MogoServicePaths {
*/
public static final String PATH_SMALL_MAP = "/small_map/api";
+ /**
+ * ADAS 模块
+ */
+ public static final String PATH_ADAS = "/adas/api";
+
/*
*前方碰撞预警 未碰撞
* */
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
index aca9f7d124..1439a9389b 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoADASController.java
@@ -2,7 +2,7 @@ package com.mogo.service.adas;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.uicontroller.EnumMapUI;
-import com.mogo.realtime.entity.ADASRecognizedResult;
+import com.mogo.service.adas.entity.ADASRecognizedResult;
import java.util.List;
@@ -40,14 +40,14 @@ public interface IMogoADASController extends IProvider {
*
* @param show
*/
- void setSettingStatus( boolean show );
+ void setSettingStatus(boolean show);
/**
* 控制算法
*
* @param open
*/
- void setUseAlgorithm( boolean open );
+ void setUseAlgorithm(boolean open);
void release();
@@ -56,14 +56,14 @@ public interface IMogoADASController extends IProvider {
*
* 导航车头仅支持 NorthUP_2D 和 车头朝上2D
*/
- void changeAdasControlMode( EnumMapUI ui );
+ void changeAdasControlMode(EnumMapUI ui);
/**
* 反向设置 adas 对可见性的控制
*
* @param visible
*/
- void changeAdasControlVisibleMode( boolean visible );
+ void changeAdasControlVisibleMode(boolean visible);
/**
* 获取当前皮肤状态
@@ -77,7 +77,7 @@ public interface IMogoADASController extends IProvider {
*
* @param result
*/
- void aiCloudToAdasData( RemoteControlAutoPilotParameters result );
+ void aiCloudToAdasData(RemoteControlAutoPilotParameters result);
/**
@@ -85,70 +85,70 @@ public interface IMogoADASController extends IProvider {
*
* @param callback 回调接口
*/
- void addAdasDataCallback( IMogoAdasDataCallback callback );
+ void addAdasDataCallback(IMogoAdasDataCallback callback);
/**
* 移除adas数据回调接口
*
* @param callback 待移除的callback
*/
- void removeAdasDataCallback( IMogoAdasDataCallback callback );
+ void removeAdasDataCallback(IMogoAdasDataCallback callback);
/**
* 添加adas报警数据回调接口
*
* @param callback 回调接口
*/
- void addAdasWarnMessageCallback( IMogoAdasWarnMessageCallback callback );
+ void addAdasWarnMessageCallback(IMogoAdasWarnMessageCallback callback);
/**
* 移除adas报警数据回调接口
*
* @param callback 待移除的callback
*/
- void removeAdasWarnMessageCallback( IMogoAdasWarnMessageCallback callback );
+ void removeAdasWarnMessageCallback(IMogoAdasWarnMessageCallback callback);
/**
* 获取 adas 识别列表
*
* @return
*/
- List< ADASRecognizedResult > getLastADASRecognizedResult();
+ List getLastADASRecognizedResult();
/**
* 添加adas识别物体回调
*
* @param callback
*/
- void addAdasRecognizedDataCallback( IMogoAdasRecognizedDataCallback callback );
+ void addAdasRecognizedDataCallback(IMogoAdasRecognizedDataCallback callback);
/**
* 移除adas识别物体回调
*
* @param callback
*/
- void removeAdasRecognizedDataCallback( IMogoAdasRecognizedDataCallback callback );
+ void removeAdasRecognizedDataCallback(IMogoAdasRecognizedDataCallback callback);
/**
* 自车定位数据
*
* @param carDataCallback
*/
- void setAdasCarDataCallback( IMogoAdasCarDataCallback carDataCallback );
+ void setAdasCarDataCallback(IMogoAdasCarDataCallback carDataCallback);
/**
* 自动驾驶状态通知
*
* @param callback
*/
- void addAdasOCHCallback( IMogoAdasOCHCallback callback );
+ void addAdasOCHCallback(IMogoAdasOCHCallback callback);
/**
* 移除自动驾驶通知
*/
void removeAdasOCHCallback();
- void onAutopilotArriveLike( int type );
+ void onAutopilotArriveLike(int type);
/**
* 获取车辆自动驾驶状态
@@ -157,7 +157,7 @@ public interface IMogoADASController extends IProvider {
*/
int getAutopilotStatus();
- void mockOchStatus( int state, String reason );
+ void mockOchStatus(int state, String reason);
/**
* 获取车身的定位纬度
@@ -180,14 +180,21 @@ public interface IMogoADASController extends IProvider {
*/
double getLastSpeed();
+ /**
+ * 获取由工控机传回的GPS星历时间
+ *
+ * @return
+ */
+ String getSatelliteTime();
+
/**
* 结束自动驾驶
*/
void cancelAutopilot();
- void mockAdasLoc( String json );
+ void mockAdasLoc(String json);
- void mockAdasRecognized( List< ADASRecognizedResult > recognizedResults );
+ void mockAdasRecognized(List recognizedResults);
- void mockAdasRecognized( String json );
+ void mockAdasRecognized(String json);
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRecognizedDataCallback.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRecognizedDataCallback.java
index 37ebe3c140..b4154fd354 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRecognizedDataCallback.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRecognizedDataCallback.java
@@ -1,7 +1,7 @@
package com.mogo.service.adas;
-import com.mogo.realtime.entity.ADASRecognizedResult;
+import com.mogo.service.adas.entity.ADASRecognizedResult;
import java.util.List;
@@ -16,5 +16,5 @@ public interface IMogoAdasRecognizedDataCallback {
*
* @param resultList 具体识别的物体数据
*/
- void onAdasDataCallback( List resultList );
+ void onAdasDataCallback(List resultList);
}
\ No newline at end of file
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASRecognizedResult.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASRecognizedResult.java
new file mode 100644
index 0000000000..eceb47b2dc
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASRecognizedResult.java
@@ -0,0 +1,115 @@
+package com.mogo.service.adas.entity;
+
+/*
+ * adas 识别物体参数
+ */
+public class ADASRecognizedResult {
+
+ /**
+ * 识别物体类型
+ */
+ public int type;
+
+ /**
+ * 识别物体唯一标识
+ */
+ public String uuid;
+
+ /**
+ * 红绿灯颜色
+ */
+ public String color;
+
+ /**
+ * 车ID
+ */
+ public String carId;
+
+ /**
+ * 识别物体的纬度
+ */
+ public double lat;
+
+ /**
+ * 识别物体的经度
+ */
+ public double lon;
+
+ /**
+ * 车头朝向
+ */
+ public double heading;
+
+ /**
+ * 系统时间
+ */
+ public long systemTime;
+
+ /**
+ * 定位卫星时间
+ */
+ public long satelliteTime;
+
+ /**
+ * 海拔
+ */
+ public double alt;
+
+ /**
+ * 速度
+ */
+ public double speed;
+
+ /**
+ * 莫顿码
+ */
+ public long mortonCode;
+
+ /**
+ * 实际距离
+ * 使用distanceX和distanceY计算
+ */
+ public double distance;
+
+ /**
+ * 数据来源精度
+ * 0:普通定位
+ * 1:高精定位
+ */
+ public int dataAccuracy;
+
+ /**
+ * 道路ID
+ */
+ public String roadId;
+
+ /**
+ * 车道ID-2D路段
+ */
+ public String laneId;
+
+ /**
+ * 车道号:中心线编号为0,中心线右侧编号为负数,3车道通行Road的车道编号,0,-1,-2,-3
+ */
+ public int laneNum;
+
+ /**
+ * 限速
+ */
+ public double rateLimiting;
+
+ /**
+ * 瓦片id
+ */
+ public String tileId;
+
+ /**
+ * 车道宽度
+ */
+ public double roadWidth;
+
+ /**
+ * 1 绿, 2 黄, 3 红
+ */
+ public int drawlevel;
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/connection/IMogoSocketManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/connection/IMogoSocketManager.java
index def9af01f0..a07f749aff 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/connection/IMogoSocketManager.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/connection/IMogoSocketManager.java
@@ -3,6 +3,7 @@ package com.mogo.service.connection;
import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
+import com.mogo.cloud.socket.entity.MsgBody;
/**
* @author congtaowang
@@ -50,5 +51,5 @@ public interface IMogoSocketManager extends IProvider {
* @param body 消息体
* @param listener 回执监听
*/
- void sendMsg( MsgBody body, IMogoMsgAckListener listener );
+ void sendMsg(MsgBody body, IMogoMsgAckListener listener );
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/connection/MsgBody.java b/services/mogo-service-api/src/main/java/com/mogo/service/connection/MsgBody.java
deleted file mode 100644
index dd9a466280..0000000000
--- a/services/mogo-service-api/src/main/java/com/mogo/service/connection/MsgBody.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.mogo.service.connection;
-
-/**
- * @author congtaowang
- * @since 2019-12-31
- *
- * 描述
- */
-public class MsgBody {
-
- /**
- * 消息类型
- */
- private int mMsgType;
-
-// /**
-// * 服务端分发,业务线
-// */
-// private int mProductLine = MogoCommon.Product.mogoBussiness_VALUE;
-//
-// /**
-// *
-// */
-// private int mHeaderType = MogoConnsvr.MsgType.mogoMsgTypeDispatchSvrNoRspReq_VALUE;
-
- /**
- * 是否回执
- */
- private boolean mAck = false;
-
- /**
- * 消息ID
- */
- private final long mMsgId = System.currentTimeMillis();
-
- /**
- * 消息内容
- */
- private byte[] mContent;
-
- public MsgBody msgType( int msgType ) {
- this.mMsgType = msgType;
- return this;
- }
-
- public MsgBody ack( boolean ack ) {
- this.mAck = ack;
- return this;
- }
-
- public MsgBody content( byte[] object ) {
- this.mContent = object;
- return this;
- }
-
- public int getMsgType() {
- return mMsgType;
- }
-
- public boolean isAck() {
- return mAck;
- }
-
- public long getMsgId() {
- return mMsgId;
- }
-
- public byte[] getContent() {
- return mContent;
- }
-}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/locationinfo/CloudLocationInfo.java b/services/mogo-service-api/src/main/java/com/mogo/service/locationinfo/CloudLocationInfo.java
new file mode 100644
index 0000000000..ee316d8043
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/locationinfo/CloudLocationInfo.java
@@ -0,0 +1,314 @@
+package com.mogo.service.locationinfo;
+
+import android.os.Build;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import androidx.annotation.RequiresApi;
+
+import java.util.Objects;
+
+/**
+ * 自车定位信息
+ */
+public class CloudLocationInfo implements Parcelable {
+
+ /**
+ * 纬度
+ */
+ private double lat;
+
+ /**
+ * 经度
+ */
+ private double lon;
+
+ /**
+ * 车头方向
+ */
+ private double heading;
+
+ /**
+ * 系统时间
+ */
+ private long systemTime;
+
+ /**
+ * 卫星时间
+ */
+ private long satelliteTime;
+
+ /**
+ * 海拔
+ */
+ private double alt;
+
+ /**
+ * 车速
+ */
+ private double speed;
+
+ /**
+ * 车辆类型
+ * 0:普通车辆、家用车
+ */
+ private int vehicleType = 0;
+
+ /**
+ * 道路ID
+ */
+ private String roadId;
+
+ /**
+ * 车道ID-2D路段
+ */
+ private String laneId;
+
+ /**
+ * 车道号:中心线编号为0,中心线右侧编号为负数,3车道通行Road的车道编号,0,-1,-2,-3
+ */
+ private int laneNum;
+
+ /**
+ * 限速
+ */
+ private double rateLimiting;
+
+ /**
+ * 瓦片id
+ */
+ private String tileId;
+
+ /**
+ * 车道宽度
+ */
+ private double roadWidth;
+
+ public CloudLocationInfo() {
+ }
+
+ public CloudLocationInfo(CloudLocationInfo info) {
+ this.lat = info.getLat();
+ this.lon = info.getLon();
+ this.heading = info.getHeading();
+ this.systemTime = System.currentTimeMillis();
+ this.satelliteTime = System.currentTimeMillis();
+ this.alt = info.alt;
+ this.speed = info.speed;
+ this.vehicleType = info.vehicleType;
+ this.roadId = info.roadId;
+ this.laneId = info.laneId;
+ this.laneNum = info.laneNum;
+ this.rateLimiting = info.rateLimiting;
+ this.tileId = info.tileId;
+ this.roadWidth = info.roadWidth;
+ }
+
+ protected CloudLocationInfo(Parcel in) {
+ lat = in.readDouble();
+ lon = in.readDouble();
+ heading = in.readDouble();
+ systemTime = in.readLong();
+ satelliteTime = in.readLong();
+ alt = in.readDouble();
+ speed = in.readDouble();
+ vehicleType = in.readInt();
+ roadId = in.readString();
+ laneId = in.readString();
+ laneNum = in.readInt();
+ rateLimiting = in.readDouble();
+ tileId = in.readString();
+ roadWidth = in.readDouble();
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeDouble(lat);
+ dest.writeDouble(lon);
+ dest.writeDouble(heading);
+ dest.writeLong(systemTime);
+ dest.writeLong(satelliteTime);
+ dest.writeDouble(alt);
+ dest.writeDouble(speed);
+ dest.writeInt(vehicleType);
+ dest.writeString(roadId);
+ dest.writeString(laneId);
+ dest.writeInt(laneNum);
+ dest.writeDouble(rateLimiting);
+ dest.writeString(tileId);
+ dest.writeDouble(roadWidth);
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ public static final Creator CREATOR = new Creator() {
+ @Override
+ public CloudLocationInfo createFromParcel(Parcel in) {
+ return new CloudLocationInfo(in);
+ }
+
+ @Override
+ public CloudLocationInfo[] newArray(int size) {
+ return new CloudLocationInfo[size];
+ }
+ };
+
+ public double getLat() {
+ return lat;
+ }
+
+ public void setLat(double lat) {
+ this.lat = lat;
+ }
+
+ public double getLon() {
+ return lon;
+ }
+
+ public void setLon(double lon) {
+ this.lon = lon;
+ }
+
+ public double getHeading() {
+ return heading;
+ }
+
+ public void setHeading(double heading) {
+ this.heading = heading;
+ }
+
+ public long getSystemTime() {
+ return systemTime;
+ }
+
+ public void setSystemTime(long systemTime) {
+ this.systemTime = systemTime;
+ }
+
+ public long getSatelliteTime() {
+ return satelliteTime;
+ }
+
+ public void setSatelliteTime(long satelliteTime) {
+ this.satelliteTime = satelliteTime;
+ }
+
+ public double getAlt() {
+ return alt;
+ }
+
+ public void setAlt(double alt) {
+ this.alt = alt;
+ }
+
+ public double getSpeed() {
+ return speed;
+ }
+
+ public void setSpeed(double speed) {
+ this.speed = speed;
+ }
+
+ public int getVehicleType() {
+ return vehicleType;
+ }
+
+ public void setVehicleType(int vehicleType) {
+ this.vehicleType = vehicleType;
+ }
+
+ public String getRoadId() {
+ return roadId;
+ }
+
+ public void setRoadId(String roadId) {
+ this.roadId = roadId;
+ }
+
+ public String getLaneId() {
+ return laneId;
+ }
+
+ public void setLaneId(String laneId) {
+ this.laneId = laneId;
+ }
+
+ public int getLaneNum() {
+ return laneNum;
+ }
+
+ public void setLaneNum(int laneNum) {
+ this.laneNum = laneNum;
+ }
+
+ public double getRateLimiting() {
+ return rateLimiting;
+ }
+
+ public void setRateLimiting(double rateLimiting) {
+ this.rateLimiting = rateLimiting;
+ }
+
+ public String getTileId() {
+ return tileId;
+ }
+
+ public void setTileId(String tileId) {
+ this.tileId = tileId;
+ }
+
+ public double getRoadWidth() {
+ return roadWidth;
+ }
+
+ public void setRoadWidth(double roadWidth) {
+ this.roadWidth = roadWidth;
+ }
+
+ @Override
+ public String toString() {
+ return "CloudLocationInfo{" +
+ "lat=" + lat +
+ ", lon=" + lon +
+ ", heading=" + heading +
+ ", systemTime=" + systemTime +
+ ", satelliteTime=" + satelliteTime +
+ ", alt=" + alt +
+ ", speed=" + speed +
+ ", vehicleType=" + vehicleType +
+ ", roadId='" + roadId + '\'' +
+ ", laneId='" + laneId + '\'' +
+ ", laneNum=" + laneNum +
+ ", rateLimiting=" + rateLimiting +
+ ", tileId=" + tileId +
+ ", roadWidth=" + roadWidth +
+ '}';
+ }
+
+ public String print() {
+ return "CloudLocation{ lon: " + lon + " lat: " + lat + " heading: " + heading + " speed: "
+ + speed + " vehicleType: " + vehicleType + "}";
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ CloudLocationInfo that = (CloudLocationInfo) o;
+ return Double.compare(that.lat, lat) == 0 &&
+ Double.compare(that.lon, lon) == 0;
+ }
+
+ @RequiresApi(api = Build.VERSION_CODES.KITKAT)
+ @Override
+ public int hashCode() {
+ return Objects.hash(lat, lon);
+ }
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewManager.java b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewManager.java
index 3593e3ec8c..c2113766d5 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewManager.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/windowview/IMogoTopViewManager.java
@@ -118,13 +118,6 @@ public interface IMogoTopViewManager extends IProvider {
*/
boolean isViewAdded(View view);
- /**
- * 这个view是否已经被添加进了顶部布局
- * @param view 待查询的view
- * @return true-已经添加 false-未添加
- */
- boolean isViewNoLinkageAdded(View view);
-
/**
* 在vr模式下,隐藏所有topview,除了vr模式下的导航信息
*/
diff --git a/services/mogo-service/build.gradle b/services/mogo-service/build.gradle
index 62b8c6f4c2..6c0a4d07b8 100644
--- a/services/mogo-service/build.gradle
+++ b/services/mogo-service/build.gradle
@@ -42,7 +42,7 @@ dependencies {
annotationProcessor rootProject.ext.dependencies.aroutercompiler
implementation rootProject.ext.dependencies.adasapi
implementation rootProject.ext.dependencies.adasconfigapi
- implementation "com.zhidao.support.adas:high:1.1.7.4"
+ implementation project(':modules:mogo-module-adas')
if (Boolean.valueOf(RELEASE)) {
api rootProject.ext.dependencies.mogomap
implementation rootProject.ext.dependencies.mogomapapi
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java
index f8be97107f..7119cce607 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/AdasObjectUtils.java
@@ -3,8 +3,8 @@ package com.mogo.service.impl.adas;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.utils.MortonCode;
import com.mogo.map.uicontroller.IMogoMapUIController;
-import com.mogo.realtime.entity.ADASRecognizedResult;
import com.mogo.service.IMogoServiceApis;
+import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.adas.entity.ADASWarnMessage;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
index dadc92af50..6d4e5b3a92 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java
@@ -10,12 +10,15 @@ import android.text.TextUtils;
import android.util.Log;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.alibaba.android.arouter.launcher.ARouter;
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.SubscribeImpl;
-import com.mogo.commons.network.Utils;
import com.mogo.map.uicontroller.EnumMapUI;
-import com.mogo.realtime.entity.ADASRecognizedResult;
+import com.mogo.module.adas.AdasDataListener;
+import com.mogo.module.adas.AdasProvider;
+import com.mogo.module.adas.AdasStatusListener;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.adas.IMogoAdasCarDataCallback;
@@ -25,6 +28,7 @@ import com.mogo.service.adas.IMogoAdasRecognizedDataCallback;
import com.mogo.service.adas.IMogoAdasWarnMessageCallback;
import com.mogo.service.adas.RemoteControlAutoPilotParameters;
import com.mogo.service.adas.entity.ADASCarStateInfo;
+import com.mogo.service.adas.entity.ADASRecognizedResult;
import com.mogo.service.adas.entity.ADASWarnMessage;
import com.mogo.service.adas.entity.AdasOCHData;
import com.mogo.service.adas.entity.CarModelListResponse;
@@ -44,13 +48,13 @@ import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode;
import com.zhidao.adasconfig.common.config.EnumCarHeading;
import com.zhidao.adasconfig.common.config.EnumSkinStyle;
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
-import com.zhidao.autopilot.support.api.IAutopilotServiceStatusListener;
-import com.zhidao.autopilot.support.api.IAutopolitDataCallBack;
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotStateModel;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel;
import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarStateModel;
+import com.zhidao.support.adas.high.AdasManager;
import com.zhidao.support.adas.high.OnAdasListener;
+import com.zhidao.support.adas.high.bean.BasicInfo;
import com.zhidao.support.adas.high.bean.RectInfo;
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
import com.zhidao.support.adas.high.msg.MyMessageFactory;
@@ -72,7 +76,7 @@ import io.reactivex.schedulers.Schedulers;
*
* 描述
*/
-@Route( path = MogoServicePaths.PATH_ADAS_CONTROLLER )
+@Route(path = MogoServicePaths.PATH_ADAS_CONTROLLER)
public class MogoADASController implements IMogoADASController {
private static final String TAG = "MogoADASController";
@@ -87,42 +91,45 @@ public class MogoADASController implements IMogoADASController {
public static final String VAL_OPEN = "打开";
public static final String VAL_CLOSE = "关闭";
- private final IMogoStatusManager mStatusManager = SingletonsHolder.get( IMogoStatusManager.class );
+ private final IMogoStatusManager mStatusManager = SingletonsHolder.get(IMogoStatusManager.class);
private boolean mIsReleased = true;
- private IAutopolitDataCallBack mAutopolitDataCallBack;
+ //private IAutopolitDataCallBack mAutopolitDataCallBack;
+ private AdasDataListener mAdasDataListener;
+ private AdasProvider adasProvider;
+
/**
* 获取adas前车距离
*/
- private final List< IMogoAdasDataCallback > mAdasDataCallbackList = new CopyOnWriteArrayList<>();
+ private final List mAdasDataCallbackList = new CopyOnWriteArrayList<>();
/**
* adas 报警数据回调
*/
- private final List< IMogoAdasWarnMessageCallback > mMogoAdasWarnMessageCallbackList = new CopyOnWriteArrayList<>();
+ private final List mMogoAdasWarnMessageCallbackList = new CopyOnWriteArrayList<>();
/**
* adas 识别物体回调
*/
- private final List< IMogoAdasRecognizedDataCallback > mMogoAdasRecognizedDataCallbacks = new CopyOnWriteArrayList<>();
+ private final List mMogoAdasRecognizedDataCallbacks = new CopyOnWriteArrayList<>();
private IMogoAdasCarDataCallback mMogoAdasCarDataCallback;
- private List< AdasAIDLOwnerCarRectModel > mLastFrameDatums;
+ private List mLastFrameDatums;
/**
* 接收 adas 识别数据线程
*/
- private final Handler mAdasRecognizedRecHandler = new Handler( WorkThreadHandler.newInstance( "AdasRecognizedRecThread" ).getLooper() ) {
+ private final Handler mAdasRecognizedRecHandler = new Handler(WorkThreadHandler.newInstance("AdasRecognizedRecThread").getLooper()) {
@Override
- public void handleMessage( Message msg ) {
- super.handleMessage( msg );
- if ( msg.obj instanceof List ) {
- mAutopolitDataCallBack.notifyOwnerCarRect( ( List< AdasAIDLOwnerCarRectModel > ) msg.obj );
- } else if(msg.obj == null ){
- mAutopolitDataCallBack.notifyOwnerCarRect( null );
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
+ if (msg.obj instanceof List) {
+ mAdasDataListener.notifyOwnerCarRect((List) msg.obj);
+ } else if (msg.obj == null) {
+ mAdasDataListener.notifyOwnerCarRect(null);
}
}
};
@@ -130,109 +137,126 @@ public class MogoADASController implements IMogoADASController {
/**
* 接收 adas 定位数据线程
*/
- private final Handler mAdasLocationRecHandler = new Handler( WorkThreadHandler.newInstance( "AdasLocationRecThread" ).getLooper() ) {
+ private final Handler mAdasLocationRecHandler = new Handler(WorkThreadHandler.newInstance("AdasLocationRecThread").getLooper()) {
@Override
- public void handleMessage( Message msg ) {
- super.handleMessage( msg );
+ public void handleMessage(Message msg) {
+ super.handleMessage(msg);
final long start = System.currentTimeMillis();
- ADASCarStateInfo stateInfo = GsonUtil.objectFromJson( ( ( String ) msg.obj ), ADASCarStateInfo.class );
- if ( stateInfo == null || stateInfo.getValues() == null ) {
- Logger.d(TAG,"ADAS-LOC-timer","upd 到 aidl 传输数据 stateInfo or stateInfo.getValues() is null");
+ ADASCarStateInfo stateInfo = GsonUtil.objectFromJson(((String) msg.obj), ADASCarStateInfo.class);
+ if (stateInfo == null || stateInfo.getValues() == null) {
+ Logger.d(TAG, "ADAS-LOC-timer", "upd 到 aidl 传输数据 stateInfo or stateInfo.getValues() is null");
return;
}
- if(stateInfo.getValues().getStartReceiverDataTime() != null){
- Logger.d( "ADAS-LOC-timer", "upd 到 aidl 传输耗时:%s", start - Long.valueOf( stateInfo.getValues().getStartReceiverDataTime() ) );
- }else{
- Logger.d( "ADAS-LOC-timer", "upd 到 aidl 传输耗时时间字段 startReceiverDataTime is null");
+ if (stateInfo.getValues().getStartReceiverDataTime() != null) {
+ Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时:%s", start - Long.valueOf(stateInfo.getValues().getStartReceiverDataTime()));
+ } else {
+ Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时时间字段 startReceiverDataTime is null");
}
mLastLon = stateInfo.getValues().getLon();
mLastLat = stateInfo.getValues().getLat();
- if ( mMogoAdasCarDataCallback != null ) {
- mMogoAdasCarDataCallback.onAdasCarDataCallback( stateInfo );
+ satelliteTime = stateInfo.getValues().getSatelliteTime();
+ if (mMogoAdasCarDataCallback != null) {
+ mMogoAdasCarDataCallback.onAdasCarDataCallback(stateInfo);
}
- Logger.i( "ADAS-LOC-timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
+ Logger.i("ADAS-LOC-timer", "cost " + (System.currentTimeMillis() - start) + "ms");
}
};
private final OnAdasListener mOnAdasListener = new OnAdasListenerAdapter() {
@Override
- public void onRectData( RectInfo rectInfo ) {
+ public void onRectData(RectInfo rectInfo) {
- List< AdasAIDLOwnerCarRectModel > data = new ArrayList<>();
- if ( rectInfo != null && rectInfo.getModels() != null && !rectInfo.getModels().isEmpty() ) {
- List< RectInfo.RectBean > beans = rectInfo.getModels();
- for ( RectInfo.RectBean bean : beans ) {
- if ( bean == null ) {
+ List data = new ArrayList<>();
+ if (rectInfo != null && rectInfo.getModels() != null && !rectInfo.getModels().isEmpty()) {
+ List beans = rectInfo.getModels();
+ for (RectInfo.RectBean bean : beans) {
+ if (bean == null) {
continue;
}
AdasAIDLOwnerCarRectModel model = new AdasAIDLOwnerCarRectModel();
- model.setId( bean.getId() );
- model.setXl( bean.getXl() );
- model.setXr( bean.getXr() );
- model.setYb( bean.getYb() );
- model.setYt( bean.getYt() );
- model.setDistance_x( bean.getDistance_x() );
- model.setDistance_y( bean.getDistance_y() );
- model.setType( bean.getType() );
- model.setLat( bean.getLat() );
- model.setLon( bean.getLon() );
- model.setHeading( bean.getHeading() );
- model.setSystemTime( bean.getSystemTime() );
- model.setSatelliteTime( bean.getSatelliteTime() );
- model.setAlt( bean.getAlt() );
- model.setCarId( bean.getCarId() );
- model.setUuid( bean.getUuid() );
- model.setColor( bean.getColor() );
- model.setSpeed( bean.getSpeed() );
- model.setDataAccuracy( bean.getDataAccuracy() );
- model.setDistance( bean.getDistance() );
+ model.setId(bean.getId());
+ model.setXl(bean.getXl());
+ model.setXr(bean.getXr());
+ model.setYb(bean.getYb());
+ model.setYt(bean.getYt());
+ model.setDistance_x(bean.getDistance_x());
+ model.setDistance_y(bean.getDistance_y());
+ String type;
+ if (TextUtils.isEmpty(bean.getType())) {
+ type = "100";
+ Logger.d(TAG, " === ADAS 返回结果出现 type 为 null情况 ====");
+ } else {
+ type = bean.getType();
+ }
+ model.setType(type);
+ model.setLat(bean.getLat());
+ model.setLon(bean.getLon());
+ model.setHeading(bean.getHeading());
+ model.setSystemTime(bean.getSystemTime());
+ model.setSatelliteTime(bean.getSystemTime());
+ model.setAlt(bean.getAlt());
+ model.setCarId(bean.getCarId());
+ model.setUuid(bean.getUuid());
+ model.setColor(bean.getColor());
+ model.setSpeed(bean.getSpeed());
+ model.setDataAccuracy(bean.getDataAccuracy());
+ model.setDistance(bean.getDistance());
model.setDrawlevel(bean.getDrawlevel()); //liyz
- data.add( model );
+ data.add(model);
- Logger.d( TAG, "识别距离:x = %s, y = %s", model.getDistance_x(), model.getDistance_y() );
+ Log.d("ADAS数据延时", "uuid : " + bean.getUuid() + " type : " + bean.getType() + "systemTime : " + System.currentTimeMillis() + " GPS time" + Long.parseLong(bean.getSystemTime())
+ + " timeDelay : " + (System.currentTimeMillis() - Long.parseLong(bean.getSystemTime())));
+
+// Log.d("ADAS原始数据", "uuid : " + bean.getUuid() + " type : " + bean.getType());
+ Logger.d(TAG, "识别距离:x = %s, y = %s", model.getDistance_x(), model.getDistance_y());
}
}
- if ( mLastFrameDatums == null ) {
+ if (mLastFrameDatums == null) {
mLastFrameDatums = new ArrayList<>();
}
try {
- mLastFrameDatums.addAll( data );
- } catch ( Exception e ) {
+ mLastFrameDatums.addAll(data);
+ } catch (Exception e) {
}
Message message = mAdasRecognizedRecHandler.obtainMessage();
message.obj = data;
message.sendToTarget();
- DebugConfig.setStatus( DebugConfig.sAdasRecognized, true );
+ DebugConfig.setStatus(DebugConfig.sAdasRecognized, true);
}
@Override
- public void onWarnMessage( WarnMessageInfo warnMessageInfo ) {
- if ( warnMessageInfo == null ) {
+ public void onAutopilotRoute(String route) {
+
+ }
+
+ @Override
+ public void onWarnMessage(WarnMessageInfo warnMessageInfo) {
+ if (warnMessageInfo == null) {
return;
}
// 警告消息
- Logger.d( TAG, "onWarnMessage = %s", warnMessageInfo.toString() );
- if ( mMogoAdasWarnMessageCallbackList.isEmpty() ) {
+ Logger.d(TAG, "onWarnMessage = %s", warnMessageInfo.toString());
+ if (mMogoAdasWarnMessageCallbackList.isEmpty()) {
return;
}
- final ADASWarnMessage warnMessage = AdasObjectUtils.fromAdasObject( warnMessageInfo );
- if ( warnMessage == null ) {
+ final ADASWarnMessage warnMessage = AdasObjectUtils.fromAdasObject(warnMessageInfo);
+ if (warnMessage == null) {
return;
}
- UiThreadHandler.post( () -> {
- for ( IMogoAdasWarnMessageCallback callback : mMogoAdasWarnMessageCallbackList ) {
- if ( callback != null ) {
- callback.onReceiveData( warnMessage );
+ UiThreadHandler.post(() -> {
+ for (IMogoAdasWarnMessageCallback callback : mMogoAdasWarnMessageCallbackList) {
+ if (callback != null) {
+ callback.onReceiveData(warnMessage);
}
}
- } );
+ });
}
};
@@ -243,23 +267,23 @@ public class MogoADASController implements IMogoADASController {
*
* @param models
*/
- private void handleAdasRecognizedData( List< AdasAIDLOwnerCarRectModel > models ) {
- if ( models == null
- || models.isEmpty() ) {
- invokeCallbackPerSecond( null );
+ private void handleAdasRecognizedData(List models) {
+ if (models == null
+ || models.isEmpty()) {
+ invokeCallbackPerSecond(null);
return;
}
- invokeCallbackPerSecond( models );
+ invokeCallbackPerSecond(models);
}
- private void invokeCallbackPerSecond( List< AdasAIDLOwnerCarRectModel > models ) {
- List< ADASRecognizedResult > recognizedListResults = AdasObjectUtils.regroupData( models );
- if ( !mMogoAdasRecognizedDataCallbacks.isEmpty() ) {
- for ( IMogoAdasRecognizedDataCallback callback : mMogoAdasRecognizedDataCallbacks ) {
- if ( callback == null ) {
+ private void invokeCallbackPerSecond(List models) {
+ List recognizedListResults = AdasObjectUtils.regroupData(models);
+ if (!mMogoAdasRecognizedDataCallbacks.isEmpty()) {
+ for (IMogoAdasRecognizedDataCallback callback : mMogoAdasRecognizedDataCallbacks) {
+ if (callback == null) {
continue;
}
- callback.onAdasDataCallback( recognizedListResults );
+ callback.onAdasDataCallback(recognizedListResults);
}
}
}
@@ -275,7 +299,7 @@ public class MogoADASController implements IMogoADASController {
public void killADAS() {
try {
AutopilotServiceManage.getInstance().kill();
- } catch ( Exception e ) {
+ } catch (Exception e) {
}
}
@@ -285,76 +309,84 @@ public class MogoADASController implements IMogoADASController {
@Override
public void showADAS() {
- if ( DebugConfig.isNeedLoadGuideModule() ) {
- if ( !SharedPrefsMgr.getInstance( AbsMogoApplication.getApp() ).getBoolean( DebugConfig.getSpGuide(), false ) ) {
+ if (DebugConfig.isNeedLoadGuideModule()) {
+ if (!SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(DebugConfig.getSpGuide(), false)) {
return;
}
}
- if ( SingletonsHolder.get( IMogoStatusManager.class ).isVrMode() ) {
+ if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
return;
}
- Logger.d( TAG, Log.getStackTraceString( new Throwable() ) );
- init( AbsMogoApplication.getApp() );
- AutopilotServiceManage.getInstance().registerAutopilotServiceStatusListener( new IAutopilotServiceStatusListener() {
+ Logger.d(TAG, Log.getStackTraceString(new Throwable()));
+ init(AbsMogoApplication.getApp());
+ adasProvider.addAdasStatusListener(new AdasStatusListener() {
@Override
public void onServiceConnected() {
+ super.onServiceConnected();
+ Logger.d( TAG, "adas statuslistener connected & send sn");
+ BasicInfo info=new BasicInfo();
+ info.setSn(MoGoAiCloudClientConfig.getInstance().getSn());
+ AdasManager.getInstance().setBasicInfo(info);
invokeShowADASOperation();
}
@Override
public void onServiceDisconnected() {
-
+ Logger.d(TAG, "adas statuslistener disconnected");
+ super.onServiceDisconnected();
}
- } );
+ });
invokeShowADASOperation();
- if ( mAutopolitDataCallBack == null ) {
- mAutopolitDataCallBack = new IAutopolitDataCallBack() {
+ if (mAdasDataListener == null) {
+ mAdasDataListener = new AdasDataListener() {
@Override
- public void sendMsg( String msg ) {
- for ( IMogoAdasDataCallback callback : mAdasDataCallbackList ) {
+ public void sendMsg(String msg) {
+ Logger.d(TAG, "adas AdasDataListener sendmsg " + msg);
+ for (IMogoAdasDataCallback callback : mAdasDataCallbackList) {
try {
- callback.onAdasDataCallback( msg );
- } catch ( Exception e ) {
- Logger.e( TAG, e, "sendMsg" );
+ callback.onAdasDataCallback(msg);
+ } catch (Exception e) {
+ Logger.e(TAG, e, "sendMsg");
}
}
}
@Override
- public void cameraEyeDetectResult( String detectResult ) {
-
+ public void cameraEyeDetectResult(String detectResult) {
+ Logger.d(TAG, "detectResult " + detectResult);
try {
- JSONObject jsonObjectWs = new JSONObject( detectResult );
- String action = jsonObjectWs.optString( "action" );
- if ( TextUtils.isEmpty( action ) ) {
- Logger.w( TAG, "--->action is null" );
+ JSONObject jsonObjectWs = new JSONObject(detectResult);
+ String action = jsonObjectWs.optString("action");
+ if (TextUtils.isEmpty(action)) {
+ Logger.w(TAG, "--->action is null");
return;
}
//识别的他车移动操作
- mAdasMessageFactory.createMessage( action ).handlerMsg( GsonUtil.getGson(), mOnAdasListener, detectResult );
- } catch ( JSONException e ) {
+ mAdasMessageFactory.createMessage(action).handlerMsg(GsonUtil.getGson(), mOnAdasListener, detectResult);
+ } catch (JSONException e) {
e.printStackTrace();
}
}
@Override
- public void selectCarModelUrl( String carStyleUrl ) {
- Logger.d( TAG, "selectCarModelUrl: " + carStyleUrl );
+ public void selectCarModelUrl(String carStyleUrl) {
+ Logger.d(TAG, "selectCarModelUrl: " + carStyleUrl);
needEmphasizeMyLocation = true;
// 修改自车图标展示
- SharedPrefsMgr.getInstance( context ).putString( "MY_LOCATION_CONFIG", carStyleUrl );
- SingletonsHolder.get( IMogoDataManager.class ).syncData( "ADAS", carStyleUrl );
+ SharedPrefsMgr.getInstance(context).putString("MY_LOCATION_CONFIG", carStyleUrl);
+ SingletonsHolder.get(IMogoDataManager.class).syncData("ADAS", carStyleUrl);
}
@Override
public void requestGetCarModelListInfo() {
- if ( DebugConfig.isMapBased() ) {
- Logger.d( TAG, "requestGetCarModelListInfo" );
+ Logger.d(TAG, "requestGetCarModelListInfo ");
+ if (DebugConfig.isMapBased()) {
+ Logger.d(TAG, "requestGetCarModelListInfo");
// 向adas发送车模list
- String carModelList = SharedPrefsMgr.getInstance( context ).getString( "CAR_MODEL_LIST", "" );
- if ( carModelList != null && !carModelList.isEmpty() ) {
- AutopilotServiceManage.getInstance().settingCarModelListInfo( carModelList );
+ String carModelList = SharedPrefsMgr.getInstance(context).getString("CAR_MODEL_LIST", "");
+ if (carModelList != null && !carModelList.isEmpty()) {
+ AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList);
}
// 此处进行网络请求,请求成功后再通知一次adas
requestCarModelList();
@@ -363,8 +395,8 @@ public class MogoADASController implements IMogoADASController {
@Override
public void clickSettingBack() {
- if ( needEmphasizeMyLocation ) {
- SingletonsHolder.get( IMogoDataManager.class ).syncData( "ADAS", null );
+ if (needEmphasizeMyLocation) {
+ SingletonsHolder.get(IMogoDataManager.class).syncData("ADAS", null);
}
needEmphasizeMyLocation = false;
@@ -372,91 +404,95 @@ public class MogoADASController implements IMogoADASController {
}
@Override
- public void showToast( String msg ) {
- UiThreadHandler.post( () -> TipToast.tip( msg ) );
+ public void showToast(String msg) {
+ UiThreadHandler.post(() -> TipToast.tip(msg));
}
@Override
- public void autopilotArrive( AdasAIDLAutopilotArriveModel autopilotArriveModel ) {
- if ( autopilotArriveModel == null ) {
+ public void autopilotArrive(AdasAIDLAutopilotArriveModel autopilotArriveModel) {
+ Logger.d(TAG, "autopilotArriveModel " + autopilotArriveModel);
+ if (autopilotArriveModel == null) {
return;
}
- if ( mAdasOCHCallback != null ) {
- mAdasOCHCallback.onArriveAt( new AdasOCHData(
+ if (mAdasOCHCallback != null) {
+ mAdasOCHCallback.onArriveAt(new AdasOCHData(
autopilotArriveModel.getCarType(),
autopilotArriveModel.getLon(),
- autopilotArriveModel.getLat() )
+ autopilotArriveModel.getLat())
);
}
}
@Override
- public void ownerCarStateInfo( String ownerCarStateInfo ) {
+ public void ownerCarStateInfo(String ownerCarStateInfo) {
+ Logger.d(TAG, "ownerCarStateInfo " + ownerCarStateInfo);
Message message = mAdasLocationRecHandler.obtainMessage();
message.obj = ownerCarStateInfo;
message.sendToTarget();
}
@Override
- public void notifyOwnerCarState( AdasAIDLOwnerCarStateModel ownerCarStateModel ) {
+ public void notifyOwnerCarState(AdasAIDLOwnerCarStateModel ownerCarStateModel) {
+ Logger.d(TAG, "AdasAIDLOwnerCarStateModel " + ownerCarStateModel);
ADASCarStateInfo stateInf = new ADASCarStateInfo();
- stateInf.setAction( "state" );
+ stateInf.setAction("state");
ADASCarStateInfo.ValuesBean bean = new ADASCarStateInfo.ValuesBean();
- bean.setSatelliteTime( ownerCarStateModel.getSatelliteTime() );
- bean.setAcceleration( ownerCarStateModel.getAcceleration() );
- bean.setAlt( ownerCarStateModel.getAlt() );
- bean.setGnss_speed( ownerCarStateModel.getGnss_speed() );
- bean.setHeading( ownerCarStateModel.getHeading() );
- bean.setLat( ownerCarStateModel.getLat() );
- bean.setLon( ownerCarStateModel.getLon() );
- bean.setReceiverDataTime( ownerCarStateModel.getReceiverDataTime() );
- bean.setSystemTime( ownerCarStateModel.getSystemTime() );
- bean.setYaw_rate( ownerCarStateModel.getYaw_rate() );
- stateInf.setValues( bean );
+ bean.setSatelliteTime(ownerCarStateModel.getSatelliteTime());
+ bean.setAcceleration(ownerCarStateModel.getAcceleration());
+ bean.setAlt(ownerCarStateModel.getAlt());
+ bean.setGnss_speed(ownerCarStateModel.getGnss_speed());
+ bean.setHeading(ownerCarStateModel.getHeading());
+ bean.setLat(ownerCarStateModel.getLat());
+ bean.setLon(ownerCarStateModel.getLon());
+ bean.setReceiverDataTime(ownerCarStateModel.getReceiverDataTime());
+ bean.setSystemTime(ownerCarStateModel.getSystemTime());
+ bean.setYaw_rate(ownerCarStateModel.getYaw_rate());
+ stateInf.setValues(bean);
mLastLon = ownerCarStateModel.getLon();
mLastLat = ownerCarStateModel.getLat();
mSpeed = ownerCarStateModel.getGnss_speed();
- if ( mMogoAdasCarDataCallback != null ) {
- mMogoAdasCarDataCallback.onAdasCarDataCallback( stateInf );
+ if (mMogoAdasCarDataCallback != null) {
+ mMogoAdasCarDataCallback.onAdasCarDataCallback(stateInf);
}
}
@Override
- public void notifyAutopilotState( AdasAIDLAutopilotStateModel autopilotStateModel ) {
- Logger.d( TAG, "notifyAutopilotState: " + autopilotStateModel );
- DebugConfig.setAutoPilotStatus( autopilotStateModel.getState() + "" );
- if ( mAdasOCHCallback != null ) {
- mAdasOCHCallback.onStateChanged( autopilotStateModel.getState(), autopilotStateModel.getReason() );
+ public void notifyAutopilotState(AdasAIDLAutopilotStateModel autopilotStateModel) {
+ Logger.d(TAG, "notifyAutopilotState: " + autopilotStateModel);
+ DebugConfig.setAutoPilotStatus(autopilotStateModel.getState() + "");
+ if (mAdasOCHCallback != null) {
+ mAdasOCHCallback.onStateChanged(autopilotStateModel.getState(), autopilotStateModel.getReason());
}
}
@Override
- public void notifyOwnerCarRect( List< AdasAIDLOwnerCarRectModel > ownerCarStateRectList ) {
+ public void notifyOwnerCarRect(List ownerCarStateRectList) {
// 物体识别返回
- Logger.d( TAG, "ADAS-REC-received data: size = %s", ownerCarStateRectList == null ? 0 : ownerCarStateRectList.size() );
+ Logger.d(TAG, "ADAS-REC-received data: size = %s", ownerCarStateRectList == null ? 0 : ownerCarStateRectList.size());
final long start = System.currentTimeMillis();
// 仅在 vr 模式下显示 adas 识别车辆
- if ( !SingletonsHolder.get( IMogoStatusManager.class ).isVrMode() ) {
+ if (!SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
return;
}
- if ( !SingletonsHolder.get( IMogoStatusManager.class ).isMainPageLaunched() ) {
+ if (!SingletonsHolder.get(IMogoStatusManager.class).isMainPageLaunched()) {
return;
}
try {
- handleAdasRecognizedData( ownerCarStateRectList );
- } catch ( Exception e ) {
+ handleAdasRecognizedData(ownerCarStateRectList);
+ } catch (Exception e) {
e.printStackTrace();
}
- Logger.i( "ADAS-REC-timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
+ Logger.i("ADAS-REC-timer", "cost " + (System.currentTimeMillis() - start) + "ms");
}
};
- AutopilotServiceManage.getInstance().registerAutopilotDataListener( mAutopolitDataCallBack );
+ adasProvider.addAdasEventListener(mAdasDataListener);
}
}
private double mLastLon;
private double mLastLat;
private double mSpeed;
+ private String satelliteTime;
@Override
public double getLastSpeed() {
@@ -471,150 +507,155 @@ public class MogoADASController implements IMogoADASController {
return mLastLon;
}
+ public String getSatelliteTime() {
+ return satelliteTime;
+ }
+
private boolean useTestSn = false;
private void invokeShowADASOperation() {
int delay = 0;
- UiThreadHandler.postDelayed( () -> {
+ UiThreadHandler.postDelayed(() -> {
- if ( mStatusManager.isSearchUIShow() ) {
+ if (mStatusManager.isSearchUIShow()) {
return;
}
- if ( !mStatusManager.isMainPageOnResume() ) {
+ if (!mStatusManager.isMainPageOnResume()) {
return;
}
- if ( SingletonsHolder.get( IMogoStatusManager.class ).isVrMode() ) {
+ if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
return;
}
try {
AutopilotServiceManage.getInstance().showAdas();
- } catch ( Exception e ) {
- Intent intent = new Intent( ACTION );
- intent.putExtra( PARAM_COMMAND, VAL_COMMAND );
+ } catch (Exception e) {
+ Intent intent = new Intent(ACTION);
+ intent.putExtra(PARAM_COMMAND, VAL_COMMAND);
JSONObject object = new JSONObject();
try {
- object.put( PARAM_OBJECT, VAL_OBJECT );
- object.put( PARAM_OPERATION, VAL_OPEN );
- intent.putExtra( PARAM_DATA, object.toString() );
- sendBroadcast( intent );
- } catch ( Exception e1 ) {
- Logger.e( TAG, e1, "error." );
+ object.put(PARAM_OBJECT, VAL_OBJECT);
+ object.put(PARAM_OPERATION, VAL_OPEN);
+ intent.putExtra(PARAM_DATA, object.toString());
+ sendBroadcast(intent);
+ } catch (Exception e1) {
+ Logger.e(TAG, e1, "error.");
}
}
- }, delay );
+ }, delay);
}
@Override
public void closeADAS() {
- Logger.d( TAG, "close adas" );
+ Logger.d(TAG, "close adas");
try {
AutopilotServiceManage.getInstance().hideAdas();
- } catch ( Exception e ) {
- Intent intent = new Intent( ACTION );
- intent.putExtra( PARAM_COMMAND, VAL_COMMAND );
+ } catch (Exception e) {
+ Intent intent = new Intent(ACTION);
+ intent.putExtra(PARAM_COMMAND, VAL_COMMAND);
JSONObject object = new JSONObject();
try {
- object.put( PARAM_OBJECT, VAL_OBJECT );
- object.put( PARAM_OPERATION, VAL_CLOSE );
- intent.putExtra( PARAM_DATA, object.toString() );
- sendBroadcast( intent );
- } catch ( Exception e1 ) {
- Logger.e( TAG, e1, "error." );
+ object.put(PARAM_OBJECT, VAL_OBJECT);
+ object.put(PARAM_OPERATION, VAL_CLOSE);
+ intent.putExtra(PARAM_DATA, object.toString());
+ sendBroadcast(intent);
+ } catch (Exception e1) {
+ Logger.e(TAG, e1, "error.");
}
}
}
- private void sendBroadcast( Intent intent ) {
+ private void sendBroadcast(Intent intent) {
Application app = AbsMogoApplication.getApp();
- if ( app == null ) {
- Logger.e( TAG, "un handle Application instance." );
+ if (app == null) {
+ Logger.e(TAG, "un handle Application instance.");
return;
}
- app.sendBroadcast( intent );
+ app.sendBroadcast(intent);
}
private Context context;
@Override
- public void init( Context context ) {
- AutopilotServiceManage.getInstance().init( context );
+ public void init(Context context) {
+ AutopilotServiceManage.getInstance().init(context);
mIsReleased = false;
mAdasMessageFactory = new MyMessageFactory();
+ adasProvider = ARouter.getInstance().navigation(AdasProvider.class);
this.context = context;
}
@Override
- public void setSettingStatus( boolean show ) {
- AutopilotServiceManage.getInstance().setSettingStatus( show );
+ public void setSettingStatus(boolean show) {
+ AutopilotServiceManage.getInstance().setSettingStatus(show);
}
@Override
- public void setUseAlgorithm( boolean open ) {
- AutopilotServiceManage.getInstance().setUseAlgorithm( open );
+ public void setUseAlgorithm(boolean open) {
+ AutopilotServiceManage.getInstance().setUseAlgorithm(open);
}
@Override
- public void changeAdasControlMode( EnumMapUI ui ) {
- if ( ui == null || !DebugConfig.isMapBased() ) {
+ public void changeAdasControlMode(EnumMapUI ui) {
+ if (ui == null || !DebugConfig.isMapBased()) {
return;
}
- Logger.d( TAG, "new Mode: " + ui.name() );
- switch ( ui ) {
+ Logger.d(TAG, "new Mode: " + ui.name());
+ switch (ui) {
case CarUp_2D:
case CarUp_3D:
- AdasConfigApiController.getInstance().setUserCarHeading( EnumCarHeading.CAR_HEADING_UP );
+ AdasConfigApiController.getInstance().setUserCarHeading(EnumCarHeading.CAR_HEADING_UP);
break;
case NorthUP_2D:
- AdasConfigApiController.getInstance().setUserCarHeading( EnumCarHeading.NORTH_UP );
+ AdasConfigApiController.getInstance().setUserCarHeading(EnumCarHeading.NORTH_UP);
break;
case Type_Light:
- if ( getCurrentSkinMode() == EnumMapUI.Type_Light ) {
+ if (getCurrentSkinMode() == EnumMapUI.Type_Light) {
return;
}
- AdasConfigApiController.getInstance().setUserSkinModel( EnumSkinStyle.WHITE );
+ AdasConfigApiController.getInstance().setUserSkinModel(EnumSkinStyle.WHITE);
break;
case Type_Night:
- if ( getCurrentSkinMode() == EnumMapUI.Type_Night ) {
+ if (getCurrentSkinMode() == EnumMapUI.Type_Night) {
return;
}
- AdasConfigApiController.getInstance().setUserSkinModel( EnumSkinStyle.BLACK );
+ AdasConfigApiController.getInstance().setUserSkinModel(EnumSkinStyle.BLACK);
break;
case Type_AUTO_LIGHT_Night:
- AdasConfigApiController.getInstance().setUserSkinModel( EnumSkinStyle.AUTO );
+ AdasConfigApiController.getInstance().setUserSkinModel(EnumSkinStyle.AUTO);
break;
}
}
@Override
- public void changeAdasControlVisibleMode( boolean visible ) {
- Logger.d( TAG, "new visibility: " + visible );
- AdasConfigApiController.getInstance().setUserCarChatIncognitoModel( visible ? EnumCarChatIncognitoMode.OPEN : EnumCarChatIncognitoMode.CLOSE );
+ public void changeAdasControlVisibleMode(boolean visible) {
+ Logger.d(TAG, "new visibility: " + visible);
+ AdasConfigApiController.getInstance().setUserCarChatIncognitoModel(visible ? EnumCarChatIncognitoMode.OPEN : EnumCarChatIncognitoMode.CLOSE);
}
@Override
public EnumMapUI getCurrentSkinMode() {
- if ( !DebugConfig.isMapBased() ) {
+ if (!DebugConfig.isMapBased()) {
return EnumMapUI.Type_Night;
}
boolean white = AdasConfigApiController.getInstance().isShowUISkinWhiteModel();
- if ( !white ) {
+ if (!white) {
return EnumMapUI.Type_Night;
}
return EnumMapUI.Type_Light;
}
@Override
- public void aiCloudToAdasData( RemoteControlAutoPilotParameters result ) {
+ public void aiCloudToAdasData(RemoteControlAutoPilotParameters result) {
try {
- syncControlCmdToADAS( "aiCloudToStartAutopilot", result );
- } catch ( Exception e ) {
- Logger.e( TAG, e, "aiCloudToAdasData" );
+ syncControlCmdToADAS("aiCloudToStartAutopilot", result);
+ } catch (Exception e) {
+ Logger.e(TAG, e, "aiCloudToAdasData");
}
}
@@ -622,12 +663,12 @@ public class MogoADASController implements IMogoADASController {
* @param action
* @param result
*/
- private void syncControlCmdToADAS( String action, Object result ) {
- AdasControlCommandParameter parameter = new AdasControlCommandParameter( action, result );
+ private void syncControlCmdToADAS(String action, Object result) {
+ AdasControlCommandParameter parameter = new AdasControlCommandParameter(action, result);
//位置信息 action是aiCloudToStartAutopilot
try {
- AutopilotServiceManage.getInstance().aiCloudToAdasData( GsonUtil.jsonFromObject( parameter ) );
- } catch ( Exception e ) {
+ AutopilotServiceManage.getInstance().aiCloudToAdasData(GsonUtil.jsonFromObject(parameter));
+ } catch (Exception e) {
e.printStackTrace();
}
}
@@ -636,131 +677,132 @@ public class MogoADASController implements IMogoADASController {
private String currentSn = TEST_SN;
private void requestCarModelList() {
- Map< String, String > params = new HashMap<>( 8 );
- params.put( "sn", Utils.getSn() );
-// currentSn = useTestSn ? TEST_SN : Utils.getSn();
+ Map params = new HashMap<>(8);
+ params.put("sn", MoGoAiCloudClientConfig.getInstance().getSn());
+// currentSn = useTestSn ? TEST_SN : MoGoAiCloudClientConfig.getInstance().getSn();
// params.put("sn", currentSn);
- SingletonsHolder.get( IMogoNetwork.class ).create( CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl() ).
- requestCarModelList( params ).
- subscribeOn( Schedulers.io() ).
- observeOn( Schedulers.io() ).
- subscribe( new SubscribeImpl< CarModelListResponse >( RequestOptions.create( context ) ) {
+ SingletonsHolder.get(IMogoNetwork.class).create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()).
+ requestCarModelList(params).
+ subscribeOn(Schedulers.io()).
+ observeOn(Schedulers.io()).
+ subscribe(new SubscribeImpl(RequestOptions.create(context)) {
@Override
- public void onSuccess( CarModelListResponse o ) {
- super.onSuccess( o );
- Logger.d( TAG, "请求车模列表成功: " + o );
+ public void onSuccess(CarModelListResponse o) {
+ super.onSuccess(o);
+ Logger.d(TAG, "请求车模列表成功: " + o);
// 保存到sp中
- String value = GsonUtil.jsonFromObject( o.getResult() );
- SharedPrefsMgr.getInstance( context ).putString( "CAR_MODEL_LIST", value );
- if ( value != null && !value.isEmpty() ) {
- AutopilotServiceManage.getInstance().settingCarModelListInfo( value );
+ String value = GsonUtil.jsonFromObject(o.getResult());
+ SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", value);
+ if (value != null && !value.isEmpty()) {
+ AutopilotServiceManage.getInstance().settingCarModelListInfo(value);
}
}
@Override
- public void onError( Throwable e ) {
- super.onError( e );
- Logger.e( TAG, e, "请求自车模型失败" );
+ public void onError(Throwable e) {
+ super.onError(e);
+ Logger.e(TAG, e, "请求自车模型失败");
}
@Override
- public void onError( String message, int code ) {
- super.onError( message, code );
- Logger.e( TAG, "请求自车模型失败: " + message );
+ public void onError(String message, int code) {
+ super.onError(message, code);
+ Logger.e(TAG, "请求自车模型失败: " + message);
}
- } );
+ });
}
@Override
public void release() {
mIsReleased = true;
- AutopilotServiceManage.getInstance().unRegisterAutopilotDataListener( mAutopolitDataCallBack );
+ //AutopilotServiceManage.getInstance().unRegisterAutopilotDataListener( mAutopolitDataCallBack );
+ adasProvider.removeAdasEventListener(mAdasDataListener);
AutopilotServiceManage.getInstance().release();
}
@Override
- public void addAdasDataCallback( IMogoAdasDataCallback callback ) {
- if ( callback == null ) {
+ public void addAdasDataCallback(IMogoAdasDataCallback callback) {
+ if (callback == null) {
return;
}
- if ( !mAdasDataCallbackList.contains( callback ) ) {
- mAdasDataCallbackList.add( callback );
+ if (!mAdasDataCallbackList.contains(callback)) {
+ mAdasDataCallbackList.add(callback);
}
}
@Override
- public void removeAdasDataCallback( IMogoAdasDataCallback callback ) {
- if ( callback == null ) {
+ public void removeAdasDataCallback(IMogoAdasDataCallback callback) {
+ if (callback == null) {
return;
}
- mAdasDataCallbackList.remove( callback );
+ mAdasDataCallbackList.remove(callback);
}
@Override
- public void addAdasWarnMessageCallback( IMogoAdasWarnMessageCallback callback ) {
- if ( callback == null ) {
+ public void addAdasWarnMessageCallback(IMogoAdasWarnMessageCallback callback) {
+ if (callback == null) {
return;
}
- if ( !mMogoAdasWarnMessageCallbackList.contains( callback ) ) {
- mMogoAdasWarnMessageCallbackList.add( callback );
+ if (!mMogoAdasWarnMessageCallbackList.contains(callback)) {
+ mMogoAdasWarnMessageCallbackList.add(callback);
}
}
@Override
- public void removeAdasWarnMessageCallback( IMogoAdasWarnMessageCallback callback ) {
- if ( callback == null ) {
+ public void removeAdasWarnMessageCallback(IMogoAdasWarnMessageCallback callback) {
+ if (callback == null) {
return;
}
- mMogoAdasWarnMessageCallbackList.remove( callback );
+ mMogoAdasWarnMessageCallbackList.remove(callback);
}
@Override
- public List< ADASRecognizedResult > getLastADASRecognizedResult() {
- if ( mLastFrameDatums == null ) {
+ public List getLastADASRecognizedResult() {
+ if (mLastFrameDatums == null) {
return null;
}
if (!DebugConfig.isUseAdasRecognize()) {
return null;
}
try {
- List< AdasAIDLOwnerCarRectModel > data = mLastFrameDatums;
+ List data = mLastFrameDatums;
mLastFrameDatums = null;
- List< ADASRecognizedResult > recognizedResultList;
- recognizedResultList = AdasObjectUtils.regroupData( data );
+ List recognizedResultList;
+ recognizedResultList = AdasObjectUtils.regroupData(data);
return recognizedResultList;
- } catch ( Exception e ) {
+ } catch (Exception e) {
return null;
}
}
@Override
- public void addAdasRecognizedDataCallback( IMogoAdasRecognizedDataCallback callback ) {
- if ( callback == null ) {
+ public void addAdasRecognizedDataCallback(IMogoAdasRecognizedDataCallback callback) {
+ if (callback == null) {
return;
}
- if ( !mMogoAdasRecognizedDataCallbacks.contains( callback ) ) {
- mMogoAdasRecognizedDataCallbacks.add( callback );
+ if (!mMogoAdasRecognizedDataCallbacks.contains(callback)) {
+ mMogoAdasRecognizedDataCallbacks.add(callback);
}
}
@Override
- public void removeAdasRecognizedDataCallback( IMogoAdasRecognizedDataCallback callback ) {
- if ( callback == null ) {
+ public void removeAdasRecognizedDataCallback(IMogoAdasRecognizedDataCallback callback) {
+ if (callback == null) {
return;
}
- mMogoAdasRecognizedDataCallbacks.remove( callback );
+ mMogoAdasRecognizedDataCallbacks.remove(callback);
}
@Override
- public void setAdasCarDataCallback( IMogoAdasCarDataCallback carDataCallback ) {
+ public void setAdasCarDataCallback(IMogoAdasCarDataCallback carDataCallback) {
mMogoAdasCarDataCallback = carDataCallback;
}
@Override
- public void addAdasOCHCallback( IMogoAdasOCHCallback callback ) {
+ public void addAdasOCHCallback(IMogoAdasOCHCallback callback) {
mAdasOCHCallback = callback;
}
@@ -770,25 +812,25 @@ public class MogoADASController implements IMogoADASController {
}
@Override
- public void onAutopilotArriveLike( int carType ) {
- if ( mAdasOCHCallback != null ) {
- mAdasOCHCallback.onArriveAt( new AdasOCHData(
+ public void onAutopilotArriveLike(int carType) {
+ if (mAdasOCHCallback != null) {
+ mAdasOCHCallback.onArriveAt(new AdasOCHData(
carType,
116.09888888,
- 39.999999 )
+ 39.999999)
);
}
}
@Override
public int getAutopilotStatus() {
- if ( mockState != -2 ) {
+ if (mockState != -2) {
return mockState;
}
int status = IMogoAdasOCHCallback.STATUS_AUTOPILOT_DISABLE;
try {
status = AutopilotServiceManage.getInstance().autopilotStateCall().getState();
- } catch ( Exception e ) {
+ } catch (Exception e) {
e.printStackTrace();
}
return status;
@@ -797,15 +839,15 @@ public class MogoADASController implements IMogoADASController {
private int mockState = -2;
@Override
- public void mockOchStatus( int state, String reason ) {
- if ( state == -1 ) {
- if ( mAdasOCHCallback != null ) {
- mAdasOCHCallback.onArriveAt( new AdasOCHData( 1, 1d, 1d ) );
+ public void mockOchStatus(int state, String reason) {
+ if (state == -1) {
+ if (mAdasOCHCallback != null) {
+ mAdasOCHCallback.onArriveAt(new AdasOCHData(1, 1d, 1d));
}
} else {
mockState = state;
- if ( mAdasOCHCallback != null ) {
- mAdasOCHCallback.onStateChanged( state, reason );
+ if (mAdasOCHCallback != null) {
+ mAdasOCHCallback.onStateChanged(state, reason);
}
}
}
@@ -814,36 +856,36 @@ public class MogoADASController implements IMogoADASController {
public void cancelAutopilot() {
try {
AutopilotServiceManage.getInstance().cancelAutopilot();
- } catch ( RemoteException e ) {
+ } catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
- public void mockAdasLoc( String json ) {
- ADASCarStateInfo stateInf = GsonUtil.objectFromJson( json, ADASCarStateInfo.class );
- if ( stateInf == null ) {
+ public void mockAdasLoc(String json) {
+ ADASCarStateInfo stateInf = GsonUtil.objectFromJson(json, ADASCarStateInfo.class);
+ if (stateInf == null) {
return;
}
- if ( mMogoAdasCarDataCallback != null ) {
- mMogoAdasCarDataCallback.onAdasCarDataCallback( stateInf );
+ if (mMogoAdasCarDataCallback != null) {
+ mMogoAdasCarDataCallback.onAdasCarDataCallback(stateInf);
}
}
@Override
- public void mockAdasRecognized( List< ADASRecognizedResult > recognizedResults ) {
- if ( !mMogoAdasRecognizedDataCallbacks.isEmpty() ) {
- for ( IMogoAdasRecognizedDataCallback callback : mMogoAdasRecognizedDataCallbacks ) {
- if ( callback == null ) {
+ public void mockAdasRecognized(List recognizedResults) {
+ if (!mMogoAdasRecognizedDataCallbacks.isEmpty()) {
+ for (IMogoAdasRecognizedDataCallback callback : mMogoAdasRecognizedDataCallbacks) {
+ if (callback == null) {
continue;
}
- callback.onAdasDataCallback( recognizedResults );
+ callback.onAdasDataCallback(recognizedResults);
}
}
}
@Override
- public void mockAdasRecognized( String json ) {
- mAutopolitDataCallBack.cameraEyeDetectResult( json );
+ public void mockAdasRecognized(String json) {
+ mAdasDataListener.cameraEyeDetectResult(json);
}
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/connection/MogoSocketManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/connection/MogoSocketManager.java
index 3267279738..261d77a924 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/connection/MogoSocketManager.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/connection/MogoSocketManager.java
@@ -3,11 +3,11 @@ package com.mogo.service.impl.connection;
import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.cloud.socket.entity.MsgBody;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.connection.IMogoMsgAckListener;
import com.mogo.service.connection.IMogoOnMessageListener;
import com.mogo.service.connection.IMogoSocketManager;
-import com.mogo.service.connection.MsgBody;
import com.mogo.utils.logger.Logger;
import java.lang.reflect.Method;
@@ -53,7 +53,7 @@ public class MogoSocketManager implements IMogoSocketManager {
}
@Override
- public void sendMsg( MsgBody body, IMogoMsgAckListener listener ) {
+ public void sendMsg(MsgBody body, IMogoMsgAckListener listener ) {
if ( mDelegate != null ) {
mDelegate.sendMsg( body, listener );
}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/intent/IntentManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/intent/IntentManager.java
index d001579a19..be40cc27ed 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/intent/IntentManager.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/intent/IntentManager.java
@@ -73,7 +73,7 @@ public class IntentManager implements IMogoIntentManager {
@Override
public void invoke( String command, Intent intent ) {
- List< IMogoIntentListener > listeners = mListeners.get( command );
+ CopyOnWriteArrayList< IMogoIntentListener > listeners = mListeners.get( command );
if ( listeners != null && !listeners.isEmpty() ) {
Iterator< IMogoIntentListener > iterator = listeners.iterator();
while ( iterator.hasNext() ) {
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
index 34181e7e32..42aa23f9a3 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java
@@ -169,6 +169,7 @@ public class MogoStatusManager implements IMogoStatusManager {
@Override
public void setVrMode(String tag, boolean vrMode) {
+ Log.d("liyz", "setVrMode --------> ");
doSetStatus(tag, StatusDescriptor.VR_MODE, vrMode);
}
diff --git a/settings.gradle b/settings.gradle
index 2df7d09d03..9a79d7e08c 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,4 @@
+include ':modules:mogo-module-adas'
include ':foudations:mogo-aicloud-services-sdk'
include ':foudations:mogo-aicloud-services-apk'
include ':foudations:httpdns-mogo'
diff --git a/test/crashreport-bugly/src/main/java/com/mogo/test/crashreport/bugly/BuglyCrashReportProvider.java b/test/crashreport-bugly/src/main/java/com/mogo/test/crashreport/bugly/BuglyCrashReportProvider.java
index 080dee7f9a..6e82db9a8b 100644
--- a/test/crashreport-bugly/src/main/java/com/mogo/test/crashreport/bugly/BuglyCrashReportProvider.java
+++ b/test/crashreport-bugly/src/main/java/com/mogo/test/crashreport/bugly/BuglyCrashReportProvider.java
@@ -4,6 +4,7 @@ import android.content.Context;
import android.text.TextUtils;
import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.Utils;
import com.mogo.test.crashreport.CrashReportConstants;
import com.mogo.test.crashreport.ITestCrashReportProvider;
@@ -34,7 +35,7 @@ class BuglyCrashReportProvider implements ITestCrashReportProvider {
CrashReport.UserStrategy strategy = new CrashReport.UserStrategy( context );
strategy.setUploadProcess( processName == null || processName.equals( packageName ) );
CrashReport.initCrashReport( context, "f3f8b0b2f1", true, strategy );
- CrashReport.putUserData( context, "serial", Utils.getSn() );
+ CrashReport.putUserData( context, "serial", MoGoAiCloudClientConfig.getInstance().getSn() );
}
/**
diff --git a/test/crashreport-upgrade/src/main/java/com/mogo/test/crashreport/upgrade/UpgradeReportProvider.java b/test/crashreport-upgrade/src/main/java/com/mogo/test/crashreport/upgrade/UpgradeReportProvider.java
index 18eb9acfce..d510835ac5 100644
--- a/test/crashreport-upgrade/src/main/java/com/mogo/test/crashreport/upgrade/UpgradeReportProvider.java
+++ b/test/crashreport-upgrade/src/main/java/com/mogo/test/crashreport/upgrade/UpgradeReportProvider.java
@@ -5,6 +5,7 @@ import android.text.TextUtils;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.facade.template.IProvider;
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.network.Utils;
import com.mogo.utils.logger.Logger;
import com.tencent.bugly.Bugly;
@@ -37,7 +38,7 @@ public class UpgradeReportProvider implements IProvider {
strategy.setUploadProcess(processName == null || processName.equals(packageName));
- CrashReport.putUserData(context, "serial", Utils.getSn());
+ CrashReport.putUserData(context, "serial", MoGoAiCloudClientConfig.getInstance().getSn());
Bugly.init(context, "f3f8b0b2f1", true, strategy);
}