[2.12.0] fix taxi司机端点击送驾导航崩溃问题

This commit is contained in:
wangmingjun
2022-11-10 14:55:29 +08:00
parent a9333e0123
commit b4d64c5b27
7 changed files with 32 additions and 26 deletions

View File

@@ -52,7 +52,7 @@ public interface ITaxiOrderStatusCallback {
/** /**
* 导航到目的地 * 导航到目的地
* @param isAmap 是否是高德导航 * @param isAmap 是否是高德导航
* @param isVoicePlay 是否播报声音 * @param isShow 是否显示导航地图(否播报声音
*/ */
void onNaviToEnd(boolean isAmap, boolean isVoicePlay); void onNaviToEnd(boolean isAmap, boolean isShow);
} }

View File

@@ -1597,20 +1597,26 @@ public class TaxiModel {
} }
//导航去订单终点目的地 //导航去订单终点目的地
public void startNaviToEndStation(boolean isVoicePlay){ public void startNaviToEndStation(boolean isShow){
if (mRoutePoints.size() > 0 ){ //使用自驾轨迹 if (mRoutePoints.size() > 0 ){ //使用自驾轨迹
if (mOrderStatusCallback != null){ if (mOrderStatusCallback != null){
mOrderStatusCallback.onNaviToEnd(false,isVoicePlay); mOrderStatusCallback.onNaviToEnd(false,isShow);
} }
}else {//2s后若无轨迹数据使用高德导航 }else {//若直接要显示导航地图则直接导航, 若不是则2s后若无轨迹数据使用高德导航
UiThreadHandler.postDelayed(new Runnable() { if (isShow && mRoutePoints.size() == 0 && mOrderStatusCallback != null){
@Override
public void run() { mOrderStatusCallback.onNaviToEnd(true,true);
if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){ }else {
mOrderStatusCallback.onNaviToEnd(true,isVoicePlay); UiThreadHandler.postDelayed(new Runnable() {
@Override
public void run() {
if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){
mOrderStatusCallback.onNaviToEnd(true,false);
}
} }
} },2000l);
},2000l); }
} }
} }
} }

View File

@@ -184,8 +184,8 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
} }
//导航去订单目的地 //导航去订单目的地
public void startNaviToEndStation(boolean isVoicePlay){ public void startNaviToEndStation(boolean isShow){
TaxiModel.getInstance().startNaviToEndStation(isVoicePlay); TaxiModel.getInstance().startNaviToEndStation(isShow);
} }
public void reportToEndDisAndTime(long lastSumLength, long duration){//米/秒 public void reportToEndDisAndTime(long lastSumLength, long duration){//米/秒
@@ -323,8 +323,8 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
} }
@Override @Override
public void onNaviToEnd(boolean isAmap, boolean isVoicePlay) { public void onNaviToEnd(boolean isAmap, boolean isShow) {
runOnUIThread( () -> mView.onNaviToEnd(isAmap,isVoicePlay)); runOnUIThread( () -> mView.onNaviToEnd(isAmap,isShow));
} }
@Override @Override

View File

@@ -624,5 +624,5 @@ public abstract class BaseTaxiTabFragment<V extends IView, P extends Presenter<V
public abstract void startNaviToEndStation(boolean isVoicePlay); public abstract void startNaviToEndStation(boolean isShow);
} }

View File

@@ -618,7 +618,6 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
* @param isShow * @param isShow
*/ */
private void showNaviToEndStationFragment(boolean isShow) { private void showNaviToEndStationFragment(boolean isShow) {
mTaxiFragment.showAmapNaviToStationFragment(isShow);
mTaxiFragment.startNaviToEndStation(isShow); mTaxiFragment.startNaviToEndStation(isShow);
} }
@@ -698,12 +697,13 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
}, 3000); }, 3000);
} }
public void onNaviToEndAmap(boolean isVoicePlay) { public void onNaviToEndAmap(boolean isShow) {
if (mCurrentOrder != null && if (mCurrentOrder != null &&
mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){ mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){
double orderEndStationLat = mCurrentOrder.endSiteGcjPoint.get(1); double orderEndStationLat = mCurrentOrder.endSiteGcjPoint.get(1);
double orderEndStationLng = mCurrentOrder.endSiteGcjPoint.get(0); double orderEndStationLng = mCurrentOrder.endSiteGcjPoint.get(0);
startNaviToStation(isVoicePlay,orderEndStationLat,orderEndStationLng); mTaxiFragment.showAmapNaviToStationFragment(isShow);
startNaviToStation(isShow,orderEndStationLat,orderEndStationLng);
} }
} }

View File

@@ -95,8 +95,8 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
} }
@Override @Override
public void startNaviToEndStation(boolean isVoicePlay) { public void startNaviToEndStation(boolean isShow) {
mPresenter.startNaviToEndStation(isVoicePlay); mPresenter.startNaviToEndStation(isShow);
} }
@Override @Override
@@ -311,10 +311,10 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
grabOrderFragment.onGrabOrderFailed(); grabOrderFragment.onGrabOrderFailed();
} }
public void onNaviToEnd(boolean isAmap , boolean isVoicePlay){ public void onNaviToEnd(boolean isAmap , boolean isShow){
if (isAmap){ if (isAmap){
if (null == serverOrdersFragment) return; if (null == serverOrdersFragment) return;
serverOrdersFragment.onNaviToEndAmap(isVoicePlay); serverOrdersFragment.onNaviToEndAmap(isShow);
}else { //使用rotting数据 }else { //使用rotting数据
showRottingToStationFragment(true); showRottingToStationFragment(true);
} }

View File

@@ -215,8 +215,8 @@ public class TaxiServerOrdersFragment extends BaseTaxiUIFragment {
beingServerdOrdersFragment.updateOrderBottomBtnUI(); beingServerdOrdersFragment.updateOrderBottomBtnUI();
} }
public void onNaviToEndAmap(boolean isVoicePlay){ public void onNaviToEndAmap(boolean isShow){
if (null == beingServerdOrdersFragment) return; if (null == beingServerdOrdersFragment) return;
beingServerdOrdersFragment.onNaviToEndAmap(isVoicePlay); beingServerdOrdersFragment.onNaviToEndAmap(isShow);
} }
} }