diff --git a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java index a0de8f4d6f..37d89fbac1 100644 --- a/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java +++ b/OCH/mogo-och-common-module/src/main/java/com/mogo/och/common/module/map/AmapNaviToDestinationModel.java @@ -22,6 +22,7 @@ import com.amap.api.navi.model.AimLessModeCongestionInfo; import com.amap.api.navi.model.AimLessModeStat; import com.amap.api.navi.model.NaviInfo; import com.amap.api.navi.model.NaviLatLng; +import com.mogo.commons.AbsMogoApplication; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.och.common.module.utils.PermissionUtil; @@ -39,7 +40,6 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { public static final String TAG = "NaviToDestinationModel"; - private static Context mContext; private AMapNavi mAMapNavi = null; protected final List sList = new ArrayList(); protected final List eList = new ArrayList(); @@ -49,7 +49,6 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { private boolean isPlay; public static AmapNaviToDestinationModel getInstance(Context context) { - mContext = context; return SingletonHolder.INSTANCE; } @@ -62,7 +61,8 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { public void initAMapNavi(NaviLatLng startLatLng, NaviLatLng endLatLng) { try { - mAMapNavi = AMapNavi.getInstance(mContext); + CallerLogger.i( TAG, "initAMapNavi()"); + mAMapNavi = AMapNavi.getInstance(AbsMogoApplication.getApp()); mAMapNavi.addAMapNaviListener(this); mAMapNavi.setUseInnerVoice(true, true); sList.add(startLatLng); @@ -88,6 +88,7 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { public void destroyAmaNavi() { if (mAMapNavi != null) { + CallerLogger.i( TAG, "destroyAmaNavi()"); isPlay = false; sList.clear(); eList.clear(); @@ -104,7 +105,7 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { @Override public void onInitNaviFailure() { - Toast.makeText(mContext, "init navi Failed", Toast.LENGTH_SHORT).show(); + Toast.makeText(AbsMogoApplication.getApp(), "init navi Failed", Toast.LENGTH_SHORT).show(); } @Override @@ -141,8 +142,8 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { @Override public void onNaviInfoUpdate(NaviInfo naviinfo) { //导航过程中的信息更新,请看NaviInfo的具体说明 + CallerLogger.i( TAG, "距离=" + naviinfo.getPathRetainDistance() + ", 剩余时间 " + naviinfo.getPathRetainTime()); if (null != mNaviChangedCallback) { - CallerLogger.i(M_TAXI + TAG, "距离=" + naviinfo.getPathRetainDistance() + ", 剩余时间 " + naviinfo.getPathRetainTime()); mNaviChangedCallback.onCurrentNaviDistAndTimeChanged(naviinfo.getPathRetainDistance(), naviinfo.getPathRetainTime());// 米、秒 } } @@ -162,14 +163,14 @@ public class AmapNaviToDestinationModel implements AMapNaviListener { mNaviChangedCallback.reInitNaviAmap(isPlay, true); } } - if (!NetworkUtils.isConnected(mContext) || result.getErrorCode() == 2) { + if (!NetworkUtils.isConnected(AbsMogoApplication.getApp()) || result.getErrorCode() == 2) { ToastCharterUtils.showToastShort("网络异常,请重试"); if (mNaviChangedCallback != null) { mNaviChangedCallback.reInitNaviAmap(isPlay, false); } return; } - if (!PermissionUtil.isLocServiceEnable(mContext) || !PermissionUtil.checkPermission(mContext, new String[]{Manifest.permission.ACCESS_FINE_LOCATION})) { + if (!PermissionUtil.isLocServiceEnable(AbsMogoApplication.getApp()) || !PermissionUtil.checkPermission(AbsMogoApplication.getApp(), new String[]{Manifest.permission.ACCESS_FINE_LOCATION})) { ToastCharterUtils.showToastShort("请开启车机定位后重试"); if (mNaviChangedCallback != null) { mNaviChangedCallback.reInitNaviAmap(isPlay, false); diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 53d97c34e4..b0ba113e37 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -816,7 +816,9 @@ object TaxiTaskModel { } } else { d(TAG, "updateLocalCalculateStation stop") - AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi() + if (mDriveToNearestStationTask == null){ + AmapNaviToDestinationModel.getInstance(mContext).destroyAmaNavi() + } setStationPoint(null, null, -1L) } }