[2.12.0] fix taxi司机端点击送驾导航崩溃问题
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
* @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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user