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 761673ec27..1e235f6565 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 @@ -94,6 +94,7 @@ public class BusPassengerModel { private int mNextStationIndex = 0;// 要到达站的index private List mTwoStationsRouts = new ArrayList<>(); private int mPreRouteIndex = 0; + private int mWipePreIndex = 0; private static final int MSG_QUERY_BUS_P_STATION = 1001; private final Handler handler = new Handler(new Handler.Callback() { @@ -485,22 +486,24 @@ public class BusPassengerModel { if (isStart){ BusPassengerModelLoopManager.getInstance().startOrStopRouteAndWipe(); }else { + mWipePreIndex = 0; BusPassengerModelLoopManager.getInstance().stopOrStopRouteAndWipe(); } } public void loopRouteAndWipe() { - if (mTwoStationsRouts != null && mTwoStationsRouts.size() > 0 && mLocation != null){ + if (mRoutePoints != null && mRoutePoints.size() > 0 && mLocation != null){ int haveArrivedIndex = CoordinateCalculateRouteUtil - .getArrivedPointIndexNew(mPreRouteIndex, - mTwoStationsRouts, - mLocation.getLongitude(), - mLocation.getLatitude()); + .getArrivedPointIndexNew(mWipePreIndex, + mRoutePoints, + mLocation); + + mWipePreIndex = haveArrivedIndex; CallerLogger.INSTANCE.d(M_BUS_P + TAG, "thread = "+ Thread.currentThread().getName()+" haveArrivedIndex== " + haveArrivedIndex); if (mAutopilotPlanningCallback != null){ List routePoints = CoordinateCalculateRouteUtil - .coordinateConverterLocationToLatLng(mContext,mTwoStationsRouts); + .coordinateConverterLocationToLatLng(mContext,mRoutePoints); mAutopilotPlanningCallback.routeResult(routePoints,haveArrivedIndex); } } 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 d13f1c932a..b06736dba5 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 @@ -235,17 +235,17 @@ public class CoordinateCalculateRouteUtil { Map> routePonits = new HashMap<>(); List latePoints = new ArrayList<>(); // 剩余轨迹集合 int currentIndex = 0; //记录疑似点 - if (mRoutePoints.size() > preIndex){ + if (mRoutePoints.size() > 0){ //基础点 - MogoLocation baseLatLng = mRoutePoints.get(preIndex); + MogoLocation baseLatLng = mRoutePoints.get(0); float baseDiffDis = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), realLocation.getLatitude() ,baseLatLng.getLongitude(),baseLatLng.getLongitude());// lon,lat, prelon, prelat - for (int i= preIndex; i < mRoutePoints.size(); i++){ + for (int i= 0; i < mRoutePoints.size(); i++){ MogoLocation latLng = mRoutePoints.get(i); //todo 先看index对应点的方向和realLocation方向是否一致, 方向角度不能过90度 - if (latLng.getBearing() == realLocation.getBearing() - latLng.getBearing() || + if (realLocation.getBearing() == realLocation.getBearing() - latLng.getBearing() || Math.abs(realLocation.getBearing() - latLng.getBearing()) <= 90){ float diff = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), realLocation.getLatitude(), @@ -275,6 +275,32 @@ public class CoordinateCalculateRouteUtil { return routePonits; } + public static int getArrivedPointIndexNew(int preIndex, List mRoutePoints, + MogoLocation realLocation) { + int currentIndex = 0; //记录疑似点 //基础点 + MogoLocation baseLatLng = mRoutePoints.get(0); + float baseDiffDis = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), + realLocation.getLatitude() + , baseLatLng.getLongitude(), baseLatLng.getLongitude());// lon,lat, prelon, prelat + + 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){ + float diff = CoordinateUtils.calculateLineDistance(realLocation.getLongitude(), + realLocation.getLatitude(), + latLng.getLongitude(), latLng.getLatitude()); + if (baseDiffDis > diff && i>currentIndex) { +// Logger.d(M_TAXI + "calculateRouteSumLength", "点:"+i+"-------先记录点----- "); + baseDiffDis = diff; + currentIndex = i; + } + } + } + Logger.d("calculateRouteSumLength", "点:" + currentIndex + "-------是最近的点------ "); + return currentIndex; + } + public static int getArrivedPointIndexNew(int preIndex, List mRoutePoints, double realLon,double realLat) { int currentIndex = preIndex; //记录疑似点 //基础点 @@ -283,10 +309,10 @@ public class CoordinateCalculateRouteUtil { realLat , baseLatLng.getLongitude(), baseLatLng.getLongitude());// lon,lat, prelon, prelat - for (int i = 0; i < mRoutePoints.size(); i++) { + for (int i = preIndex; i < mRoutePoints.size(); i++) { MogoLocation latLng = mRoutePoints.get(i); - //todo 先看index对应点的方向和realLocation方向是否一致, 方向角度不能过90度 -// if (Math.abs(realLocation.getBearing() - latLng.getBearing()) <= 90) { +// if (realLocation.getBearing() == realLocation.getBearing() - latLng.getBearing() || +// Math.abs(realLocation.getBearing() - latLng.getBearing()) <= 90){ float diff = CoordinateUtils.calculateLineDistance(realLon, realLat, latLng.getLongitude(), latLng.getLatitude()); 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 3deddb2caf..862d204150 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 @@ -121,6 +121,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback private int delayTime = 2; private double mLongitude, mLatitude; + private MogoLocation mLocation = null; private List mLocationsModels = new ArrayList<>(); @@ -460,6 +461,8 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } mLongitude = location.getLongitude(); mLatitude = location.getLatitude(); + + mLocation = location; // CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"mLongitude = "+mLongitude+", mLatitude = "+mLatitude); for (IOCHTaxiPassengerControllerStatusCallback callback :mControllerStatusCallbackMap.values()){ callback.onCarLocationChanged(location); @@ -613,17 +616,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback if (isStart){ TaxiPassengerModelLoopManager.getInstance().startRouteAndWipe(); }else { + mPreRouteIndex = 0; TaxiPassengerModelLoopManager.getInstance().stopRouteAndWipe(); } } public void loopRouteAndWipe() { - if (mLocationsModels != null && mLocationsModels.size() > 0){ + if (mLocationsModels != null && mLocationsModels.size() > 0 && mLocation != null){ int haveArrivedIndex = CoordinateCalculateRouteUtil .getArrivedPointIndexNew(mPreRouteIndex, mLocationsModels, - mLongitude, - mLatitude); + mLocation); mPreRouteIndex = haveArrivedIndex; if (mAutopilotPlanningCallback != null){ List latLngsModels = CoordinateCalculateRouteUtil 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 5478bbbe1a..8876dbf5fe 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 @@ -215,6 +215,7 @@ public class BaseTaxiPassengerPresenter extends Presenter { mView.showOrHideServingOrderFragment(false,true); diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt index 984e95b476..b18902c002 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt @@ -1456,7 +1456,7 @@ class MoGoHmiFragment : MvpFragment(), installType: String ) { if (upgradeAppDialog == null) { - upgradeAppDialog = UpgradeAppDialog(requireContext()) + upgradeAppDialog = context?.let { UpgradeAppDialog(it) } } upgradeAppDialog!!.setCanceledOnTouchOutside(false) upgradeAppDialog!!.showUpgradeAppDialog(name, url, title, content, installType) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt index 1eb218e0fe..d27fe7fc1a 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/StatusBarView.kt @@ -70,7 +70,6 @@ class StatusBarView @JvmOverloads constructor( } } - fun updateProgressView(insert: Boolean, tag: String, progress: Int) { if (insert) { viewProgressTv.visibility = VISIBLE @@ -80,6 +79,14 @@ class StatusBarView @JvmOverloads constructor( } } + fun updateMfStatus(tag: String, status: Boolean) { + if (status) { +// viewMofangStatus.setImageResource(R.drawable.icon_car_red) + } else { +// viewMofangStatus.setImageResource(R.drawable.icon_car_red) + } + } + private fun setTextColor(color: Int) { viewTextClock.setTextColor(color) viewStatusBarTag.setTextColor(color) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index 9d587d8fd5..94324cc205 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -4,7 +4,6 @@ import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_ALIAS_CODE import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_INIT; import static com.mogo.eagle.core.data.deva.chain.ChainConstant.CHAIN_LINK_LOG_CONNECT_STATUS; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_HMI; - import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.Intent; @@ -15,13 +14,10 @@ import android.os.Process; import android.text.TextUtils; import android.util.Log; import android.view.KeyEvent; -import android.view.MotionEvent; import android.widget.FrameLayout; import androidx.annotation.Nullable; - import com.alibaba.android.arouter.launcher.ARouter; -import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.module.intent.IMogoIntentListener; import com.mogo.commons.module.intent.IntentManager; import com.mogo.eagle.core.data.config.FunctionBuildConfig; @@ -32,7 +28,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListener import com.mogo.eagle.core.function.call.setting.CallerSkinModeListenerManager; import com.mogo.eagle.core.function.hmi.R; import com.mogo.eagle.core.function.main.moujie.BluetoothMonitorReceiver; -import com.mogo.eagle.core.function.main.moujie.ConnectBluetoothEvent; import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; @@ -44,9 +39,7 @@ import com.zhjt.service.chain.TracingConstants; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; -import org.greenrobot.eventbus.ThreadMode; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.List; import java.util.Set; diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml index 34ebc53536..8d68848433 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_status_bar.xml @@ -35,6 +35,15 @@ android:layout_gravity="center" android:layout_marginStart="@dimen/dp_18" /> + + + +