diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java index cc0bc3f4c7..e4663fd379 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/callback/IBusPassengerControllerStatusCallback.java @@ -1,6 +1,6 @@ package com.mogo.och.bus.passenger.callback; -import com.mogo.eagle.core.data.map.MogoLocation; +import mogo.telematics.pad.MessagePad; /** * Created on 2022/3/31 @@ -11,5 +11,5 @@ public interface IBusPassengerControllerStatusCallback { // 是否vr map模式 void onVRModeChanged(boolean isVRMode); // 自车定位 - void onCarLocationChanged(MogoLocation location); + void onCarLocationChanged(MessagePad.GnssInfo location); } diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java index 5840a88cc7..ed6884d0b8 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/model/BusPassengerModel.java @@ -26,9 +26,11 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.network.utils.GsonUtil; @@ -89,7 +91,7 @@ public class BusPassengerModel { private IBusPassegerDriverStatusCallback mDriverStatusCallback; //出车收车状态 private IBusPassengerRouteLineInfoCallback mRouteLineInfoCallback; // bus路线信息更新 - private MogoLocation mLocation = null; + private MessagePad.GnssInfo mLocation = null; private BusPassengerRoutesResult routesResult = null; @@ -272,7 +274,7 @@ public class BusPassengerModel { IntentManager.getInstance().registerIntentListener(ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener ); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener ); // 定位监听 - CallerMapLocationListenerManager.INSTANCE.addListener(TAG, mMapLocationListener,false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG,moGoAutopilotPlanningListener); @@ -319,13 +321,13 @@ public class BusPassengerModel { } }; - private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { + private final IMoGoChassisLocationGCJ02Listener mMapLocationListener = new IMoGoChassisLocationGCJ02Listener() { @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { - if (null == location) return; - mLocation = location; + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { + if (null == gnssInfo) return; + mLocation = gnssInfo; for (IBusPassengerControllerStatusCallback callback :mControllerStatusCallbackMap.values()){ - callback.onCarLocationChanged(location); + callback.onCarLocationChanged(gnssInfo); } } }; diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java index b87abc0736..d446f8b6a8 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/presenter/BaseBusPassengerPresenter.java @@ -26,6 +26,8 @@ import java.util.List; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; +import mogo.telematics.pad.MessagePad; + /** * Created on 2022/3/31 */ @@ -110,7 +112,7 @@ public class BaseBusPassengerPresenter extends Presenter mView.onCarLocationChanged(location)); } diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java index 512046dca3..10ba73cf1a 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerRouteFragment.java @@ -1,5 +1,7 @@ package com.mogo.och.bus.passenger.ui; +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; + import android.os.Bundle; import android.view.View; import android.view.animation.Animation; @@ -14,7 +16,6 @@ import androidx.recyclerview.widget.RecyclerView; import com.amap.api.maps.model.LatLng; import com.elegant.utils.UiThreadHandler; import com.mogo.commons.debug.DebugConfig; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; @@ -31,7 +32,7 @@ import com.mogo.och.common.module.wigets.MarqueeTextView; import java.util.ArrayList; import java.util.List; -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS_P; +import mogo.telematics.pad.MessagePad; /** * @author: wangmingjun @@ -301,8 +302,8 @@ public class BusPassengerRouteFragment extends lastBearing = bearing; } - public void onCarLocationChanged(MogoLocation location) { - updateSpeedView(location.getSpeed()); + public void onCarLocationChanged(MessagePad.GnssInfo location) { + updateSpeedView((float) location.getVehicleSpeed()); } public void updateSpeedView(float speed){ diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java index e10afc44e7..0a0d2e8be4 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/callback/IBusControllerStatusCallback.java @@ -2,6 +2,8 @@ package com.mogo.och.bus.callback; import com.mogo.eagle.core.data.map.MogoLocation; +import mogo.telematics.pad.MessagePad; + /** * Created on 2021/9/10 * @@ -11,7 +13,7 @@ public interface IBusControllerStatusCallback { // 是否vr map模式 void onVRModeChanged(boolean isVRMode); // 自车定位 - void onCarLocationChanged(MogoLocation location); + void onCarLocationChanged(MessagePad.GnssInfo location); //开始开启自动驾驶 void startOpenAutopilot(); } diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index 7b32cf7532..35afd1bd91 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -24,12 +24,12 @@ import com.mogo.commons.module.status.StatusDescriptor; import com.mogo.eagle.core.data.BaseData; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -151,7 +151,7 @@ public class BusOrderModel { mContext = AbsMogoApplication.getApp(); loginService = (LoginService) ARouter.getInstance().build(OchCommonConst.LOGINSERVICE).navigation(); // 定位监听 - CallerMapLocationListenerManager.INSTANCE.addListener(TAG, mMapLocationListener, false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, mMapLocationListener); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); @@ -376,25 +376,25 @@ public class BusOrderModel { }; // 自车定位 - private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { + private final IMoGoChassisLocationGCJ02Listener mMapLocationListener = new IMoGoChassisLocationGCJ02Listener() { @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { - if (null == location) return; - mLongitude = location.getLongitude(); - mLatitude = location.getLatitude(); + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { + if (null == gnssInfo) return; + mLongitude = gnssInfo.getLongitude(); + mLatitude = gnssInfo.getLatitude(); if (mControllerStatusCallback != null) { - mControllerStatusCallback.onCarLocationChanged(location); + mControllerStatusCallback.onCarLocationChanged(gnssInfo); } //是否到站的围栏判断 离站状态并且自动驾驶还未触发到站 if (isGoingToNextStation && !isArrivedStation) { - judgeArrivedStation(location); + judgeArrivedStation(gnssInfo); } } }; //根据围栏判断,是否到达站点 - private void judgeArrivedStation(MogoLocation location) { + private void judgeArrivedStation(MessagePad.GnssInfo location) { if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) { CallerLogger.INSTANCE.e(M_BUS + TAG, "到站数组越界"); diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java index 3f09f3ab14..df44117942 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/presenter/BusPresenter.java @@ -233,9 +233,9 @@ public class BusPresenter extends Presenter } @Override - public void onCarLocationChanged(MogoLocation location) { + public void onCarLocationChanged(MessagePad.GnssInfo location) { if (null != location) { - runOnUIThread(() -> mView.updateSpeedView(location.getSpeed())); + runOnUIThread(() -> mView.updateSpeedView((float) location.getVehicleSpeed())); } } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt index da776f959b..0e522ab32e 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/biz/model/OchCommonLoginModel.kt @@ -3,8 +3,8 @@ package com.mogo.och.common.module.biz.model import android.annotation.SuppressLint import android.content.Context import com.mogo.eagle.core.data.BaseData -import com.mogo.eagle.core.data.map.MogoLocation -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.SharedPrefs @@ -18,6 +18,7 @@ import com.mogo.och.common.module.biz.constant.TaxiLoginStatusEnum import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonServiceManager import com.mogo.och.common.module.utils.ToastUtilsOch +import mogo.telematics.pad.MessagePad /** * Created by pangfan on 2021/8/19 @@ -26,7 +27,7 @@ import com.mogo.och.common.module.utils.ToastUtilsOch * 网约车 - 出租车业务逻辑处理 */ @SuppressLint("StaticFieldLeak") -object OchCommonLoginModel : IMoGoMapLocationListener { +object OchCommonLoginModel : IMoGoChassisLocationGCJ02Listener { private val TAG = "TaxiLoginModel" private var mContext: Context? = null @@ -36,7 +37,7 @@ object OchCommonLoginModel : IMoGoMapLocationListener { fun init(context: Context) { mContext = context.applicationContext // 达到起始站围栏监听 - CallerMapLocationListenerManager.addListener(TAG, this, false) + CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) } fun hasInit(): Boolean { @@ -46,8 +47,8 @@ object OchCommonLoginModel : IMoGoMapLocationListener { return true } - override fun onLocationChanged(location: MogoLocation?, from: Int, isGps: Boolean) { - location?.let { + override fun onChassisLocationGCJ02(gnssInfo: MessagePad.GnssInfo?) { + gnssInfo?.let { mLongitude = it.longitude mLatitude = it.latitude } diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java index 8b6fec020a..0eb9f22ed6 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/utils/CoordinateCalculateRouteUtil.java @@ -231,7 +231,7 @@ public class CoordinateCalculateRouteUtil { */ public static Map> getRemainPointListByCompareNew(int preIndex, List mRoutePoints, - MogoLocation realLocation) { + MessagePad.GnssInfo realLocation) { Map> routePonits = new HashMap<>(); List latePoints = new ArrayList<>(); // 剩余轨迹集合 int currentIndex = 0; //记录疑似点 @@ -245,8 +245,8 @@ public class CoordinateCalculateRouteUtil { for (int i= 0; i < mRoutePoints.size(); i++){ MogoLocation latLng = mRoutePoints.get(i); //todo 先看index对应点的方向和realLocation方向是否一致, 方向角度不能过90度 - if (realLocation.getBearing() == realLocation.getBearing() - latLng.getBearing() || - Math.abs(realLocation.getBearing() - latLng.getBearing()) <= 90){ + if (realLocation.getHeading() == realLocation.getHeading() - latLng.getBearing() || + Math.abs(realLocation.getHeading() - latLng.getBearing()) <= 90){ float diff = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), realLocation.getLatitude(), latLng.getLongitude(),latLng.getLatitude()); @@ -276,7 +276,7 @@ public class CoordinateCalculateRouteUtil { } public static int getArrivedPointIndexNew(int preIndex, List mRoutePoints, - MogoLocation realLocation) { + MessagePad.GnssInfo realLocation) { int currentIndex = 0; //记录疑似点 //基础点 MogoLocation baseLatLng = mRoutePoints.get(0); float baseDiffDis = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), @@ -285,8 +285,8 @@ public class CoordinateCalculateRouteUtil { for (int i = 0; i < mRoutePoints.size(); i++) { MogoLocation latLng = mRoutePoints.get(i); - if (realLocation.getBearing() == realLocation.getBearing() - latLng.getBearing() || - Math.abs(realLocation.getBearing() - latLng.getBearing()) <= 90){ + if (realLocation.getHeading() == realLocation.getHeading() - latLng.getBearing() || + Math.abs(realLocation.getHeading() - latLng.getBearing()) <= 90){ float diff = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), realLocation.getLatitude(), latLng.getLongitude(), latLng.getLatitude()); diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java index 7a831a7c0e..21d9169aec 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/callback/ISweeperControllerStatusCallback.java @@ -1,6 +1,6 @@ package com.mogo.och.sweeper.callback; -import com.mogo.eagle.core.data.map.MogoLocation; +import mogo.telematics.pad.MessagePad; /** * Created on 2021/9/10 @@ -11,7 +11,7 @@ public interface ISweeperControllerStatusCallback { // 是否vr map模式 void onVRModeChanged(boolean isVRMode); // 自车定位 - void onCarLocationChanged(MogoLocation location); + void onCarLocationChanged(MessagePad.GnssInfo location); //开始开启自动驾驶 void startOpenAutopilot(); } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java index 8aee5fbc5a..2bbea7fe76 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperOrderModel.java @@ -19,11 +19,11 @@ import com.mogo.commons.voice.AIAssist; import com.mogo.eagle.core.data.BaseData; import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.map.MogoLocation; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -123,7 +123,7 @@ public class SweeperOrderModel { public void init() { mContext = AbsMogoApplication.getApp(); // 定位监听 - CallerMapLocationListenerManager.INSTANCE.addListener(TAG,mMapLocationListener,false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); @@ -272,25 +272,25 @@ public class SweeperOrderModel { }; // 自车定位 - private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { + private final IMoGoChassisLocationGCJ02Listener mMapLocationListener = new IMoGoChassisLocationGCJ02Listener() { @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { - if (null == location) return; - mLongitude = location.getLongitude(); - mLatitude = location.getLatitude(); + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { + if (null == gnssInfo) return; + mLongitude = gnssInfo.getLongitude(); + mLatitude = gnssInfo.getLatitude(); if (mControllerStatusCallback != null) { - mControllerStatusCallback.onCarLocationChanged(location); + mControllerStatusCallback.onCarLocationChanged(gnssInfo); } //是否到站的围栏判断 离站状态并且自动驾驶还未触发到站 if (isGoingToNextStation && !isArrivedStation) { - judgeStartStation(location); + judgeStartStation(gnssInfo); } } }; //根据围栏判断,是否到达起点 - private void judgeStartStation(MogoLocation location) { + private void judgeStartStation(MessagePad.GnssInfo location) { if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) { return; diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java index 6f3e5c5281..6eb418f229 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java @@ -2,7 +2,6 @@ package com.mogo.och.sweeper.presenter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_BUS; -import android.location.Location; import android.os.Looper; import androidx.annotation.NonNull; @@ -12,16 +11,15 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.mvp.Presenter; import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.och.sweeper.bean.SweeperStationBean; import com.mogo.och.sweeper.callback.ICarOperationStatusCallback; -import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback; import com.mogo.och.sweeper.callback.IRefreshSweeperStationsCallback; import com.mogo.och.sweeper.callback.ISlidePannelHideCallback; +import com.mogo.och.sweeper.callback.ISweeperControllerStatusCallback; import com.mogo.och.sweeper.fragment.SweeperFragment; import com.mogo.och.sweeper.model.SweeperOrderModel; import com.mogo.och.sweeper.util.SweeperTrajectoryManager; @@ -239,9 +237,9 @@ public class SweeperPresenter extends Presenter } @Override - public void onCarLocationChanged(MogoLocation location) { + public void onCarLocationChanged(MessagePad.GnssInfo location) { if (null != location) { - runOnUIThread(() -> mView.updateSpeedView(location.getSpeed())); + runOnUIThread(() -> mView.updateSpeedView((float) location.getVehicleSpeed())); } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerControllerStatusCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerControllerStatusCallback.java index dd4b3336fd..1fbd38ae6e 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerControllerStatusCallback.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerControllerStatusCallback.java @@ -1,6 +1,6 @@ package com.mogo.och.taxi.passenger.callback; -import com.mogo.eagle.core.data.map.MogoLocation; +import mogo.telematics.pad.MessagePad; /** * Created on 2021/9/10 @@ -11,5 +11,5 @@ public interface IOCHTaxiPassengerControllerStatusCallback { // 是否vr map模式 void onVRModeChanged(boolean isVRMode); // 自车定位 - void onCarLocationChanged(MogoLocation location); + void onCarLocationChanged(MessagePad.GnssInfo location); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index 7a45977c70..6c66c10c1a 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -26,11 +26,12 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.api.v2x.LimitingVelocityListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.call.v2x.CallLimitingVelocityListenerManager; @@ -123,7 +124,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback private int delayTime = 2; private double mLongitude, mLatitude; - private MogoLocation mLocation = null; + private MessagePad.GnssInfo mLocation = null; private List mLocationsModels = new ArrayList<>(); @@ -236,7 +237,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback IntentManager.getInstance().registerIntentListener( ConnectivityManager.CONNECTIVITY_ACTION, mNetWorkIntentListener ); MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); // 定位监听 - CallerMapLocationListenerManager.INSTANCE.addListener(TAG,mMapLocationListener,false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationListener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG,moGoAutopilotPlanningListener); @@ -427,7 +428,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } // TODO: 2021/9/12 - public void calculateTravelDistance(MogoLocation carLocation){ + public void calculateTravelDistance(MessagePad.GnssInfo carLocation){ if (checkCurrentOCHOrder() && mCurrentOCHOrder.endSiteGcjPoint.size()>0) { double endLon = mCurrentOCHOrder.endSiteGcjPoint.get(0); double endLat = mCurrentOCHOrder.endSiteGcjPoint.get(1); @@ -466,25 +467,26 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback }; // 自车定位 - private final IMoGoMapLocationListener mMapLocationListener = new IMoGoMapLocationListener() { + private final IMoGoChassisLocationGCJ02Listener mMapLocationListener = new IMoGoChassisLocationGCJ02Listener() { @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { //位置变化时,通过围栏判断是否到达x点 - if (null == location) return; + if (null == gnssInfo) return; if (checkCurrentOCHOrder()) { if (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.OnTheWayToEnd) { - calculateTravelDistance(location); + calculateTravelDistance(gnssInfo); } } - mLongitude = location.getLongitude(); - mLatitude = location.getLatitude(); + mLongitude = gnssInfo.getLongitude(); + mLatitude = gnssInfo.getLatitude(); - mLocation = location; - // CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"mLongitude = "+mLongitude+", mLatitude = "+mLatitude); + mLocation = gnssInfo; + // CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"mLongitude = "+mLongitude+", mLatitude = "+mLatitude); for (IOCHTaxiPassengerControllerStatusCallback callback :mControllerStatusCallbackMap.values()){ - callback.onCarLocationChanged(location); + callback.onCarLocationChanged(gnssInfo); } } + }; private final IMoGoAutopilotStatusListener mGoAutopilotStatusListener = new IMoGoAutopilotStatusListener(){ diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index 8876dbf5fe..3447f52abd 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -27,6 +27,8 @@ import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; import com.mogo.och.taxi.passenger.ui.leftmenu.LeftMenuOpen; +import mogo.telematics.pad.MessagePad; + /** * @author: wangmingjun * @date: 2022/3/4 @@ -120,7 +122,7 @@ public class BaseTaxiPassengerPresenter extends Presenter mView.onCarLocationChanged(location)); long currentTimeMillis = System.currentTimeMillis(); diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java index f4b2772305..6735b80eac 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java @@ -4,7 +4,6 @@ import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAX import android.animation.Animator; import android.animation.AnimatorInflater; -import android.location.Location; import android.os.Build; import android.os.Bundle; import android.os.Looper; @@ -22,7 +21,6 @@ import androidx.fragment.app.FragmentTransaction; import com.amap.api.maps.model.LatLng; import com.mogo.commons.mvp.MvpFragment; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -44,6 +42,8 @@ import com.mogo.och.taxi.passenger.utils.TPRouteDataTestUtils; import java.util.Calendar; import java.util.List; +import mogo.telematics.pad.MessagePad; + /** * @author: wangmingjun * @date: 2022/3/8 @@ -352,8 +352,8 @@ public class TaxiPassengerServingOrderFragment extends } - public void onCarLocationChanged(MogoLocation location) { - updateSpeedView(location.getSpeed()); + public void onCarLocationChanged(MessagePad.GnssInfo location) { + updateSpeedView((float) location.getVehicleSpeed()); } public void onLimitingVelocityChange(int limitingVelocity) { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java index 070559f406..42baa2e0b5 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/callback/ITaxiControllerStatusCallback.java @@ -1,6 +1,6 @@ package com.mogo.och.taxi.callback; -import com.mogo.eagle.core.data.map.MogoLocation; +import mogo.telematics.pad.MessagePad; /** * Created on 2021/9/10 @@ -11,7 +11,7 @@ public interface ITaxiControllerStatusCallback { // 是否vr map模式 void onVRModeChanged(boolean isVRMode); // 自车定位 - void onCarLocationChanged(MogoLocation location); + void onCarLocationChanged(MessagePad.GnssInfo location); //开始开启自动驾驶 void startOpenAutopilot(); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 7da096c29c..e3f6196201 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -28,10 +28,11 @@ import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo; import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; import com.mogo.eagle.core.function.api.autopilot.IMoGoPlanningRottingListener; -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; @@ -133,7 +134,7 @@ public class TaxiModel { private int mPreRouteIndex = 0; private double mLongitude, mLatitude; - private MogoLocation mLocation = null; + private MessagePad.GnssInfo mLocation = null; private LoginService loginService; @@ -223,7 +224,7 @@ public class TaxiModel { MogoStatusManager.getInstance().registerStatusChangedListener(TAG, StatusDescriptor.VR_MODE, mMogoStatusChangedListener); //定位监听, 传false是高德坐标系 - CallerMapLocationListenerManager.INSTANCE.addListener(TAG,mMapLocationLIstener,false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG,mMapLocationLIstener); //2021.11.1 自动驾驶路线规划接口 CallerPlanningRottingListenerManager.INSTANCE.addListener(TAG, moGoAutopilotPlanningListener); @@ -995,7 +996,7 @@ public class TaxiModel { } //根据围栏判断,是否到达起点 - private void judgeStartStation(MogoLocation location) { + private void judgeStartStation(MessagePad.GnssInfo location) { if (mCurrentOCHOrder == null || mCurrentOCHOrder.startSiteGcjPoint == null || mCurrentOCHOrder.startSiteGcjPoint.size() < 2) { return; @@ -1052,31 +1053,31 @@ public class TaxiModel { }; // 自车定位 - private final IMoGoMapLocationListener mMapLocationLIstener = new IMoGoMapLocationListener() { + private final IMoGoChassisLocationGCJ02Listener mMapLocationLIstener = new IMoGoChassisLocationGCJ02Listener() { @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { //位置变化时,通过围栏判断是否到达x点 - if (null == location) return; + if (null == gnssInfo) return; if (checkCurrentOCHOrder()) { if (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToStart) { - judgeStartStation(location); + judgeStartStation(gnssInfo); } if (getCurOrderStatus() == TaxiOrderStatusEnum.OnTheWayToEnd && mPrevAPStatus != IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING){ - judgeEndStation(location); + judgeEndStation(gnssInfo); } } - mLongitude = location.getLongitude(); - mLatitude = location.getLatitude(); - mLocation = location; + mLongitude = gnssInfo.getLongitude(); + mLatitude = gnssInfo.getLatitude(); + mLocation = gnssInfo; if (mControllerStatusCallback != null) { - mControllerStatusCallback.onCarLocationChanged(location); + mControllerStatusCallback.onCarLocationChanged(gnssInfo); } } }; - private void judgeEndStation(MogoLocation location) { + private void judgeEndStation(MessagePad.GnssInfo location) { if (mCurrentOCHOrder == null || mCurrentOCHOrder.endSiteGcjPoint == null || mCurrentOCHOrder.endSiteGcjPoint.size() < 2) { return; diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java index c869bb7fc2..23a8c04806 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/presenter/TaxiPresenter.java @@ -2,7 +2,6 @@ package com.mogo.och.taxi.presenter; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI; -import android.location.Location; import android.os.Build; import android.os.Looper; @@ -12,7 +11,6 @@ import androidx.lifecycle.LifecycleOwner; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.mvp.Presenter; -import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -20,14 +18,14 @@ import com.mogo.och.common.module.biz.bean.DriverStatusQueryRespBean; import com.mogo.och.common.module.biz.callback.ILoginCallback; import com.mogo.och.common.module.biz.constant.LoginStatusManager; import com.mogo.och.common.module.manager.OCHAdasAbilityManager; -import com.mogo.och.taxi.constant.TaxiConst; -import com.mogo.och.taxi.constant.TaxiDriverRoleEnum; -import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; import com.mogo.och.taxi.bean.OrderQueryRespBean; import com.mogo.och.taxi.bean.OrderQueryRouteInfoRespBean; import com.mogo.och.taxi.callback.ITaxiADASStatusCallback; import com.mogo.och.taxi.callback.ITaxiControllerStatusCallback; import com.mogo.och.taxi.callback.ITaxiOrderStatusCallback; +import com.mogo.och.taxi.constant.TaxiConst; +import com.mogo.och.taxi.constant.TaxiDriverRoleEnum; +import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; import com.mogo.och.taxi.constant.TaxtServingStatusManager; import com.mogo.och.taxi.model.TaxiModel; import com.mogo.och.taxi.ui.TaxiFragment; @@ -36,6 +34,8 @@ import org.jetbrains.annotations.NotNull; import java.util.List; +import mogo.telematics.pad.MessagePad; + /** * @author congtaowang * @since 2021/1/18 @@ -314,10 +314,10 @@ public class TaxiPresenter extends Presenter implements ITaxiADASS } @Override - public void onCarLocationChanged(MogoLocation location) { + public void onCarLocationChanged(MessagePad.GnssInfo location) { if (null != location){ runOnUIThread(() -> { - mView.updateSpeedView(location.getSpeed()); + mView.updateSpeedView((float) location.getVehicleSpeed()); mView.updateLocation(location.getLatitude(),location.getLongitude()); }); } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/redlightwarning/RedLightWarningManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/redlightwarning/RedLightWarningManager.kt index a96da336e2..f332b5d98a 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/redlightwarning/RedLightWarningManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/redlightwarning/RedLightWarningManager.kt @@ -4,29 +4,30 @@ import android.util.Log import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_IVP import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_IVP_GREEN import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I +import com.mogo.eagle.core.data.enums.EventTypeEnum import com.mogo.eagle.core.data.map.MogoLatLng -import com.mogo.eagle.core.data.map.MogoLocation +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.V2XMsg import com.mogo.eagle.core.data.trafficlight.* import com.mogo.eagle.core.data.trafficlight.TrafficLightStatusHelper.getCurrentRoadTrafficLight -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.api.trafficlight.IMoGoTrafficLightListener import com.mogo.eagle.core.function.api.vip.IMoGoVipSetListener +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.hmi.CallerHmiManager import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.function.call.trafficlight.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.call.vip.CallVipSetListenerManager import com.mogo.eagle.core.function.v2x.trafficlight.core.MogoTrafficLightManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X -import com.mogo.eagle.core.utilcode.util.ThreadUtils -import com.mogo.eagle.core.data.enums.EventTypeEnum -import com.mogo.eagle.core.data.msgbox.MsgBoxBean -import com.mogo.eagle.core.data.msgbox.MsgBoxType -import com.mogo.eagle.core.data.msgbox.V2XMsg -import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager import com.mogo.eagle.core.utilcode.util.LocationUtils +import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.zhjt.service_biz.BizConfig +import mogo.telematics.pad.MessagePad import kotlin.math.abs import kotlin.math.ceil import kotlin.math.floor @@ -34,7 +35,7 @@ import kotlin.math.min class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, - IMoGoMapLocationListener { + IMoGoChassisLocationGCJ02Listener { private var vip: Boolean = false @@ -44,7 +45,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, // 是否已进入到路口(停止线处) private var isEnter = false - private var mLocation: MogoLocation? = null + private var mLocation: MessagePad.GnssInfo? = null companion object { @@ -84,7 +85,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, fun listenTrafficLight() { CallerTrafficLightListenerManager.addListener(TAG, this) - CallerMapLocationListenerManager.addListener(TAG, this, false) + CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) CallVipSetListenerManager.addListener(TAG, this) } @@ -100,7 +101,7 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, // 路口100m闯红灯预警 mLocation?.let { // 单位m/s - val speed = it.speed + val speed = it.vehicleSpeed // 车停止或者速度非常慢,可能返回负数或者很小的值,需要过滤 CallerLogger.d("$M_V2X$TAG", "speed is:$speed") if (speed <= 2.5f) return// 小于等于9km/h不处理 @@ -208,9 +209,11 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, CallerMsgBoxManager.saveMsgBox( MsgBoxBean( MsgBoxType.V2X, - V2XMsg(EventTypeEnum.TYPE_USECASE_ID_IVP.poiType, + V2XMsg( + EventTypeEnum.TYPE_USECASE_ID_IVP.poiType, EventTypeEnum.TYPE_USECASE_ID_IVP.content, - EventTypeEnum.TYPE_USECASE_ID_IVP.tts) + EventTypeEnum.TYPE_USECASE_ID_IVP.tts + ) ) ) CallerHmiManager.warningV2X( @@ -246,9 +249,11 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, CallerMsgBoxManager.saveMsgBox( MsgBoxBean( MsgBoxType.V2X, - V2XMsg(EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType, + V2XMsg( + EventTypeEnum.TYPE_USECASE_ID_IVP_GREEN.poiType, content, - tts) + tts + ) ) ) CallerHmiManager.warningV2X( @@ -270,11 +275,11 @@ class RedLightWarningManager : IMoGoTrafficLightListener, IMoGoVipSetListener, fun onDestroy() { CallVipSetListenerManager.removeListener(TAG) CallerTrafficLightListenerManager.removeListener(TAG) - CallerMapLocationListenerManager.removeListener(TAG,false) + CallerMapLocationListenerManager.removeListener(TAG, false) } - override fun onLocationChanged(location: MogoLocation?, from: Int, isGps: Boolean) { - location?.let { + override fun onChassisLocationGCJ02(gnssInfo: MessagePad.GnssInfo?) { + gnssInfo?.let { mLocation = it } } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java index 02904b4391..2440b2e868 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/speedlimit/SpeedLimitDataManager.java @@ -6,10 +6,9 @@ import static com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.V2I; import androidx.annotation.Nullable; -import com.mogo.eagle.core.data.map.MogoLocation; -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener; +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener; +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager; import com.mogo.eagle.core.function.call.hmi.CallerHmiManager; -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager; import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager; import com.mogo.eagle.core.function.call.v2x.CallLimitingVelocityListenerManager; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; @@ -18,16 +17,18 @@ import com.zhjt.service_biz.BizConfig; import java.util.Timer; import java.util.TimerTask; +import mogo.telematics.pad.MessagePad; + /** * 限速 * * @author mogoauto */ -public class SpeedLimitDataManager implements IMoGoMapLocationListener { +public class SpeedLimitDataManager implements IMoGoChassisLocationGCJ02Listener { private final static String TAG = "SpeedLimitDataManager"; private static SpeedLimitDataManager instance; - private MogoLocation mLocation; + private MessagePad.GnssInfo mLocation; private SpeedLimitDataManager() { } @@ -44,8 +45,8 @@ public class SpeedLimitDataManager implements IMoGoMapLocationListener { } @Override - public void onLocationChanged(@Nullable MogoLocation location, int from, boolean isGps) { - mLocation = location; + public void onChassisLocationGCJ02(@Nullable MessagePad.GnssInfo gnssInfo) { + mLocation = gnssInfo; } private class SpeedTimerTask extends TimerTask { @@ -61,7 +62,7 @@ public class SpeedLimitDataManager implements IMoGoMapLocationListener { @BizConfig(biz = V2I, dependentBizNode = "", bizNode = BIZ_SLW) private void getSpeedLimit() { if (!isShowObuLimitSpeedView) { - int speedLimit = CallerMapUIServiceManager.INSTANCE.getMapUIController().getLimitSpeed(mLocation.getLongitude(), mLocation.getLatitude(), mLocation.getBearing()); + int speedLimit = CallerMapUIServiceManager.INSTANCE.getMapUIController().getLimitSpeed(mLocation.getLongitude(), mLocation.getLatitude(), (float) mLocation.getHeading()); UiThreadHandler.post(() -> { if (speedLimit > 0) { CallerHmiManager.INSTANCE.showLimitingVelocity(speedLimit); @@ -73,7 +74,7 @@ public class SpeedLimitDataManager implements IMoGoMapLocationListener { } public void start() { - CallerMapLocationListenerManager.INSTANCE.addListener(TAG, this, false); + CallerChassisLocationGCJ20ListenerManager.INSTANCE.addListener(TAG, this); Timer mTimer = new Timer(); mTimer.schedule(new SpeedTimerTask(), 3000, 1000); } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt index 008392a87c..619a08edc3 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt @@ -3,10 +3,9 @@ package com.mogo.eagle.core.function.v2x.trafficlight.core import android.content.Context import android.os.Handler import android.os.Looper -import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.data.trafficlight.* -import com.mogo.eagle.core.function.api.map.listener.IMoGoMapLocationListener -import com.mogo.eagle.core.function.call.map.CallerMapLocationListenerManager +import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.call.autopilot.CallerChassisLocationGCJ20ListenerManager import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.trafficlight.CallerTrafficLightListenerManager import com.mogo.eagle.core.function.v2x.trafficlight.TrafficLightHMIManager @@ -17,8 +16,9 @@ import com.mogo.eagle.core.function.v2x.trafficlight.core.TrafficLightThreadHand import com.mogo.eagle.core.function.v2x.trafficlight.network.TrafficLightNetWorkModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X +import mogo.telematics.pad.MessagePad -class MogoTrafficLightManager : IMoGoMapLocationListener { +class MogoTrafficLightManager : IMoGoChassisLocationGCJ02Listener { companion object { @@ -31,7 +31,7 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { private var mContext: Context? = null private val trafficLightNetWorkModel = TrafficLightNetWorkModel() - private var mLocation: MogoLocation? = null + private var mLocation: MessagePad.GnssInfo? = null private var roadIDResult: RoadIDResult? = null private var trafficLightResult: TrafficLightResult? = null @@ -42,7 +42,7 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { fun initServer(context: Context) { mContext = context - CallerMapLocationListenerManager.addListener(TAG, this, false) + CallerChassisLocationGCJ20ListenerManager.addListener(TAG, this) mThreadHandler = TrafficLightThreadHandler(Looper.getMainLooper(), { //第一次查询路口时,如果红绿灯显示,则隐藏掉 @@ -55,7 +55,7 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { val tileId = CallerMapUIServiceManager.getMapUIController() ?.getTileId(it.longitude, it.latitude) ?: 0 trafficLightNetWorkModel.requestRoadID( - tileId, it.latitude, it.longitude, it.bearing.toDouble(), + tileId, it.latitude, it.longitude, it.heading, { mThreadHandler?.sendEmptyMessage(MSG_WHAT_STOP_SEARCH_CROSS_ROAD) roadIDResult = it @@ -75,7 +75,7 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { val road = if (roadIDResult?.rsCrossId.isNullOrBlank()) "" else roadIDResult?.rsCrossId trafficLightNetWorkModel.requestTrafficLight( - it.latitude, it.longitude, it.bearing.toDouble(), road, { result -> + it.latitude, it.longitude, it.heading, road, { result -> trafficLightResult = result // TrafficLightHMIManager.INSTANCE.updateTrafficLight(result) CallerTrafficLightListenerManager.invokeTrafficLightStatus(result) @@ -173,13 +173,6 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { ) } - override fun onLocationChanged(location: MogoLocation?, from: Int, isGps: Boolean) { - location?.let { - mLocation = it - checkOutOfRange() - } - } - fun onDestroy() { mThreadHandler = null mContext = null @@ -187,5 +180,12 @@ class MogoTrafficLightManager : IMoGoMapLocationListener { trafficLightResult = null } + override fun onChassisLocationGCJ02(gnssInfo: MessagePad.GnssInfo?) { + gnssInfo?.let { + mLocation = it + checkOutOfRange() + } + } + } \ No newline at end of file