diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java index af01af3462..76d8372832 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/OCHTaxiFragment.java @@ -25,7 +25,6 @@ import com.mogo.och.taxi.OCHTaxiOverlayManager; import com.mogo.och.taxi.R; import com.mogo.och.view.SlidePanelView; import com.mogo.service.adas.IMogoAdasOCHCallback; -import com.mogo.service.adas.IMogoAdasRouteCallBack; import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; @@ -46,7 +45,6 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i IMogoOCHTaxiArriveCallback, IMogoADASAutoPilotStatusChangedListener, IOperationChangedListener, - IMogoAdasRouteCallBack, IMogoAdasOCHCallback, IMogoCarLocationChangedListener2 { @@ -118,7 +116,6 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i .getApis() .getRegisterCenterApi() .registerCarLocationChangedListener( TAG, this ); - MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasAutopilotRouteCallBack(this); } @NonNull @@ -363,17 +360,6 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i OCHTaxiUiController.getInstance().runOnUIThread( () -> { calculateTravelDistance( location ); } ); - //坐标转换 - MogoLocation loc = new MogoLocation(); - loc.setTime(loc.getTime()); - loc.setAccuracy(location.getAccuracy()); - loc.setSpeed(location.getSpeed()); - loc.setLongitude(location.getLongitude()); - loc.setLatitude(location.getLatitude()); - loc.setAltitude(location.getAltitude()); - loc.setBearing(location.getBearing()); - loc.setProvider(location.getProvider()); - drawRouteOverlay(loc); } /** @@ -476,26 +462,7 @@ class OCHTaxiFragment extends BaseOchFragment< OCHTaxiView, OCHTaxiPresenter > i updateOrderStatus(); }); } - private OCHTaxiOverlayManager ochTaxiOverlayManager; - private List mRouteList; - @Override - public void routeResult(List routeList) { - mRouteList = routeList; - } - private void drawRouteOverlay(MogoLocation location){ - if (mRouteList == null && ochTaxiOverlayManager!= null){ - ochTaxiOverlayManager.clearMogoRouteOverlay(); - return; - } - if (mRouteList.size() >0){ - //adas回调导航路径 绘制引导线 - if ( ochTaxiOverlayManager == null){ - ochTaxiOverlayManager = new OCHTaxiOverlayManager(this.getContext()); - } - ochTaxiOverlayManager.draw(location,mRouteList); - } - } public double calculateTravelDistance(MogoLocation carLocation,List routeList){ List mPolylinePointList = new ArrayList<>(); diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java index 58e205e5d5..def85b93d9 100644 --- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java +++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/adapter/MoGoAutopilotStatusListenerImpl.java @@ -5,14 +5,13 @@ import androidx.annotation.Nullable; import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo; import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo; -import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; -import java.util.List; +import java.util.ArrayList; /** * @author xiaoyuzhou @@ -21,7 +20,7 @@ import java.util.List; public class MoGoAutopilotStatusListenerImpl implements IMoGoAutopilotStatusListener { @Override public void onAutopilotStatusResponse(@NonNull AutopilotStatusInfo autoPilotStatusInfo) { - + } @Override @@ -34,10 +33,6 @@ public class MoGoAutopilotStatusListenerImpl implements IMoGoAutopilotStatusList } - @Override - public void onAutopilotRoute(@Nullable AutopilotRouteInfo autopilotRoute) { - - } @Override public void onAutopilotSNRequest() { @@ -50,7 +45,7 @@ public class MoGoAutopilotStatusListenerImpl implements IMoGoAutopilotStatusList } @Override - public void onAutopilotIdentifyDataUpdate(@Nullable List trafficData) { + public void onAutopilotIdentifyDataUpdate(@Nullable ArrayList trafficData) { } @@ -58,4 +53,5 @@ public class MoGoAutopilotStatusListenerImpl implements IMoGoAutopilotStatusList public void onAutopilotWarnMessage(@Nullable AutopilotWarnMessage autopilotWarnMessage) { } + } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt index f2a2a49c08..06469471be 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt @@ -3,7 +3,6 @@ package com.mogo.eagle.core.function.hmi.ui.setting import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater -import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import com.mogo.cloud.passport.MoGoAiCloudClient import com.mogo.commons.AbsMogoApplication @@ -24,12 +23,12 @@ import com.mogo.eagle.core.utilcode.util.AppUtils import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.map.MogoMap -import com.mogo.service.statusmanager.StatusDescriptor import com.mogo.utils.DeviceIdUtils import com.mogo.utils.UiThreadHandler import com.mogo.utils.network.utils.GsonUtil import com.mogo.utils.storage.SharedPrefsMgr import kotlinx.android.synthetic.main.view_debug_setting.view.* +import java.util.* /** * @author xiaoyuzhou @@ -185,10 +184,6 @@ class DebugSettingView @JvmOverloads constructor( } - override fun onAutopilotRoute(autopilotRoute: AutopilotRouteInfo?) { - - } - override fun onAutopilotSNRequest() { } @@ -197,7 +192,7 @@ class DebugSettingView @JvmOverloads constructor( } - override fun onAutopilotIdentifyDataUpdate(trafficData: List?) { + override fun onAutopilotIdentifyDataUpdate(trafficData: ArrayList?) { } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java index 6acde9cd90..f6d69a53ee 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedChartView.java @@ -1,6 +1,5 @@ package com.mogo.eagle.core.function.hmi.ui.widget; -import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; diff --git a/core/function-impl/mogo-core-function-smp/build.gradle b/core/function-impl/mogo-core-function-smp/build.gradle index 368e5d33af..d2781dd354 100644 --- a/core/function-impl/mogo-core-function-smp/build.gradle +++ b/core/function-impl/mogo-core-function-smp/build.gradle @@ -64,6 +64,7 @@ dependencies { implementation project(':core:mogo-core-res') implementation project(':core:mogo-core-data') + implementation project(':core:mogo-core-function-call') } } diff --git a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java index ea1e9025c8..cecc15b02e 100644 --- a/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java +++ b/core/function-impl/mogo-core-function-smp/src/main/java/com/mogo/eagle/core/function/smp/SmallMapProvider.java @@ -10,14 +10,18 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.map.MogoLatLng; -import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; -import com.mogo.module.common.MogoApisHandler; +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; +import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.service.adas.IMogoAdasRouteCallBack; +import com.mogo.eagle.core.data.map.MogoLatLng; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; +import com.mogo.eagle.core.function.api.map.smp.IMogoSmallMapProvider; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; +import com.mogo.module.common.MogoApisHandler; import com.mogo.service.statusmanager.IMogoStatusChangedListener; import com.mogo.service.statusmanager.StatusDescriptor; +import java.util.ArrayList; import java.util.List; /** @@ -25,7 +29,7 @@ import java.util.List; * @date 12/10/20 1:34 PM */ @Route(path = MogoServicePaths.PATH_SMALL_MAP) -public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChangedListener, IMogoAdasRouteCallBack { +public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChangedListener, IMoGoAutopilotPlanningListener { private final String TAG = "SmallMapProvider"; private Context mContext; @@ -40,7 +44,7 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang mActivity = activity; mContainerId = containerId; SmpServiceManager.init(mActivity); - MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasAutopilotRouteCallBack(this); + CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, this); } @Override @@ -85,7 +89,7 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang Log.d(TAG, "准备show fragment"); mActivity.getSupportFragmentManager().beginTransaction().show(mSmallMapFragment).commitAllowingStateLoss(); } catch (Exception e) { - Log.d(TAG, "add fragment 失败 ======"+e.getMessage()); + Log.d(TAG, "add fragment 失败 ======" + e.getMessage()); e.printStackTrace(); } } @@ -130,15 +134,6 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang } } - @Override - public void routeResult(List routeList) { - Log.e("lianglihui","SmallMapProvider"); - if (routeList != null && routeList.size() > 0) { - drawablePolyline(routeList); - } else { - clearPolyline(); - } - } @Nullable @Override @@ -154,6 +149,28 @@ public class SmallMapProvider implements IMogoSmallMapProvider, IMogoStatusChang @Override public void onDestroy() { + CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(TAG); + } + + @Override + public void onAutopilotTrajectory(ArrayList trajectoryInfos) { } + + @Override + public void onAutopilotRotting(AutopilotRouteInfo routeList) { + if (routeList.getModels() == null || routeList.getModels().size() == 0) { + return; + } + List latLngList = new ArrayList<>(); + for (AutopilotRouteInfo.RouteModels routeModel : routeList.getModels()) { + latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon())); + } + Log.e(TAG, "routeResult:" + latLngList.size()); + if (latLngList.size() > 0) { + drawablePolyline(latLngList); + } else { + clearPolyline(); + } + } } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASTrajectoryInfo.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/ADASTrajectoryInfo.java similarity index 93% rename from services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASTrajectoryInfo.java rename to core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/ADASTrajectoryInfo.java index 57fe187bd4..025c0007bf 100644 --- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/entity/ADASTrajectoryInfo.java +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/autopilot/ADASTrajectoryInfo.java @@ -1,115 +1,115 @@ -package com.mogo.service.adas.entity; - - -/** - * @author song kenan - * @des - * @date 2021/10/21 - */ -public class ADASTrajectoryInfo { - //经度 - private Double lon; - //纬度 - private Double lat; - //高度 - private Double alt; - //时间 秒s - private Double time; - //速度 m/s - private Double velocity; - //加速度 - private Double acceleration; - //速度方向 - private Double theta; - //曲率 - private Double kappa; - //从起点到目前的总距离 - private Double accumulatedDis; - - public void setLon(Double lon) { - this.lon = lon; - } - - public void setLat(Double lat) { - this.lat = lat; - } - - public void setAlt(Double alt) { - this.alt = alt; - } - - public void setTime(Double time) { - this.time = time; - } - - public void setVelocity(Double velocity) { - this.velocity = velocity; - } - - public void setAcceleration(Double acceleration) { - this.acceleration = acceleration; - } - - public void setTheta(Double theta) { - this.theta = theta; - } - - public void setKappa(Double kappa) { - this.kappa = kappa; - } - - public void setAccumulatedDis(Double accumulatedDis) { - this.accumulatedDis = accumulatedDis; - } - - public Double getLon() { - return lon; - } - - public Double getLat() { - return lat; - } - - public Double getAlt() { - return alt; - } - - public Double getTime() { - return time; - } - - public Double getVelocity() { - return velocity; - } - - public Double getAcceleration() { - return acceleration; - } - - public Double getTheta() { - return theta; - } - - public Double getKappa() { - return kappa; - } - - public Double getAccumulatedDis() { - return accumulatedDis; - } - - @Override - public String toString() { - return "TrajectoryModels{" + - "lon=" + lon + - ", lat=" + lat + - ", alt=" + alt + - ", time='" + time + '\'' + - ", velocity=" + velocity + - ", acceleration=" + acceleration + - ", theta=" + theta + - ", kappa=" + kappa + - ", accumulatedDis=" + accumulatedDis + - '}'; - } -} +package com.mogo.eagle.core.data.autopilot; + + +/** + * @author song kenan + * @des + * @date 2021/10/21 + */ +public class ADASTrajectoryInfo { + //经度 + private Double lon; + //纬度 + private Double lat; + //高度 + private Double alt; + //时间 秒s + private Double time; + //速度 m/s + private Double velocity; + //加速度 + private Double acceleration; + //速度方向 + private Double theta; + //曲率 + private Double kappa; + //从起点到目前的总距离 + private Double accumulatedDis; + + public void setLon(Double lon) { + this.lon = lon; + } + + public void setLat(Double lat) { + this.lat = lat; + } + + public void setAlt(Double alt) { + this.alt = alt; + } + + public void setTime(Double time) { + this.time = time; + } + + public void setVelocity(Double velocity) { + this.velocity = velocity; + } + + public void setAcceleration(Double acceleration) { + this.acceleration = acceleration; + } + + public void setTheta(Double theta) { + this.theta = theta; + } + + public void setKappa(Double kappa) { + this.kappa = kappa; + } + + public void setAccumulatedDis(Double accumulatedDis) { + this.accumulatedDis = accumulatedDis; + } + + public Double getLon() { + return lon; + } + + public Double getLat() { + return lat; + } + + public Double getAlt() { + return alt; + } + + public Double getTime() { + return time; + } + + public Double getVelocity() { + return velocity; + } + + public Double getAcceleration() { + return acceleration; + } + + public Double getTheta() { + return theta; + } + + public Double getKappa() { + return kappa; + } + + public Double getAccumulatedDis() { + return accumulatedDis; + } + + @Override + public String toString() { + return "TrajectoryModels{" + + "lon=" + lon + + ", lat=" + lat + + ", alt=" + alt + + ", time='" + time + '\'' + + ", velocity=" + velocity + + ", acceleration=" + acceleration + + ", theta=" + theta + + ", kappa=" + kappa + + ", accumulatedDis=" + accumulatedDis + + '}'; + } +} diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPlanningListener.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPlanningListener.java new file mode 100644 index 0000000000..a65bf3b57e --- /dev/null +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotPlanningListener.java @@ -0,0 +1,27 @@ +package com.mogo.eagle.core.function.api.autopilot; + +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; +import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; + +import java.util.ArrayList; + +/** + * 自动驾驶规划路线相关的监听 + */ +public interface IMoGoAutopilotPlanningListener { + + /** + * 工控机引导线数据 + * + * @param trajectoryInfos 引导线数据经纬度 + */ + void onAutopilotTrajectory(ArrayList trajectoryInfos); + + /** + * 2021/6/23 工控机经纬度 绘制时转成高德经纬度 + * + * @param routeList 工控机全局规划路径 + */ + void onAutopilotRotting(AutopilotRouteInfo routeList); + +} diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt index 3057c92488..7fea12ae7f 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/autopilot/IMoGoAutopilotStatusListener.kt @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.api.autopilot import com.mogo.eagle.core.data.autopilot.* import com.mogo.eagle.core.data.traffic.TrafficData +import java.util.* /** * @author xiaoyuzhou @@ -32,17 +33,10 @@ interface IMoGoAutopilotStatusListener { */ fun onAutopilotCarStateData(autoPilotCarStateInfo: AutopilotCarStateInfo?) - /** - * 自动驾驶路径 - * - * @param autopilotRoute - */ - fun onAutopilotRoute(autopilotRoute: AutopilotRouteInfo?) - /** * 工控机获取SN */ - fun onAutopilotSNRequest() + fun onAutopilotSNRequest(){} /** * 工控机监控节点 @@ -54,7 +48,7 @@ interface IMoGoAutopilotStatusListener { * * @param trafficData 交通元素信息列表 */ - fun onAutopilotIdentifyDataUpdate(trafficData: List?) + fun onAutopilotIdentifyDataUpdate(trafficData: ArrayList?) /** * 报警信息 diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index ccb92461b9..967a3c6ad5 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -6,7 +6,6 @@ import com.mogo.eagle.core.data.traffic.TrafficData import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.GsonUtils /** @@ -126,20 +125,6 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { } } - /** - * 自动驾驶路径 回调 - * @param routeInfo - */ - @Synchronized - fun invokeAutopilotRoute(routeInfo: AutopilotRouteInfo?) { - //Logger.d(TAG, "$routeInfo") - M_AUTOPILOT_STATUS_LISTENERS.forEach { - val tag = it.key - val listener = it.value - //Logger.d(TAG, "tag:$tag listener:$listener") - listener.onAutopilotRoute(routeInfo) - } - } /** * 工控机获取SN 回调 @@ -173,7 +158,7 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { * 识别交通元素数据发生更新 回调 */ @Synchronized - fun invokeAutopilotIdentifyDataUpdate(trafficData: List?) { + fun invokeAutopilotIdentifyDataUpdate(trafficData: ArrayList?) { //Logger.d(TAG, "$trafficData") M_AUTOPILOT_STATUS_LISTENERS.forEach { val tag = it.key diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPlanningListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPlanningListenerManager.kt new file mode 100644 index 0000000000..1bb7b7e414 --- /dev/null +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutopilotPlanningListenerManager.kt @@ -0,0 +1,86 @@ +package com.mogo.eagle.core.function.call.autopilot + +import androidx.annotation.Nullable +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo +import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener +import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener +import com.mogo.eagle.core.function.call.base.CallerBase + +/** + * @author xiaoyuzhou + * @date 2021/9/30 5:48 下午 + * 规划路径相关回调 + */ +object CallerAutopilotPlanningListenerManager : CallerBase() { + private val TAG = "CallerAutopilotPlanningListenerManager" + + // 存储所有注册了监听的对象,invokeXXXX进行遍历回调,将信息同步 + private val M_AUTOPILOT_PLANNING_LISTENER: HashMap = + HashMap() + + + /** + * 添加监听 + * @param tag 标记,用来注销监听使用 + * @param listener 监听回调 + */ + fun addListener( + @Nullable tag: String, + @Nullable listener: IMoGoAutopilotPlanningListener + ) { + M_AUTOPILOT_PLANNING_LISTENER[tag] = listener + } + + /** + * 删除监听 + * @param tag 标记,用来注销监听使用 + */ + fun removeListener(@Nullable tag: String) { + M_AUTOPILOT_PLANNING_LISTENER.remove(tag) + } + + /** + * 删除自动驾驶按钮选中监听 + * @param listener 要删除的监听对象 + */ + fun removeListener(@Nullable listener: IMoGoObuStatusListener) { + M_AUTOPILOT_PLANNING_LISTENER.forEach { + if (it.value == listener) { + M_AUTOPILOT_PLANNING_LISTENER.remove(it.key) + } + } + } + + /** + * 车前引导线 回调 + * @param trajectoryInfo 自动驾驶状态信息 + */ + @Synchronized + fun invokeAutopilotTrajectory(trajectoryInfo: ArrayList) { + //Logger.d(TAG, "$trajectoryInfo") + M_AUTOPILOT_PLANNING_LISTENER.forEach { + val tag = it.key + val listener = it.value + //Logger.d(TAG, "tag:$tag listener:$listener") + listener.onAutopilotTrajectory(trajectoryInfo) + } + } + + /** + * 路径规划 回调 + * @param routeList 自动驾驶网约车回调数据 + */ + @Synchronized + fun invokeAutopilotRotting(routeList: AutopilotRouteInfo) { + //Logger.d(TAG, "$routeList") + M_AUTOPILOT_PLANNING_LISTENER.forEach { + val tag = it.key + val listener = it.value + //Logger.d(TAG, "tag:$tag listener:$listener") + listener.onAutopilotRotting(routeList) + } + } + + +} \ No newline at end of file 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 890f7cb83a..3170a1eee7 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 @@ -3,9 +3,8 @@ package com.mogo.module.adas; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import android.util.Log; - import com.google.gson.Gson; +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo; import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; @@ -14,8 +13,10 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.traffic.TrafficData; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.module.adas.model.AdasServiceModel; import com.mogo.module.common.drawer.IdentifyDataDrawer; @@ -24,22 +25,9 @@ import com.mogo.utils.network.utils.GsonUtil; import com.zhidao.autopilotservice.model.AdasAIDLAutopilotStateModel; import com.zhidao.support.adas.high.AdasManager; import com.zhidao.support.adas.high.OnAdasMsgConnectStatusListener; -import com.zhidao.support.adas.high.bean.AutopilotRoute; -import com.zhidao.support.adas.high.bean.AutopilotStatus; -import com.zhidao.support.adas.high.bean.AutopilotWayArrive; -import com.zhidao.support.adas.high.bean.CarLaneInfo; -import com.zhidao.support.adas.high.bean.CarStateInfo; -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.TrajectoryInfo; -import com.zhidao.support.adas.high.bean.WarnMessageInfo; -import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo; -import com.zhidao.support.adas.high.common.MsgActionType; import com.zhidao.support.obu.ami.AmiClientManager; import java.util.ArrayList; -import java.util.List; import java.util.concurrent.TimeUnit; import io.reactivex.Flowable; @@ -51,7 +39,8 @@ import io.reactivex.schedulers.Schedulers; */ public class AdasEventManager implements OnAdasMsgConnectStatusListener, - IMoGoAutopilotStatusListener { + IMoGoAutopilotStatusListener, + IMoGoAutopilotPlanningListener { private final String TAG = "AdasEventManager"; @@ -73,6 +62,7 @@ public class AdasEventManager implements private AdasEventManager() { gson = GsonUtil.getGson(); CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this); + CallerAutopilotPlanningListenerManager.INSTANCE.addListener(TAG, this); } public static AdasEventManager getInstance() { @@ -118,18 +108,6 @@ public class AdasEventManager implements } - @Override - public void onAutopilotTrajectory(List trajectoryList) { -// Log.e("lianglihui","adas onAutopilotTrajectory"); - if(trajectoryList != null && trajectoryList.size() >0){ - for (IAdasDataListener listener : iAdasEventListeners) { - if (listener != null) { - listener.onAutopilotTrajectory(trajectoryList); - } - } - } - } - @Override public void onAutopilotSNRequest() { if (providerBizListener != null) { @@ -139,11 +117,6 @@ public class AdasEventManager implements } } - @Override - public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) { - - } - @Override public void onWebSocketConnectSuccess() { Logger.d(TAG, "webSocket 连接成功"); @@ -237,7 +210,6 @@ public class AdasEventManager implements } - //can数据转发 AutopilotCarStateInfo.ValuesBean bean = autoPilotCarStateInfo.getValues(); if (bean != null) { @@ -246,18 +218,6 @@ public class AdasEventManager implements } } - @Override - public void onAutopilotRoute(@Nullable AutopilotRouteInfo autopilotRoute) { - if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) { - Logger.d(TAG, "onAutopilotRoute is null !"); - return; - } - for (IAdasDataListener listener : iAdasEventListeners) { - if (listener != null) { - listener.autopilotRoute(autopilotRoute); - } - } - } @Override public void onAutopilotGuardian(@Nullable AutopilotGuardianStatusInfo guardianInfo) { @@ -265,7 +225,7 @@ public class AdasEventManager implements } @Override - public void onAutopilotIdentifyDataUpdate(@Nullable List trafficData) { + public void onAutopilotIdentifyDataUpdate(@Nullable ArrayList trafficData) { try { if (trafficData == null) { IdentifyDataDrawer.getInstance().clearOldMarker(); @@ -294,4 +254,30 @@ public class AdasEventManager implements } } } + + @Override + public void onAutopilotTrajectory(ArrayList trajectoryInfo) { + if (trajectoryInfo != null && trajectoryInfo.size() > 0) { + for (IAdasDataListener listener : iAdasEventListeners) { + if (listener != null) { + listener.onAutopilotTrajectory(trajectoryInfo); + } + } + } + } + + + @Override + public void onAutopilotRotting(@Nullable AutopilotRouteInfo autopilotRoute) { + if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) { + Logger.d(TAG, "onAutopilotRoute is null !"); + return; + } + for (IAdasDataListener listener : iAdasEventListeners) { + if (listener != null) { + listener.autopilotRoute(autopilotRoute); + } + } + } + } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasObjectUtils.kt b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasObjectUtils.kt index d552e1833f..a75937b6b2 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasObjectUtils.kt +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasObjectUtils.kt @@ -1,6 +1,5 @@ package com.mogo.module.adas -import android.util.Log import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo @@ -13,7 +12,6 @@ import com.zhidao.support.adas.high.bean.CarStateInfo import com.zhidao.support.adas.high.bean.RectInfo.RectBean import com.zhidao.support.adas.high.bean.WarnMessageInfo import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo -import java.util.* /** * @author congtaowang @@ -62,11 +60,11 @@ object AdasObjectUtils { return warnMessage } - fun regroupTrafficDataData(datums: List?): List? { + fun regroupTrafficDataData(datums: List?): ArrayList? { if (datums == null || datums.isEmpty()) { return null } - val recognizedListResults: MutableList = ArrayList() + val recognizedListResults: ArrayList = ArrayList() for (model in datums) { if (model == null) { continue diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasDataListener.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasDataListener.java index 11592863b7..4b3e5ed67f 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasDataListener.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/IAdasDataListener.java @@ -1,19 +1,12 @@ package com.mogo.module.adas; +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; -import com.mogo.module.adas.entity.WarnMessageModel; -import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel; -import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel; -import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarStateModel; -import com.zhidao.support.adas.high.bean.AutopilotRoute; -import com.zhidao.support.adas.high.bean.AutopilotStatus; -import com.zhidao.support.adas.high.bean.RectInfo; -import com.zhidao.support.adas.high.bean.TrajectoryInfo; -import com.zhidao.support.adas.high.bean.WarnMessageInfo; +import java.util.ArrayList; import java.util.List; @@ -65,8 +58,7 @@ public interface IAdasDataListener { * 车前引导路径回调 * @param trajectory */ - - default void onAutopilotTrajectory(List trajectory) { + default void onAutopilotTrajectory(ArrayList trajectory) { } diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java index da3c731b58..601e227293 100644 --- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java +++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/OnAdasListenerAdapter.java @@ -1,5 +1,8 @@ package com.mogo.module.adas; +import android.util.Log; + +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo; import com.mogo.eagle.core.data.autopilot.AutopilotGuardianStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; @@ -8,6 +11,7 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; import com.mogo.utils.logger.Logger; import com.zhidao.support.adas.high.AdasManager; import com.zhidao.support.adas.high.OnAdasListener; @@ -24,6 +28,7 @@ import com.zhidao.support.adas.high.bean.WarnMessageInfo; import com.zhidao.support.adas.high.bean.guardian.AutopilotGuardianInfo; import com.zhidao.support.obu.ami.AmiClientManager; +import java.util.ArrayList; import java.util.List; /** @@ -37,7 +42,7 @@ public class OnAdasListenerAdapter implements OnAdasListener { @Override public void onRectData(RectInfo rectInfo) { - List recognizedListResults = AdasObjectUtils.INSTANCE.regroupTrafficDataData(rectInfo.getModels()); + ArrayList recognizedListResults = AdasObjectUtils.INSTANCE.regroupTrafficDataData(rectInfo.getModels()); CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotIdentifyDataUpdate(recognizedListResults); } @@ -95,12 +100,29 @@ public class OnAdasListenerAdapter implements OnAdasListener { public void onAutopilotRoute(AutopilotRoute route) { Logger.d(TAG, "onAutopilotRoute : " + route.toString()); AutopilotRouteInfo autopilotRoute = AdasObjectUtils.INSTANCE.fromAdasAutopilotRoute(route); - CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutopilotRoute(autopilotRoute); + CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotRotting(autopilotRoute); } @Override public void onAutopilotTrajectory(List trajectoryList) { - + ArrayList trajectoryInfoArrayList = new ArrayList<>(); + if (trajectoryList != null && trajectoryList.size() > 0) { + for (TrajectoryInfo trajectory : trajectoryList) { + ADASTrajectoryInfo adasTrajectoryInfo = new ADASTrajectoryInfo(); + adasTrajectoryInfo.setLat(trajectory.getLat()); + adasTrajectoryInfo.setLon(trajectory.getLon()); + adasTrajectoryInfo.setAcceleration(trajectory.getAcceleration()); + adasTrajectoryInfo.setAccumulatedDis(trajectory.getAccumulatedDis()); + adasTrajectoryInfo.setTime(trajectory.getTime()); + adasTrajectoryInfo.setVelocity(trajectory.getVelocity()); + adasTrajectoryInfo.setAlt(trajectory.getAlt()); + adasTrajectoryInfo.setKappa(trajectory.getKappa()); + adasTrajectoryInfo.setTheta(trajectory.getTheta()); + trajectoryInfoArrayList.add(adasTrajectoryInfo); + } + Log.e(TAG, "time:" + System.currentTimeMillis() + "trajectoryInfoArrayList:" + trajectoryInfoArrayList); + } + CallerAutopilotPlanningListenerManager.INSTANCE.invokeAutopilotTrajectory(trajectoryInfoArrayList); } @Override diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java index a7468d00ea..e64395e2c7 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/MogoRouteOverlayManager.java @@ -4,53 +4,33 @@ import android.content.Context; import android.location.Location; import android.util.Log; +import com.mogo.eagle.core.data.autopilot.ADASTrajectoryInfo; +import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.map.MogoLatLng; +import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPlanningListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; import com.mogo.map.location.MogoLocation; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.module.common.MogoApisHandler; -import com.mogo.service.adas.IMogoAdasRouteCallBack; -import com.mogo.service.adas.IMogoAdasTrajectoryDataCallBack; -import com.mogo.service.adas.entity.ADASTrajectoryInfo; import java.util.ArrayList; import java.util.List; -public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 { - private static volatile MogoRouteOverlayManager sInstance; +public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2, IMoGoAutopilotPlanningListener { + private static volatile MogoRouteOverlayManager sInstance; private Context mContext; + private String TAG = "MogoRouteOverlayManager"; - private MogoRouteOverlayManager(Context context){ + private MogoRouteOverlayManager(Context context) { mContext = context; } public void init() { - MogoApisHandler.getInstance() - .getApis() - .getRegisterCenterApi() - .registerCarLocationChangedListener( "MogoRouteOverlayManager",this); - MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasAutopilotRouteCallBack(new IMogoAdasRouteCallBack(){ - - @Override - public void routeResult(List routeList) { - Log.e("lianglihui","routeResult:"+routeList.size()); - RouteOverlayDrawer.getInstance(mContext).putRouteList(routeList); - } - }); - MogoApisHandler.getInstance().getApis().getAdasControllerApi().addAdasTrajectoryDataCallBack(new IMogoAdasTrajectoryDataCallBack() { - - @Override - public void onAutopilotTrajectory(List trajectoryInfos) { - if (trajectoryInfos == null || trajectoryInfos.size() == 0){ - return; - } - Log.e("lianglihui","trajectoryInfos:"+trajectoryInfos.size()); - List mogoLatLngs = new ArrayList<>(); - for (ADASTrajectoryInfo a:trajectoryInfos) { - mogoLatLngs.add(new MogoLatLng(a.getLat(),a.getLon())); - } - RouteOverlayDrawer.getInstance(mContext).drawTrajectoryList(mogoLatLngs); - } - }); + MogoApisHandler.getInstance() + .getApis() + .getRegisterCenterApi() + .registerCarLocationChangedListener("MogoRouteOverlayManager", this); + CallerAutopilotPlanningListenerManager.INSTANCE.addListener("MogoRouteOverlayManager", this); } public static MogoRouteOverlayManager getInstance(Context context) { @@ -74,8 +54,9 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 public void onCarLocationChanged(MogoLatLng latLng) { } - public void updateLocation(Location location){ - if (location == null){ + + public void updateLocation(Location location) { + if (location == null) { return; } //坐标转换 @@ -90,4 +71,30 @@ public class MogoRouteOverlayManager implements IMogoCarLocationChangedListener2 loc.setProvider(location.getProvider()); RouteOverlayDrawer.getInstance(mContext).drawRouteOverlay(loc); } + + @Override + public void onAutopilotTrajectory(ArrayList trajectoryInfos) { + if (trajectoryInfos == null || trajectoryInfos.size() == 0) { + return; + } + Log.e(TAG, "trajectoryInfos:" + trajectoryInfos.size()); + List mogoLatLngs = new ArrayList<>(); + for (ADASTrajectoryInfo a : trajectoryInfos) { + mogoLatLngs.add(new MogoLatLng(a.getLat(), a.getLon())); + } + RouteOverlayDrawer.getInstance(mContext).drawTrajectoryList(mogoLatLngs); + } + + @Override + public void onAutopilotRotting(AutopilotRouteInfo routeList) { + if (routeList.getModels() == null || routeList.getModels().size() == 0) { + return; + } + List latLngList = new ArrayList<>(); + for (AutopilotRouteInfo.RouteModels routeModel : routeList.getModels()) { + latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon())); + } + Log.e(TAG, "routeResult:" + latLngList.size()); + RouteOverlayDrawer.getInstance(mContext).putRouteList(latLngList); + } } 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 5872532336..d22bc39a73 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,12 +2,7 @@ package com.mogo.service.adas; import com.alibaba.android.arouter.facade.template.IProvider; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; -import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.map.uicontroller.EnumMapUI; -import com.mogo.service.adas.entity.ADASRecognizedResult; -import com.mogo.service.adas.entity.ADASTrajectoryInfo; - -import java.util.List; /** * @author congtaowang @@ -89,20 +84,6 @@ public interface IMogoADASController extends IProvider { */ void removeAdasWarnMessageCallback(IMogoAdasWarnMessageCallback callback); - /** - * 添加adas自动驾驶路线回调 - * - * @param callBack - */ - void addAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack); - - /** - * 移除adas自动驾驶路线回调 - * - * @param callBack - */ - void removeAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack); - /** * 查询自动驾驶路线 */ @@ -171,15 +152,4 @@ public interface IMogoADASController extends IProvider { */ void cancelAutopilot(); - /** - * 添加车前引导线回调 - * @param - */ - void addAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack); - /** - * 移除车前引导线回调 - * @param - */ - void removeAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack); - } diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRouteCallBack.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRouteCallBack.java deleted file mode 100644 index 5af688da69..0000000000 --- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasRouteCallBack.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.mogo.service.adas; - -import com.mogo.eagle.core.data.map.MogoLatLng; - -import java.util.List; - -public interface IMogoAdasRouteCallBack { - // TODO: 2021/6/23 工控机经纬度 绘制时转成高德经纬度 - void routeResult(List routeList); -} diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasTrajectoryDataCallBack.java b/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasTrajectoryDataCallBack.java deleted file mode 100644 index 9a1c36fb0a..0000000000 --- a/services/mogo-service-api/src/main/java/com/mogo/service/adas/IMogoAdasTrajectoryDataCallBack.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.mogo.service.adas; - -import com.mogo.service.adas.entity.ADASTrajectoryInfo; - -import java.util.List; - -public interface IMogoAdasTrajectoryDataCallBack { - void onAutopilotTrajectory(List trajectoryInfo); -} 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 2678fd29e1..7eb434f01c 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 @@ -3,11 +3,6 @@ package com.mogo.service.impl.adas; import android.app.Application; import android.content.Context; import android.content.Intent; -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; -import android.text.TextUtils; -import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.launcher.ARouter; @@ -16,13 +11,10 @@ import com.mogo.commons.debug.DebugConfig; import com.mogo.eagle.core.data.autopilot.AutopilotCarStateInfo; import com.mogo.eagle.core.data.autopilot.AutopilotControlCmdParameter; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; -import com.mogo.eagle.core.data.autopilot.AutopilotRouteInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStationInfo; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.autopilot.AutopilotWarnMessage; import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.data.map.MogoLatLng; -import com.mogo.eagle.core.data.traffic.TrafficData; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.adas.AdasProvider; import com.mogo.module.adas.IAdasDataListener; @@ -31,17 +23,7 @@ import com.mogo.service.adas.IMogoADASController; import com.mogo.service.adas.IMogoAdasCarDataCallback; import com.mogo.service.adas.IMogoAdasDataCallback; import com.mogo.service.adas.IMogoAdasOCHCallback; -import com.mogo.service.adas.IMogoAdasRouteCallBack; -import com.mogo.service.adas.IMogoAdasTrajectoryDataCallBack; import com.mogo.service.adas.IMogoAdasWarnMessageCallback; -import com.mogo.eagle.core.data.autopilot.RemoteControlAutoPilotParameters; -import com.mogo.service.adas.entity.ADASCarStateInfo; -import com.mogo.service.adas.entity.ADASRecognizedResult; -import com.mogo.service.adas.entity.ADASTrajectoryInfo; -import com.mogo.service.adas.entity.ADASWarnMessage; -import com.mogo.eagle.core.data.autopilot.AdasOCHData; -import com.mogo.service.adas.entity.CarModelListResponse; -import com.mogo.service.datamanager.IMogoDataManager; import com.mogo.service.impl.singleton.SingletonsHolder; import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.utils.UiThreadHandler; @@ -51,17 +33,9 @@ import com.zhidao.adasconfig.api.AdasConfigApiController; import com.zhidao.adasconfig.common.config.EnumCarHeading; import com.zhidao.adasconfig.common.config.EnumSkinStyle; import com.zhidao.autopilot.support.api.AutopilotServiceManage; -import com.zhidao.autopilotservice.model.AdasAIDLAutopilotArriveModel; -import com.zhidao.autopilotservice.model.AdasAIDLOwnerCarRectModel; -import com.zhidao.support.adas.high.bean.AutopilotRoute; -import com.zhidao.support.adas.high.bean.AutopilotStatus; -import com.zhidao.support.adas.high.bean.RectInfo; -import com.zhidao.support.adas.high.bean.TrajectoryInfo; -import com.zhidao.support.adas.high.bean.WarnMessageInfo; import org.json.JSONObject; -import java.util.ArrayList; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -94,16 +68,6 @@ public class MogoADASController implements IMogoADASController { */ private final List mMogoAdasWarnMessageCallbackList = new CopyOnWriteArrayList<>(); - /** - * 自动驾驶路线回调 - */ - private final List mMogoAdasRouteCallBacks = new CopyOnWriteArrayList<>(); - - /** - * 车前引导线回调 - */ - private final List mMogoAdasTrajectoryDataCallBacks = new CopyOnWriteArrayList<>(); - private IAdasDataListener mAdasDataListener; private IMogoAdasCarDataCallback mMogoAdasCarDataCallback; @@ -214,53 +178,6 @@ public class MogoADASController implements IMogoADASController { } } - @Override - public void onAutopilotTrajectory(List trajectorys) { - if(trajectorys != null && trajectorys.size() > 0){ - List trajectoryInfoArrayList = new ArrayList<>(); -// TrajectoryInfo t= trajectorys.get(0); - Log.e("lianglihui","time:"+ System.currentTimeMillis()); - for (TrajectoryInfo trajectory : trajectorys){ - ADASTrajectoryInfo adasTrajectoryInfo = new ADASTrajectoryInfo(); - adasTrajectoryInfo.setLat(trajectory.getLat()); - adasTrajectoryInfo.setLon(trajectory.getLon()); - adasTrajectoryInfo.setAcceleration(trajectory.getAcceleration()); - adasTrajectoryInfo.setAccumulatedDis(trajectory.getAccumulatedDis()); - adasTrajectoryInfo.setTime(trajectory.getTime()); - adasTrajectoryInfo.setVelocity(trajectory.getVelocity()); - adasTrajectoryInfo.setAlt(trajectory.getAlt()); - adasTrajectoryInfo.setKappa(trajectory.getKappa()); - adasTrajectoryInfo.setTheta(trajectory.getTheta()); - Log.e("lianglihui","trajectory:"+ trajectory.getLat()+"-"+trajectory.getLon()); - trajectoryInfoArrayList.add(adasTrajectoryInfo); - } - - for (IMogoAdasTrajectoryDataCallBack callBack: mMogoAdasTrajectoryDataCallBacks){ - if (callBack != null){ - callBack.onAutopilotTrajectory(trajectoryInfoArrayList); - } - } - - } - } - - - @Override - public void autopilotRoute(AutopilotRouteInfo autopilotRoute) { - if (autopilotRoute.getModels() == null || autopilotRoute.getModels().size() == 0) { - return; - } - List latLngList = new ArrayList<>(); - for (AutopilotRouteInfo.RouteModels routeModel : autopilotRoute.getModels()) { - latLngList.add(new MogoLatLng(routeModel.getLat(), routeModel.getLon())); - } - for (IMogoAdasRouteCallBack callback : mMogoAdasRouteCallBacks) { - if (callback == null) { - continue; - } - callback.routeResult(latLngList); - } - } @Override public void ownerCarStateInfo(String ownerCarStateInfo) { @@ -467,24 +384,6 @@ public class MogoADASController implements IMogoADASController { mMogoAdasWarnMessageCallbackList.remove(callback); } - @Override - public void addAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack) { - if (callBack == null) { - return; - } - if (!mMogoAdasRouteCallBacks.contains(callBack)) { - mMogoAdasRouteCallBacks.add(callBack); - } - } - - @Override - public void removeAdasAutopilotRouteCallBack(IMogoAdasRouteCallBack callBack) { - if (callBack == null) { - return; - } - mMogoAdasRouteCallBacks.remove(callBack); - } - @Override public void queryAutopilotRoute() { adasProvider.queryAutopilotRoute(); @@ -560,22 +459,6 @@ public class MogoADASController implements IMogoADASController { adasProvider.cancelPilot(); } - @Override - public void addAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack) { - if (callBack == null) { - return; - } - if (!mMogoAdasTrajectoryDataCallBacks.contains(callBack)) { - mMogoAdasTrajectoryDataCallBacks.add(callBack); - } - } - - @Override - public void removeAdasTrajectoryDataCallBack(IMogoAdasTrajectoryDataCallBack callBack) { - if (callBack != null){ - mMogoAdasTrajectoryDataCallBacks.remove(callBack); - } - } }