From 13b134f3a949b3cea5894581d6c5a249c17c854d Mon Sep 17 00:00:00 2001 From: suyong Date: Tue, 11 May 2021 14:30:04 +0800 Subject: [PATCH] =?UTF-8?q?adas=E6=95=B0=E6=8D=AE=E9=80=9A=E8=B7=AF?= =?UTF-8?q?=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 2 +- modules/mogo-module-adas/build.gradle | 2 +- ...enerAdapter.java => AdasDataListener.java} | 44 ++++- .../mogo/module/adas/AdasEventManager.java | 91 +++++++--- .../com/mogo/module/adas/AdasProvider.java | 7 +- .../mogo/module/adas/WarnMessageModel.java | 31 ++++ .../service/impl/adas/MogoADASController.java | 164 +++++++++++++++++- .../impl/adas/OnAdasListenerAdapter.java | 1 - 8 files changed, 301 insertions(+), 41 deletions(-) rename modules/mogo-module-adas/src/main/java/com/mogo/module/adas/{AdasListenerAdapter.java => AdasDataListener.java} (51%) create mode 100644 modules/mogo-module-adas/src/main/java/com/mogo/module/adas/WarnMessageModel.java diff --git a/config.gradle b/config.gradle index 323c9b974a..ffb6655a0b 100644 --- a/config.gradle +++ b/config.gradle @@ -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}", ] } \ No newline at end of file diff --git a/modules/mogo-module-adas/build.gradle b/modules/mogo-module-adas/build.gradle index bf4074dd9f..cacf6404ca 100644 --- a/modules/mogo-module-adas/build.gradle +++ b/modules/mogo-module-adas/build.gradle @@ -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)) { diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasListenerAdapter.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasDataListener.java similarity index 51% rename from modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasListenerAdapter.java rename to modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasDataListener.java index a0db14063d..f32aa8f0f3 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasListenerAdapter.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasDataListener.java @@ -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 ownerCarStateRectList ) { + } +/* public void onWarnMessage(WarnMessageInfo warnMessageInfo) { }; @@ -49,5 +89,5 @@ public abstract class AdasListenerAdapter implements OnAdasListener { public void autopilotArrive(AutopilotWayArrive autopilotWayArrive) { - }; + };*/ } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java index 9071feb282..559b83797c 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasEventManager.java @@ -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 iAdasEventListeners; + + private Gson gson; + + private ArrayList iAdasEventListeners; private ArrayList 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(); + iAdasEventListeners = new ArrayList(); } 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); + } + } + } } } } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java index cbc909f35c..96e9e280a1 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java @@ -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); } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/WarnMessageModel.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/WarnMessageModel.java new file mode 100644 index 0000000000..451c20d381 --- /dev/null +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/WarnMessageModel.java @@ -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; + } +} 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 256973c0e0..1e57e4f15d 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 @@ -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 ); } } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/OnAdasListenerAdapter.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/OnAdasListenerAdapter.java index e50c9ed60e..9e878c3d5d 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/OnAdasListenerAdapter.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/OnAdasListenerAdapter.java @@ -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;