[6.1.0] 解决前往上车点里程和时间不更新问题

This commit is contained in:
wangmingjun
2023-10-09 12:19:12 +08:00
parent a1d73e64ea
commit aaa5697f94
2 changed files with 11 additions and 8 deletions

View File

@@ -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<NaviLatLng> sList = new ArrayList<NaviLatLng>();
protected final List<NaviLatLng> eList = new ArrayList<NaviLatLng>();
@@ -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);

View File

@@ -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)
}
}