Merge branch 'dev_robotaxi-d-app-module_265_220329_2.6.5' of gitlab.zhidaoauto.com:zhjt/AndroidApp/MoGoEagleEye into dev_robotaxi-d-app-module_265_220329_2.6.5

This commit is contained in:
xinfengkun
2022-04-02 15:47:00 +08:00
18 changed files with 97 additions and 126 deletions

View File

@@ -25,11 +25,11 @@ package com.mogo.och.taxi.passenger.constant
*/
enum class TaxiPassengerOrderStatusEnum(val code: Int) {
None( 0 ),
OnTheWayToStartStation( 10),
ArriveAtStartStation( 20),
UserArriveAtStartStation( 30),
OnTheWayToEndStation( 40),
ArriveAtEndStation( 50),
OnTheWayToStart( 10),
ArriveAtStart( 20),
UserArriveAtStart( 30),
OnTheWayToEnd( 40),
ArriveAtEnd( 50),
JourneyCompleted(60),//行程完成
Cancel( 70);

View File

@@ -46,7 +46,6 @@ import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceCallback;
import com.mogo.och.taxi.passenger.network.TaxiPassengerServiceManager;
import com.mogo.aicloud.services.socket.IMogoLifecycleListener;
import com.mogo.och.taxi.passenger.utils.TPCoordinateCalculateRouteUtil;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
import com.mogo.service.statusmanager.StatusDescriptor;
@@ -242,6 +241,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
CallerAutoPilotStatusListenerManager.INSTANCE.removeListener(mGoAutopilotStatusListener);
CallerAutopilotPlanningListenerManager.INSTANCE.removeListener(moGoAutopilotPlanningListener);
CallLimitingVelocityListenerManager.INSTANCE.removeListener(limitingVelocityListener);
}
private void startOrStopOrderLoop(boolean start) {
@@ -465,7 +465,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
public void onCarLocationChanged2( Location location ) {
//位置变化时通过围栏判断是否到达x点
if (location != null && checkCurrentOCHOrder()) {
if (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.OnTheWayToEndStation) {
if (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.OnTheWayToEnd) {
calculateTravelDistance(location);
}
}
@@ -494,7 +494,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning();
if (mCurrentOCHOrder != null
&& getCurOrderStatus() == TaxiPassengerOrderStatusEnum.ArriveAtStartStation
&& getCurOrderStatus() == TaxiPassengerOrderStatusEnum.ArriveAtStart
&& state != mPrevAPStatus) {
// 当高频返回autopilot 2时不重复调用订单状态变更
mPrevAPStatus = state; // 每个状态单独赋值解决无订单时已经是2的状态导致的新订单来时无法进入此逻辑更新状态
@@ -544,7 +544,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback
}
if (arrivalNotification == null || !checkCurrentOCHOrder()
|| (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.ArriveAtEndStation)) {
|| (getCurOrderStatus() == TaxiPassengerOrderStatusEnum.ArriveAtEnd)) {
return;
}
if (DebugConfig.isDebug()) {

View File

@@ -10,18 +10,14 @@ import androidx.lifecycle.LifecycleOwner;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.network.utils.GsonUtil;
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;
import com.mogo.och.taxi.passenger.R;
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback;
import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst;
import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum;
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel;
import com.mogo.och.taxi.passenger.model.TaxiPassengerNaviToDestinationModel;
@@ -149,12 +145,12 @@ public class BaseTaxiPassengerPresenter extends Presenter<TaxiPassengerBaseFragm
TaxiPassengerModel.getInstance().recoverNaviInfo();
return;
}
if (TaxiPassengerOrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus
|| TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){
if (TaxiPassengerOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus
|| TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
mView.showOrHideServingOrderFragment(true);
return;
}
if (TaxiPassengerOrderStatusEnum.ArriveAtEndStation.getCode() == order.orderStatus){
if (TaxiPassengerOrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus){
TaxiPassengerModel.getInstance().recoverNaviInfo();
TaxiPassengerNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi();
mView.showOrHideServingOrderFragment(false);

View File

@@ -9,11 +9,9 @@ import androidx.lifecycle.LifecycleOwner;
import com.amap.api.maps.model.LatLng;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.voice.AIAssist;
import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.network.utils.GsonUtil;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.och.taxi.passenger.R;
import com.mogo.och.taxi.passenger.bean.TaxiPassengerOrderQueryRespBean;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerAutopilotPlanningCallback;
import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback;
@@ -23,9 +21,7 @@ import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum;
import com.mogo.och.taxi.passenger.model.TaxiPassengerModel;
import com.mogo.och.taxi.passenger.ui.TaxiPassengerServingOrderFragment;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import mogo.telematics.pad.MessagePad;
@@ -91,7 +87,7 @@ public class TaxiPassengerServingOrderPresenter extends Presenter<TaxiPassengerS
if (mCurrentPassengerOrder == null){
mCurrentPassengerOrder = order; //当前无订单
if (TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
TaxiPassengerModel.getInstance().startOrStopQueryOrderRemaining(true);
TaxiPassengerModel.getInstance().queryOrderRouteList();
}
@@ -100,13 +96,13 @@ public class TaxiPassengerServingOrderPresenter extends Presenter<TaxiPassengerS
}else if (mCurrentPassengerOrder.orderStatus != order.orderStatus) {
mView.updateOrderStatusView(order);
if (TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "-----OnTheWayToEndStation----");
TaxiPassengerModel.getInstance().startOrStopQueryOrderRemaining(true);
}
if (TaxiPassengerOrderStatusEnum.Cancel.getCode() == mCurrentPassengerOrder.orderStatus
|| TaxiPassengerOrderStatusEnum.ArriveAtEndStation.getCode() == mCurrentPassengerOrder.orderStatus){
|| TaxiPassengerOrderStatusEnum.ArriveAtEnd.getCode() == mCurrentPassengerOrder.orderStatus){
TaxiPassengerModel.getInstance().startOrStopQueryOrderRemaining(false);
}
mCurrentPassengerOrder = order;

View File

@@ -2,8 +2,6 @@ package com.mogo.och.taxi.passenger.ui;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P;
import android.graphics.LinearGradient;
import android.graphics.Shader;
import android.location.Location;
import android.os.Build;
import android.os.Bundle;
@@ -12,7 +10,6 @@ import android.view.View;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -39,7 +36,6 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@@ -464,7 +460,7 @@ public class TaxiPassengerServingOrderFragment extends
mTPOrderStartStation.setText(order.startSiteAddr);
mTPOrderEndStation.setText(order.endSiteAddr);
if (TaxiPassengerOrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus) {
if (TaxiPassengerOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus) {
mTPOrderStatus.setText(getString(R.string.taxi_p_arrive_to_start));
mTPOrderRemainDis.setText("--");
mTPOrderRemainTime.setText("--");
@@ -473,7 +469,7 @@ public class TaxiPassengerServingOrderFragment extends
return;
}
if (TaxiPassengerOrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus) {
if (TaxiPassengerOrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) {
mTPOrderStatus.setText(R.string.taxi_p_start_to_end);
setSeekBarMax();
return;

View File

@@ -25,11 +25,11 @@ package com.mogo.och.taxi.constant
*/
enum class OrderStatusEnum(val code: Int) {
None( 0 ),
OnTheWayToStartStation( 10),
ArriveAtStartStation( 20),
UserArriveAtStartStation( 30),
OnTheWayToEndStation( 40),
ArriveAtEndStation( 50),
OnTheWayToStart( 10),
ArriveAtStart( 20),
UserArriveAtStart( 30),
OnTheWayToEnd( 40),
ArriveAtEnd( 50),
JourneyCompleted(60),//行程完成
Cancel( 70);

View File

@@ -29,7 +29,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.Logger;
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
import com.mogo.eagle.core.utilcode.util.SharedPrefs;
import com.mogo.map.navi.IMogoCarLocationChangedListener2;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.och.taxi.bean.DriverServiceDataRespBean;
@@ -750,7 +749,7 @@ public class MogoOCHTaxiModelNew {
SharedPrefsMgr.getInstance(mContext).putString(OCHTaxiConst.SP_KEY_OCH_TAXI_ORDER,
GsonUtil.jsonFromObject(data));
if (FunctionBuildConfig.isDemoMode
&& mCurrentOCHOrder.orderStatus == OrderStatusEnum.OnTheWayToEndStation.getCode()) {
&& mCurrentOCHOrder.orderStatus == OrderStatusEnum.OnTheWayToEnd.getCode()) {
// 当美化模式(演示模式)开启时: 订单对应自动驾驶开启后置true
FunctionBuildConfig.isIgnoreConditionsDrawAutopilotTrajectoryData = true;
CallerLogger.INSTANCE.d(M_TAXI + TAG, "美化模式-ignore置为true更新本地order信息");
@@ -841,7 +840,7 @@ public class MogoOCHTaxiModelNew {
startLon, startLat,
location.getLongitude(), location.getLatitude());
if (DebugConfig.isDebug() && mCurrentOCHOrder.orderStatus == OrderStatusEnum.OnTheWayToStartStation.getCode()) {
if (DebugConfig.isDebug() && mCurrentOCHOrder.orderStatus == OrderStatusEnum.OnTheWayToStart.getCode()) {
// TipToast.shortTip("距离上车点:" + Double.valueOf(distance).intValue());
}
@@ -857,7 +856,7 @@ public class MogoOCHTaxiModelNew {
}
if (distance <= OCHTaxiConst.ARRIVE_AT_START_STATION_DISTANCE) {
updateOCHOrderStatus(OrderStatusEnum.ArriveAtStartStation);
updateOCHOrderStatus(OrderStatusEnum.ArriveAtStart);
return;
}
}
@@ -927,7 +926,7 @@ public class MogoOCHTaxiModelNew {
public void onCarLocationChanged2(Location location) {
//位置变化时通过围栏判断是否到达x点
if (location != null && checkCurrentOCHOrder()) {
if (getCurOrderStatus() == OrderStatusEnum.OnTheWayToStartStation) {
if (getCurOrderStatus() == OrderStatusEnum.OnTheWayToStart) {
judgeStartStation(location);
}
// else if (getCurOrderStatus() == OrderStatusEnum.OnTheWayToEndStation) {
@@ -947,20 +946,20 @@ public class MogoOCHTaxiModelNew {
*/
public void setArriveAtStartStation() {
if (mCurrentOCHOrder == null
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.OnTheWayToStartStation.getCode()) {
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.OnTheWayToStart.getCode()) {
TipToast.shortTip("订单状态不匹配该操作!");
return;
}
updateOCHOrderStatus(OrderStatusEnum.ArriveAtStartStation);
updateOCHOrderStatus(OrderStatusEnum.ArriveAtStart);
}
public void setArriveAtEndStation() {
if (mCurrentOCHOrder == null
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.OnTheWayToEndStation.getCode()) {
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.OnTheWayToEnd.getCode()) {
TipToast.shortTip("订单状态不匹配该操作!");
return;
}
updateOCHOrderStatus(OrderStatusEnum.ArriveAtEndStation);
updateOCHOrderStatus(OrderStatusEnum.ArriveAtEnd);
}
/**
@@ -969,10 +968,10 @@ public class MogoOCHTaxiModelNew {
public void setOnTheWayToEndStation() {
if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning();
if (mCurrentOCHOrder == null
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.ArriveAtStartStation.getCode()) {
|| mCurrentOCHOrder.orderStatus != OrderStatusEnum.ArriveAtStart.getCode()) {
TipToast.shortTip("订单状态不匹配该操作!");
}
updateOCHOrderStatus(OrderStatusEnum.OnTheWayToEndStation);
updateOCHOrderStatus(OrderStatusEnum.OnTheWayToEnd);
}
private final IMoGoAutopilotStatusListener mGoAutopilotStatusListener = new IMoGoAutopilotStatusListener() {
@@ -990,11 +989,11 @@ public class MogoOCHTaxiModelNew {
if (state == IMoGoAutopilotStatusListener.STATUS_AUTOPILOT_RUNNING) {
if (mADASStatusCallback != null) mADASStatusCallback.onAutopilotRunning();
if (mCurrentOCHOrder != null
&& getCurOrderStatus() == OrderStatusEnum.ArriveAtStartStation
&& getCurOrderStatus() == OrderStatusEnum.ArriveAtStart
&& state != mPrevAPStatus) {
// 当高频返回autopilot 2时不重复调用订单状态变更
mPrevAPStatus = state; // 每个状态单独赋值解决无订单时已经是2的状态导致的新订单来时无法进入此逻辑更新状态
updateOCHOrderStatus(OrderStatusEnum.OnTheWayToEndStation);
updateOCHOrderStatus(OrderStatusEnum.OnTheWayToEnd);
OchTaxiAnalyticsUtil.triggerStartServiceEvent(true,
mCurrentOCHOrder.startSiteAddr, mCurrentOCHOrder.endSiteAddr, mCurrentOCHOrder.orderNo);
@@ -1009,7 +1008,7 @@ public class MogoOCHTaxiModelNew {
mPrevAPStatus = state;
if (FunctionBuildConfig.isDemoMode
&& checkCurrentOCHOrder()
&& getCurOrderStatus() == OrderStatusEnum.OnTheWayToEndStation) {
&& getCurOrderStatus() == OrderStatusEnum.OnTheWayToEnd) {
// 当美化模式演示模式开启时且有订单、且为去往目的地状态维持自动驾驶icon开启状态
return;
}
@@ -1018,7 +1017,7 @@ public class MogoOCHTaxiModelNew {
mPrevAPStatus = state;
if (FunctionBuildConfig.isDemoMode
&& checkCurrentOCHOrder()
&& getCurOrderStatus() == OrderStatusEnum.OnTheWayToEndStation) {
&& getCurOrderStatus() == OrderStatusEnum.OnTheWayToEnd) {
// 当美化模式演示模式开启时且有订单、且为去往目的地状态维持自动驾驶icon开启状态
return;
}
@@ -1036,13 +1035,13 @@ public class MogoOCHTaxiModelNew {
CallerLogger.INSTANCE.i(M_TAXI + TAG, "onAutopilotArriveAtStation = " + data.toString());
if (data == null || !checkCurrentOCHOrder()
|| (getCurOrderStatus() == OrderStatusEnum.ArriveAtEndStation)) {
|| (getCurOrderStatus() == OrderStatusEnum.ArriveAtEnd)) {
return;
}
if (DebugConfig.isDebug()) {
// TipToast.shortTip("到达目的地");
}
updateOCHOrderStatus(OrderStatusEnum.ArriveAtEndStation);
updateOCHOrderStatus(OrderStatusEnum.ArriveAtEnd);
}
};
private final IMoGoAutopilotPlanningListener moGoAutopilotPlanningListener = new IMoGoAutopilotPlanningListener() {

View File

@@ -186,10 +186,10 @@ public class OCHTaxiPresenter extends Presenter<OCHTaxiFragment> implements IOCH
@Override
public void onCurrentOrderStatusChanged(OrderQueryRespBean.Result order) {
CallerLogger.INSTANCE.d(M_TAXI + TAG,"order = "+order.toString());
if (OrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus){
if (OrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus){
MogoOCHTaxiModelNew.getInstance().startDynamicCalculateRouteInfo();
}
if (OrderStatusEnum.ArriveAtEndStation.getCode() == order.orderStatus ||
if (OrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus ||
OrderStatusEnum.Cancel.getCode() == order.orderStatus ||
OrderStatusEnum.JourneyCompleted.getCode() == order.orderStatus){
MogoOCHTaxiModelNew.getInstance().startOrStopCalculateRouteInfo(false);

View File

@@ -159,7 +159,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
}
mOrderNo = order.orderNo;
onOrderStatusChanged(order);
if (OrderStatusEnum.ArriveAtEndStation.getCode() == order.orderStatus) {
if (OrderStatusEnum.ArriveAtEnd.getCode() == order.orderStatus) {
mTaxiFragment.queryCurOrderRouteInfo();
mContentModule3.setVisibility(View.GONE);
mContentModule2.setVisibility(View.VISIBLE);
@@ -177,7 +177,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
// String strHtml2 = "<font color=\"#CAD6FF\">距离 </font>" + "<b><font color=\"#FFFFFF\">- -</font></b>" + "<font color=\"#CAD6FF\"> 公里,</font>"
// + "<font color=\"#CAD6FF\">用时 </font>" + "<b><font color=\"#FFFFFF\">- -</font></b>" + "<font color=\"#CAD6FF\"> 分钟</font>";
// mDistanceAndTime.setText(Html.fromHtml(strHtml2));
} else if (OrderStatusEnum.OnTheWayToEndStation.getCode() == order.orderStatus) {
} else if (OrderStatusEnum.OnTheWayToEnd.getCode() == order.orderStatus) {
CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经去往终点");
mContentModule3.setVisibility(View.GONE);
mContentModule2.setVisibility(View.VISIBLE);
@@ -190,7 +190,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
mTitleTV2.setText("送乘客至");
mStationTv2.setText(order.endSiteAddr);
} else if (OrderStatusEnum.ArriveAtStartStation.getCode() == order.orderStatus) {
} else if (OrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus) {
CallerLogger.INSTANCE.d(M_TAXI + TAG, "已经达到起点");
mContentModule2.setVisibility(View.GONE);
mContentModule3.setVisibility(View.VISIBLE);
@@ -378,7 +378,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
if (status != saveOrderState) {
OrderStatusEnum ochStatus = OrderStatusEnum.valueOf(status);
switch (ochStatus) {
case OnTheWayToStartStation:
case OnTheWayToStart:
mOrderCancel.setVisibility(View.VISIBLE);
showNotice(mActivity.getString(R.string.module_och_taxi_new_order));
mTtsLessThan200Tip = 0;
@@ -396,7 +396,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
setOrRemoveMapMaker(false, OCHTaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint);
setOrRemoveMapMaker(false,OCHTaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint);
break;
case ArriveAtStartStation:
case ArriveAtStart:
mTtsLessThan200Tip = 0;
mOrderCancel.setVisibility(View.VISIBLE);
showNotice(mActivity.getString(R.string.module_och_taxi_order_status_ph_text));
@@ -404,14 +404,14 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
setOrRemoveMapMaker(true, OCHTaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint);
setOrRemoveMapMaker(true,OCHTaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint);
break;
case OnTheWayToEndStation:
case OnTheWayToEnd:
// showNotice("欢迎使用蘑菇智行");
mOrderCancel.setVisibility(View.VISIBLE);
showOrHideNavi(false);
setOrRemoveMapMaker(false, OCHTaxiConst.TAXI_START_MAP_MAKER,order.startSitePoint);
setOrRemoveMapMaker(true,OCHTaxiConst.TAXI_END_MAP_MAKER,order.endSitePoint);
break;
case ArriveAtEndStation:
case ArriveAtEnd:
mCurrentOrder = null;
mTtsLessThan200Tip = 0;
mOrderCancel.setVisibility(View.GONE);
@@ -528,7 +528,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (saveOrderState == OrderStatusEnum.OnTheWayToStartStation.getCode()) {
if (saveOrderState == OrderStatusEnum.OnTheWayToStart.getCode()) {
startNaviToStartStation(false, mOrderStartStationLat, mOrderStartStationLng);
}
}
@@ -536,7 +536,7 @@ public class OCHTaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implem
UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (saveOrderState == OrderStatusEnum.OnTheWayToStartStation.getCode()) {
if (saveOrderState == OrderStatusEnum.OnTheWayToStart.getCode()) {
if (mNaviIcon.getVisibility() == View.GONE) {
mNaviIcon.setVisibility(View.VISIBLE);
}

View File

@@ -2,7 +2,6 @@ package com.mogo.och.taxi.ui;
import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
@@ -13,8 +12,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.FragmentTransaction;
import com.amap.api.maps.CoordinateConverter;
import com.amap.api.maps.model.LatLng;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.module.common.MogoApisHandler;
@@ -69,7 +66,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
@Override
public void restartAutopilot() {
// 在自动驾驶中,才会有重新开启自动驾驶的操作
if (mPresenter.getCurOrderStatus() == OrderStatusEnum.OnTheWayToEndStation) {
if (mPresenter.getCurOrderStatus() == OrderStatusEnum.OnTheWayToEnd) {
CallerLogger.INSTANCE.d(M_TAXI + TAG, "restartAutopilot");
mPresenter.startAutoPilot();
startOrStopLoadingAnim(true);
@@ -217,7 +214,7 @@ public class OCHTaxiFragment extends BaseOchTaxiTabFragment<OCHTaxiFragment, OCH
* 收到自动驾驶通知的成功状态之后,设置本地状态及服务端状态
*/
private void resetOCHTaxiOrderAutopilotStatus() {
mPresenter.updateCurOrderStatus(OrderStatusEnum.OnTheWayToEndStation);
mPresenter.updateCurOrderStatus(OrderStatusEnum.OnTheWayToEnd);
}
@RequiresApi(api = Build.VERSION_CODES.P)

View File

@@ -63,17 +63,17 @@ public class OCHTaxiOrderCancelDialog extends AlertDialog implements View.OnClic
}
OrderStatusEnum ochStatus = OrderStatusEnum.valueOf(mOrderStatus);
switch (ochStatus) {
case OnTheWayToStartStation:
case OnTheWayToStart:
mContentArrays = new String[]{OrderCancelReasons.CarBroken.getMsg(), OrderCancelReasons.DeviceBroken.getMsg(),
OrderCancelReasons.BatteryLow.getMsg(), OrderCancelReasons.DriverIsIll.getMsg()};
break;
case ArriveAtStartStation:
case ArriveAtStart:
mContentArrays = new String[]{OrderCancelReasons.CarBroken.getMsg(), OrderCancelReasons.DeviceBroken.getMsg(),
OrderCancelReasons.BatteryLow.getMsg(), OrderCancelReasons.DriverIsIll.getMsg(),
OrderCancelReasons.PassengerNotArrive.getMsg()};
break;
case OnTheWayToEndStation:
case ArriveAtEndStation:
case OnTheWayToEnd:
case ArriveAtEnd:
mContentArrays = new String[]{OrderCancelReasons.CarBroken.getMsg(), OrderCancelReasons.DeviceBroken.getMsg(),
OrderCancelReasons.BatteryLow.getMsg(), OrderCancelReasons.DriverIsIll.getMsg(), OrderCancelReasons.PassengerStopOver.getMsg()};
break;

View File

@@ -169,17 +169,19 @@ public class NoticeTrafficDialog extends BaseFloatDialog implements LifecycleObs
* 开启自动驾驶
*/
private void startAutoPilot() {
AutopilotControlParameters parameters = new AutopilotControlParameters();
parameters.isSpeakVoice = false;
parameters.vehicleType = 10;
//云平台使用的是火星坐标,自动驾驶需要wgs84
double[] gcj02 = CoordinateUtils.transformGcj02toWgs84(mTrafficStyleInfo.getLat(), mTrafficStyleInfo.getLon());
parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat
(CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lat(),
CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lon());
parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat
(gcj02[0], gcj02[1]);
CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters);
if (mTrafficStyleInfo != null){
AutopilotControlParameters parameters = new AutopilotControlParameters();
parameters.isSpeakVoice = false;
parameters.vehicleType = 10;
//云平台使用的是火星坐标,自动驾驶需要wgs84
double[] gcj02 = CoordinateUtils.transformGcj02toWgs84(mTrafficStyleInfo.getLat(), mTrafficStyleInfo.getLon());
parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat
(CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lat(),
CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lon());
parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat
(gcj02[0], gcj02[1]);
CallerAutoPilotManager.INSTANCE.startAutoPilot(parameters);
}
}
/**

View File

@@ -1630,7 +1630,9 @@ class DebugSettingView @JvmOverloads constructor(
* 时延显示
*/
override fun onObuV2iDelayTime(delayTime: Long) {
tvObuDelay.text = "obu时延" + delayTime.toString()
ThreadUtils.runOnUiThread{
tvObuDelay.text = "obu时延" + delayTime.toString()
}
}
/**
@@ -1654,7 +1656,9 @@ class DebugSettingView @JvmOverloads constructor(
* @param steering 方向盘转向角
*/
override fun onAutopilotSteeringData(steering: Float) {
tvSteeringInfo.text = "方向盘转向角:${steering}"
ThreadUtils.runOnUiThread{
tvSteeringInfo.text = "方向盘转向角:${steering}"
}
}
/**
@@ -1662,7 +1666,9 @@ class DebugSettingView @JvmOverloads constructor(
* @param gear 档位
*/
override fun onAutopilotGearData(gear: Chassis.GearPosition) {
tvGearInfo.text = "挂挡档位:${gear}"
ThreadUtils.runOnUiThread{
tvGearInfo.text = "挂挡档位:${gear}"
}
}
/**

View File

@@ -54,7 +54,6 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
@SuppressLint("ClickableViewAccessibility")
private fun initView() {
background = ColorDrawable(Color.parseColor("#F0151D41"))
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
if (keyBoardUtil == null) {
keyBoardUtil = KeyBoardUtil(sKeyBoardView, etInputSpeed)
}
@@ -182,11 +181,13 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerAutoPilotStatusListenerManager.addListener(TAG, this)
CallerAutopilotCarConfigListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
super.onDetachedFromWindow()
CallerAutoPilotStatusListenerManager.removeListener(TAG)
CallerAutopilotCarConfigListenerManager.removeListener(TAG)
}
override fun onAutopilotStatusResponse(autoPilotStatusInfo: AutopilotStatusInfo) {
@@ -202,8 +203,10 @@ class AutoPilotAndCheckView @JvmOverloads constructor(
override fun onAutopilotCarConfig(carConfigResp: MessagePad.CarConfigResp) {
UiThreadHandler.post {
tvAcceleration.text = "加速度 ${carConfigResp.maxAcceleration} m/s²"
etInputSpeed.setText((carConfigResp.speedLimit * 3.6).toInt().toString())
tvAcceleration?.let {
tvAcceleration.text = "加速度 ${carConfigResp.maxAcceleration} m/s²"
etInputSpeed.setText((carConfigResp.speedLimit * 3.6).toInt().toString())
}
}
}
}

View File

@@ -533,12 +533,15 @@ class MogoPrivateObuManager private constructor() {
val appId = info.threat_info.app_id
val level = info.threat_info.threat_level
val status = info.status
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_OBU}",
"onCvxV2vThreatIndInfo target_classification = ${
getMessageDirection(info.ext_info.target_classification)
} --- direction = $direction --- appId = $appId ---level = $level -- status = $status"
)
if (info.ext_info != null) {
CallerLogger.d(
"$M_OBU${MogoObuConst.TAG_MOGO_OBU}",
"onCvxV2vThreatIndInfo target_classification = ${
getMessageDirection(info.ext_info.target_classification)
} --- direction = $direction --- appId = $appId ---level = $level -- status = $status"
)
}
handleSdkObu(appId, direction, status, level, info)
}
}

View File

@@ -336,7 +336,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb
}
private fun refreshCarState(location: MogoLocation) {
fixCarAngle(location)
V2XStatusManager.getInstance().location = location
// 只有车速大于 5 的时候进行计算
if (location.speed < 5) return
val v2xPolyline = BridgeApi.v2xPolyline()?.mogoPolyline
@@ -422,32 +422,6 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb
}
}
private fun fixCarAngle(location: MogoLocation) { // 记录位置轨迹
// 记录位置轨迹
if (historyPath[0] != null) {
historyPath[1] = historyPath[0]
}
historyPath[0] = location
if (historyPath[1] != null && historyPath[0] != null) {
val carAngle: Double = DrivingDirectionUtils.getCarAngle(
historyPath[1]!!.latitude,
historyPath[1]!!.longitude,
historyPath[0]!!.latitude,
historyPath[0]!!.longitude
).toDouble()
//CallerLogger.d("$M_V2X$TAG",
// "\n车辆经纬度" + Arrays.toString(historyPath) +
// "\n车辆角度" + carAngle);
// 这里是真实的车辆角度
location.bearing = carAngle.toFloat()
} else { //CallerLogger.e("$M_V2X$TAG",
// "\n首次获取经纬度默认车头朝北" + Arrays.toString(historyPath));
location.bearing = 0.0f
}
V2XStatusManager.getInstance().location = location
}
override fun onTokenGot(token: String?, sn: String?) {
if (V2XManager.hasInit()) {

View File

@@ -86,8 +86,7 @@ public class V2XScenarioManager implements IV2XScenarioManager {
break;
default:
mV2XScenario = null;
CallerLogger.INSTANCE.e(M_V2X + TAG, "当前V2X消息类型未定义");
TipToast.tip("当前V2X消息类型未定义");
CallerLogger.INSTANCE.e(M_V2X + TAG, "当前V2X消息类型未定义:" + v2XMessageEntity);
return;
}
// 展示最新的消息

View File

@@ -82,7 +82,7 @@ MOGO_LOCATION_VERSION=1.3.50
MOGO_TELEMATIC_VERSION=1.3.50
######## MogoAiCloudSDK Version ########
# 自研地图
MAP_SDK_VERSION=2.0.9.9
MAP_SDK_VERSION=2.0.9.11
MAP_SDK_OPERATION_VERSION=1.0.12
# websocket
WEBSOCKET_VERSION=1.1.7
@@ -90,8 +90,8 @@ WEBSOCKET_VERSION=1.1.7
applicationId=com.mogo.launcer
applicationName=IntelligentPilot
# RoboBus司机端2.5.1RoboTaxi司机端2.5.1RoboTaxi乘客端1.0.0
versionCode=2060000
versionName=2.6.0
versionCode=2060500
versionName=2.6.5
################# 新架构模块Maven版本管理 #################
MOGO_CORE_FUNCTION_AUTOPILOT_VERSION=0.0.58.10