[2.12.0] fix taxi司机端点击送驾导航崩溃问题
This commit is contained in:
@@ -52,7 +52,7 @@ public interface ITaxiOrderStatusCallback {
|
||||
/**
|
||||
* 导航到目的地
|
||||
* @param isAmap 是否是高德导航
|
||||
* @param isVoicePlay 是否播报声音
|
||||
* @param isShow 是否显示导航地图(否播报声音)
|
||||
*/
|
||||
void onNaviToEnd(boolean isAmap, boolean isVoicePlay);
|
||||
void onNaviToEnd(boolean isAmap, boolean isShow);
|
||||
}
|
||||
|
||||
@@ -1597,20 +1597,26 @@ public class TaxiModel {
|
||||
}
|
||||
|
||||
//导航去订单终点目的地
|
||||
public void startNaviToEndStation(boolean isVoicePlay){
|
||||
public void startNaviToEndStation(boolean isShow){
|
||||
if (mRoutePoints.size() > 0 ){ //使用自驾轨迹
|
||||
if (mOrderStatusCallback != null){
|
||||
mOrderStatusCallback.onNaviToEnd(false,isVoicePlay);
|
||||
mOrderStatusCallback.onNaviToEnd(false,isShow);
|
||||
}
|
||||
}else {//2s后若无轨迹数据使用高德导航
|
||||
UiThreadHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){
|
||||
mOrderStatusCallback.onNaviToEnd(true,isVoicePlay);
|
||||
}else {//若直接要显示导航地图则直接导航, 若不是则2s后若无轨迹数据使用高德导航
|
||||
if (isShow && mRoutePoints.size() == 0 && mOrderStatusCallback != null){
|
||||
|
||||
mOrderStatusCallback.onNaviToEnd(true,true);
|
||||
}else {
|
||||
UiThreadHandler.postDelayed(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (mRoutePoints.size() == 0 && mOrderStatusCallback != null){
|
||||
mOrderStatusCallback.onNaviToEnd(true,false);
|
||||
}
|
||||
}
|
||||
}
|
||||
},2000l);
|
||||
},2000l);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,8 +184,8 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
|
||||
}
|
||||
|
||||
//导航去订单目的地
|
||||
public void startNaviToEndStation(boolean isVoicePlay){
|
||||
TaxiModel.getInstance().startNaviToEndStation(isVoicePlay);
|
||||
public void startNaviToEndStation(boolean isShow){
|
||||
TaxiModel.getInstance().startNaviToEndStation(isShow);
|
||||
}
|
||||
|
||||
public void reportToEndDisAndTime(long lastSumLength, long duration){//米/秒
|
||||
@@ -323,8 +323,8 @@ public class TaxiPresenter extends Presenter<TaxiFragment> implements ITaxiADASS
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNaviToEnd(boolean isAmap, boolean isVoicePlay) {
|
||||
runOnUIThread( () -> mView.onNaviToEnd(isAmap,isVoicePlay));
|
||||
public void onNaviToEnd(boolean isAmap, boolean isShow) {
|
||||
runOnUIThread( () -> mView.onNaviToEnd(isAmap,isShow));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -618,7 +618,6 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
|
||||
* @param isShow
|
||||
*/
|
||||
private void showNaviToEndStationFragment(boolean isShow) {
|
||||
mTaxiFragment.showAmapNaviToStationFragment(isShow);
|
||||
mTaxiFragment.startNaviToEndStation(isShow);
|
||||
}
|
||||
|
||||
@@ -698,12 +697,13 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment
|
||||
}, 3000);
|
||||
}
|
||||
|
||||
public void onNaviToEndAmap(boolean isVoicePlay) {
|
||||
public void onNaviToEndAmap(boolean isShow) {
|
||||
if (mCurrentOrder != null &&
|
||||
mCurrentOrder.orderStatus == TaxiOrderStatusEnum.OnTheWayToEnd.getCode()){
|
||||
double orderEndStationLat = mCurrentOrder.endSiteGcjPoint.get(1);
|
||||
double orderEndStationLng = mCurrentOrder.endSiteGcjPoint.get(0);
|
||||
startNaviToStation(isVoicePlay,orderEndStationLat,orderEndStationLng);
|
||||
mTaxiFragment.showAmapNaviToStationFragment(isShow);
|
||||
startNaviToStation(isShow,orderEndStationLat,orderEndStationLng);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -95,8 +95,8 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startNaviToEndStation(boolean isVoicePlay) {
|
||||
mPresenter.startNaviToEndStation(isVoicePlay);
|
||||
public void startNaviToEndStation(boolean isShow) {
|
||||
mPresenter.startNaviToEndStation(isShow);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -311,10 +311,10 @@ public class TaxiFragment extends BaseTaxiTabFragment<TaxiFragment, TaxiPresente
|
||||
grabOrderFragment.onGrabOrderFailed();
|
||||
}
|
||||
|
||||
public void onNaviToEnd(boolean isAmap , boolean isVoicePlay){
|
||||
public void onNaviToEnd(boolean isAmap , boolean isShow){
|
||||
if (isAmap){
|
||||
if (null == serverOrdersFragment) return;
|
||||
serverOrdersFragment.onNaviToEndAmap(isVoicePlay);
|
||||
serverOrdersFragment.onNaviToEndAmap(isShow);
|
||||
}else { //使用rotting数据
|
||||
showRottingToStationFragment(true);
|
||||
}
|
||||
|
||||
@@ -215,8 +215,8 @@ public class TaxiServerOrdersFragment extends BaseTaxiUIFragment {
|
||||
beingServerdOrdersFragment.updateOrderBottomBtnUI();
|
||||
}
|
||||
|
||||
public void onNaviToEndAmap(boolean isVoicePlay){
|
||||
public void onNaviToEndAmap(boolean isShow){
|
||||
if (null == beingServerdOrdersFragment) return;
|
||||
beingServerdOrdersFragment.onNaviToEndAmap(isVoicePlay);
|
||||
beingServerdOrdersFragment.onNaviToEndAmap(isShow);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user