adas数据通路完善
This commit is contained in:
@@ -240,7 +240,7 @@ ext {
|
||||
mogoaicloudlive : "com.mogo.cloud:live:${MOGO_LIVE_VERSION}",
|
||||
mogoaicloudrealtime : "com.mogo.cloud:realtime:${MOGO_REALTIME_VERSION}",
|
||||
mogoaicloudtanlu : "com.mogo.cloud:tanlu:${MOGO_TANLU_VERSION}",
|
||||
mogoaicloudtrafficlive : "com.zhidao.support.adas:high:${MOGO_ADASHIGH_VERSION}"
|
||||
mogoaicloudtrafficlive : "com.mogo.cloud:trafficlive:${MOGO_TRAFFICLIVE_VERSION}",
|
||||
]
|
||||
|
||||
}
|
||||
@@ -45,7 +45,7 @@ dependencies {
|
||||
// 现有的ADAS的通讯SDK,需要将里面的东西融合到我们项目中
|
||||
compileOnly rootProject.ext.dependencies.adasapi
|
||||
|
||||
api "com.zhidao.support.adas:high:1.1.5.9"
|
||||
api "com.zhidao.support.adas:high:1.1.7.4"
|
||||
|
||||
annotationProcessor rootProject.ext.dependencies.aroutercompiler
|
||||
if (Boolean.valueOf(RELEASE)) {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
package com.mogo.module.adas;
|
||||
|
||||
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.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotStatus;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotWayArrive;
|
||||
@@ -10,11 +14,47 @@ import com.zhidao.support.adas.high.bean.ObstaclesInfo;
|
||||
import com.zhidao.support.adas.high.bean.RectInfo;
|
||||
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by XuYong on 2021/4/25 16:52
|
||||
*/
|
||||
public abstract class AdasListenerAdapter implements OnAdasListener {
|
||||
public abstract class AdasDataListener {
|
||||
public void sendMsg( String msg ) {
|
||||
|
||||
}
|
||||
|
||||
public void cameraEyeDetectResult( String detectResult ) {
|
||||
}
|
||||
|
||||
public void selectCarModelUrl( String carStyleUrl ) {
|
||||
}
|
||||
|
||||
public void requestGetCarModelListInfo() {
|
||||
}
|
||||
|
||||
public void clickSettingBack() {
|
||||
}
|
||||
|
||||
public void showToast( String msg ) {
|
||||
|
||||
}
|
||||
|
||||
public void autopilotArrive( AdasAIDLAutopilotArriveModel autopilotArriveModel ) {
|
||||
}
|
||||
|
||||
public void ownerCarStateInfo( String ownerCarStateInfo ) {
|
||||
}
|
||||
|
||||
public void notifyOwnerCarState( AdasAIDLOwnerCarStateModel ownerCarStateModel ) {
|
||||
}
|
||||
|
||||
public void notifyAutopilotState( AdasAIDLAutopilotStateModel autopilotStateModel ) {
|
||||
}
|
||||
|
||||
public void notifyOwnerCarRect( List<AdasAIDLOwnerCarRectModel> ownerCarStateRectList ) {
|
||||
}
|
||||
/*
|
||||
public void onWarnMessage(WarnMessageInfo warnMessageInfo) {
|
||||
|
||||
};
|
||||
@@ -49,5 +89,5 @@ public abstract class AdasListenerAdapter implements OnAdasListener {
|
||||
|
||||
public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) {
|
||||
|
||||
};
|
||||
};*/
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
package com.mogo.module.adas;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.mogo.utils.network.utils.GsonUtil;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel;
|
||||
import com.zhidao.autopilotservice.model.AdasAIDLAutopilotStateModel;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.OnAdasMsgConnectStatusListener;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotStatus;
|
||||
@@ -11,6 +15,7 @@ import com.zhidao.support.adas.high.bean.LightStatueInfo;
|
||||
import com.zhidao.support.adas.high.bean.ObstaclesInfo;
|
||||
import com.zhidao.support.adas.high.bean.RectInfo;
|
||||
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
|
||||
import com.zhidao.support.adas.high.common.MsgActionType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -20,18 +25,25 @@ import java.util.ArrayList;
|
||||
public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusListener {
|
||||
|
||||
private final String TAG = "AdasEventManager";
|
||||
private ArrayList<AdasListenerAdapter> iAdasEventListeners;
|
||||
|
||||
private Gson gson;
|
||||
|
||||
private ArrayList<AdasDataListener> iAdasEventListeners;
|
||||
private ArrayList<AdasStatusListener> iAdasStatusListeners;
|
||||
|
||||
public void addEventListener(AdasListenerAdapter listener) {
|
||||
public AdasEventManager() {
|
||||
gson = GsonUtil.getGson();
|
||||
}
|
||||
|
||||
public void addEventListener(AdasDataListener listener) {
|
||||
Logger.d(TAG,"添加adas事件监听");
|
||||
if (iAdasEventListeners == null) {
|
||||
iAdasEventListeners = new ArrayList<AdasListenerAdapter>();
|
||||
iAdasEventListeners = new ArrayList<AdasDataListener>();
|
||||
}
|
||||
iAdasEventListeners.add(listener);
|
||||
}
|
||||
|
||||
public void removeEventListener(AdasListenerAdapter listener) {
|
||||
public void removeEventListener(AdasDataListener listener) {
|
||||
Logger.d(TAG,"注销adas事件监听");
|
||||
if (iAdasEventListeners != null && iAdasEventListeners.contains(listener)) {
|
||||
iAdasEventListeners.remove(listener);
|
||||
@@ -56,9 +68,16 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onWarnMessage(WarnMessageInfo warnMessageInfo) {
|
||||
Logger.d(TAG,"onWarnMessage");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
//报警model
|
||||
WarnMessageModel warnMessageModel = null;
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onWarnMessage(warnMessageInfo);
|
||||
if (warnMessageModel == null) {
|
||||
warnMessageModel = new WarnMessageModel();
|
||||
warnMessageModel.setAction(MsgActionType.ACTION_WS_MSG_WARNING_TYPE.getmActionType());
|
||||
}
|
||||
warnMessageModel.setValues(warnMessageInfo);
|
||||
listener.cameraEyeDetectResult(gson.toJson(warnMessageModel));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -66,9 +85,8 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onVideoSize(int width, int height) {
|
||||
Logger.d(TAG,"onVideoSize");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onVideoSize(width, height);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -76,9 +94,10 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onRectData(RectInfo rectInfo) {
|
||||
Logger.d(TAG,"onRectData");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onRectData(rectInfo);
|
||||
listener.cameraEyeDetectResult(gson.toJson(rectInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -86,9 +105,9 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onCarStateData(CarStateInfo carStateInfo) {
|
||||
Logger.d(TAG,"onCarStateData");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onCarStateData(carStateInfo);
|
||||
listener.ownerCarStateInfo(gson.toJson(carStateInfo));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -96,9 +115,8 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onLightStateData(LightStatueInfo lightStatueInfo) {
|
||||
Logger.d(TAG,"onLightStateData");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onLightStateData(lightStatueInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -106,9 +124,8 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onObstaclesInfo(ObstaclesInfo obstaclesInfo) {
|
||||
Logger.d(TAG,"onObstaclesInfo");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onObstaclesInfo(obstaclesInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -116,28 +133,54 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
|
||||
@Override
|
||||
public void onCarLaneInfo(CarLaneInfo carLaneInfo) {
|
||||
Logger.d(TAG,"onCarLaneInfo");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.onCarLaneInfo(carLaneInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autopilotStatus(AutopilotStatus autopilotStatus) {
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.autopilotStatus(autopilotStatus);
|
||||
AutopilotStatus.ValuesBean autopilotStatusValues = autopilotStatus.getValues();
|
||||
AutopilotStatus.ValuesBean mAutopilotStatus;
|
||||
|
||||
|
||||
if (autopilotStatusValues != null) {
|
||||
AdasAIDLAutopilotStateModel adasAIDLAutopilotStateModel=new AdasAIDLAutopilotStateModel();
|
||||
adasAIDLAutopilotStateModel.setReason(autopilotStatusValues.getReason());
|
||||
mAutopilotStatus = autopilotStatusValues;
|
||||
int state = autopilotStatusValues.getState();
|
||||
float speed = autopilotStatusValues.getSpeed();
|
||||
adasAIDLAutopilotStateModel.setState(state);
|
||||
adasAIDLAutopilotStateModel.setSpeed(speed);
|
||||
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.notifyAutopilotState(adasAIDLAutopilotStateModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) {
|
||||
Logger.d(TAG,"autopilotArrive");
|
||||
for (AdasListenerAdapter listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.autopilotArrive(autopilotWayArrive);
|
||||
if (autopilotWayArrive != null) {
|
||||
AutopilotWayArrive.ResultBean result = autopilotWayArrive.getResult();
|
||||
if (result != null) {
|
||||
AutopilotWayArrive.ResultBean.EndLatLonBean endLatLon = result.getEndLatLon();
|
||||
if (endLatLon != null) {
|
||||
AdasAIDLAutopilotArriveModel adasAIDLAutopilotArriveModel = new AdasAIDLAutopilotArriveModel();
|
||||
adasAIDLAutopilotArriveModel.setCarType(result.getCarType());
|
||||
adasAIDLAutopilotArriveModel.setLat(endLatLon.getLat());
|
||||
adasAIDLAutopilotArriveModel.setLon(endLatLon.getLon());
|
||||
for (AdasDataListener listener:iAdasEventListeners) {
|
||||
if (listener != null) {
|
||||
listener.autopilotArrive(adasAIDLAutopilotArriveModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.mogo.service.MogoServicePaths;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
import com.zhidao.support.adas.high.AdasManager;
|
||||
|
||||
|
||||
/**
|
||||
* ADAS 模块
|
||||
*
|
||||
@@ -22,7 +23,7 @@ public class AdasProvider implements IProvider {
|
||||
|
||||
@Override
|
||||
public void init(Context context) {
|
||||
Logger.d(TAG, "初始化 ADAS 模块");
|
||||
Logger.d(TAG, "初始化 AdasProvider 模块");
|
||||
|
||||
adasEventManager = new AdasEventManager();
|
||||
initAdas(context, adasEventManager);
|
||||
@@ -34,11 +35,11 @@ public class AdasProvider implements IProvider {
|
||||
AdasManager.getInstance().setOnAdasConnectStatusListener(adasEventManager);
|
||||
}
|
||||
|
||||
public void addAdasEventListener(AdasListenerAdapter listener) {
|
||||
public void addAdasEventListener(AdasDataListener listener) {
|
||||
adasEventManager.addEventListener(listener);
|
||||
}
|
||||
|
||||
public void removeAdasEventListener(AdasListenerAdapter listener) {
|
||||
public void removeAdasEventListener(AdasDataListener listener) {
|
||||
adasEventManager.removeEventListener(listener);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.mogo.module.adas;
|
||||
|
||||
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
|
||||
|
||||
/**
|
||||
* @author nie yunlong
|
||||
* @des
|
||||
* @date 2020/10/22
|
||||
*/
|
||||
public class WarnMessageModel {
|
||||
|
||||
private String action;
|
||||
|
||||
private WarnMessageInfo values;
|
||||
|
||||
public String getAction() {
|
||||
return action;
|
||||
}
|
||||
|
||||
public void setAction(String action) {
|
||||
this.action = action;
|
||||
}
|
||||
|
||||
public WarnMessageInfo getValues() {
|
||||
return values;
|
||||
}
|
||||
|
||||
public void setValues(WarnMessageInfo values) {
|
||||
this.values = values;
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ 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.module.adas.AdasListenerAdapter;
|
||||
import com.mogo.module.adas.AdasDataListener;
|
||||
import com.mogo.module.adas.AdasProvider;
|
||||
import com.mogo.module.adas.AdasStatusListener;
|
||||
import com.mogo.realtime.entity.ADASRecognizedResult;
|
||||
@@ -48,12 +48,12 @@ 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.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.bean.RectInfo;
|
||||
import com.zhidao.support.adas.high.bean.WarnMessageInfo;
|
||||
import com.zhidao.support.adas.high.msg.MyMessageFactory;
|
||||
@@ -94,7 +94,8 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
private boolean mIsReleased = true;
|
||||
|
||||
private IAutopolitDataCallBack mAutopolitDataCallBack;
|
||||
//private IAutopolitDataCallBack mAutopolitDataCallBack;
|
||||
private AdasDataListener mAdasDataListener;
|
||||
|
||||
/**
|
||||
* 获取adas前车距离
|
||||
@@ -123,9 +124,9 @@ public class MogoADASController implements IMogoADASController {
|
||||
public void handleMessage( Message msg ) {
|
||||
super.handleMessage( msg );
|
||||
if ( msg.obj instanceof List ) {
|
||||
mAutopolitDataCallBack.notifyOwnerCarRect( ( List< AdasAIDLOwnerCarRectModel > ) msg.obj );
|
||||
mAdasDataListener.notifyOwnerCarRect( ( List< AdasAIDLOwnerCarRectModel > ) msg.obj );
|
||||
} else if(msg.obj == null ){
|
||||
mAutopolitDataCallBack.notifyOwnerCarRect( null );
|
||||
mAdasDataListener.notifyOwnerCarRect( null );
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -158,8 +159,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
};
|
||||
|
||||
//private final OnAdasListener mOnAdasListener = new OnAdasListenerAdapter() {
|
||||
private final AdasListenerAdapter mOnAdasListener = new AdasListenerAdapter() {
|
||||
private final OnAdasListener mOnAdasListener = new OnAdasListenerAdapter() {
|
||||
|
||||
@Override
|
||||
public void onRectData( RectInfo rectInfo ) {
|
||||
@@ -325,6 +325,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
} );*/
|
||||
invokeShowADASOperation();
|
||||
|
||||
/*
|
||||
if ( mAutopolitDataCallBack == null ) {
|
||||
mAutopolitDataCallBack = new IAutopolitDataCallBack() {
|
||||
@Override
|
||||
@@ -468,6 +469,151 @@ public class MogoADASController implements IMogoADASController {
|
||||
}
|
||||
};
|
||||
AutopilotServiceManage.getInstance().registerAutopilotDataListener( mAutopolitDataCallBack );
|
||||
*/
|
||||
|
||||
if ( mAdasDataListener == null ) {
|
||||
mAdasDataListener = new AdasDataListener() {
|
||||
@Override
|
||||
public void sendMsg( String msg ) {
|
||||
for ( IMogoAdasDataCallback callback : mAdasDataCallbackList ) {
|
||||
try {
|
||||
callback.onAdasDataCallback( msg );
|
||||
} catch ( Exception e ) {
|
||||
Logger.e( TAG, e, "sendMsg" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cameraEyeDetectResult( String detectResult ) {
|
||||
|
||||
try {
|
||||
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 ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
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 );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void 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 );
|
||||
}
|
||||
// 此处进行网络请求,请求成功后再通知一次adas
|
||||
requestCarModelList();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clickSettingBack() {
|
||||
if ( needEmphasizeMyLocation ) {
|
||||
SingletonsHolder.get( IMogoDataManager.class ).syncData( "ADAS", null );
|
||||
}
|
||||
needEmphasizeMyLocation = false;
|
||||
|
||||
useTestSn = !useTestSn;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showToast( String msg ) {
|
||||
UiThreadHandler.post( () -> TipToast.tip( msg ) );
|
||||
}
|
||||
|
||||
@Override
|
||||
public void autopilotArrive( AdasAIDLAutopilotArriveModel autopilotArriveModel ) {
|
||||
if ( autopilotArriveModel == null ) {
|
||||
return;
|
||||
}
|
||||
if ( mAdasOCHCallback != null ) {
|
||||
mAdasOCHCallback.onArriveAt( new AdasOCHData(
|
||||
autopilotArriveModel.getCarType(),
|
||||
autopilotArriveModel.getLon(),
|
||||
autopilotArriveModel.getLat() )
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void ownerCarStateInfo( String ownerCarStateInfo ) {
|
||||
Message message = mAdasLocationRecHandler.obtainMessage();
|
||||
message.obj = ownerCarStateInfo;
|
||||
message.sendToTarget();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyOwnerCarState( AdasAIDLOwnerCarStateModel ownerCarStateModel ) {
|
||||
ADASCarStateInfo stateInf = new ADASCarStateInfo();
|
||||
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 );
|
||||
mLastLon = ownerCarStateModel.getLon();
|
||||
mLastLat = ownerCarStateModel.getLat();
|
||||
mSpeed = ownerCarStateModel.getGnss_speed();
|
||||
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() );
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyOwnerCarRect( List< AdasAIDLOwnerCarRectModel > ownerCarStateRectList ) {
|
||||
// 物体识别返回
|
||||
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() ) {
|
||||
return;
|
||||
}
|
||||
if ( !SingletonsHolder.get( IMogoStatusManager.class ).isMainPageLaunched() ) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
handleAdasRecognizedData( ownerCarStateRectList );
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
Logger.i( "ADAS-REC-timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
|
||||
}
|
||||
};
|
||||
adasProvider.addAdasEventListener(mAdasDataListener);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -693,7 +839,7 @@ public class MogoADASController implements IMogoADASController {
|
||||
@Override
|
||||
public void release() {
|
||||
mIsReleased = true;
|
||||
AutopilotServiceManage.getInstance().unRegisterAutopilotDataListener( mAutopolitDataCallBack );
|
||||
//AutopilotServiceManage.getInstance().unRegisterAutopilotDataListener( mAutopolitDataCallBack );
|
||||
AutopilotServiceManage.getInstance().release();
|
||||
}
|
||||
|
||||
@@ -861,6 +1007,6 @@ public class MogoADASController implements IMogoADASController {
|
||||
|
||||
@Override
|
||||
public void mockAdasRecognized( String json ) {
|
||||
mAutopolitDataCallBack.cameraEyeDetectResult( json );
|
||||
mAdasDataListener.cameraEyeDetectResult( json );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package com.mogo.service.impl.adas;
|
||||
|
||||
import com.mogo.module.adas.AdasListenerAdapter;
|
||||
import com.zhidao.support.adas.high.OnAdasListener;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotStatus;
|
||||
import com.zhidao.support.adas.high.bean.AutopilotWayArrive;
|
||||
|
||||
Reference in New Issue
Block a user