[2.13.0-arch-opt] merge

This commit is contained in:
zhongchao
2022-12-28 11:37:33 +08:00
parent ddeb1e306c
commit d9077e8847
97 changed files with 804 additions and 2003 deletions

View File

@@ -46,7 +46,6 @@ import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
import com.mogo.eagle.core.utilcode.mogo.toast.TipToast;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.map.listener.MogoMapListenerHandler;
import com.mogo.map.navi.MogoCarLocationChangedListenerRegister;
import com.mogo.map.uicontroller.CarCursorOption;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
@@ -330,9 +329,9 @@ public class AMapViewWrapper implements IMogoMapView,
CallerLogger.INSTANCE.d(M_MAP + TAG, "map onDestroy");
}
if (mLocationTask != null) {
mainHandler.removeCallbacks(mLocationTask);
}
// if (mLocationTask != null) {
// mainHandler.removeCallbacks(mLocationTask);
// }
}
@Override
@@ -706,40 +705,40 @@ public class AMapViewWrapper implements IMogoMapView,
CallerMapDevaListenerManager.INSTANCE.invokeUploadLogFile(filePath);
}
private static class LocationTask implements Runnable {
// private static class LocationTask implements Runnable {
//
// private MogoLocation location;
//
// public void setMoGoLocation(MogoLocation location) {
// this.location = location;
// }
//
// @Override
// public void run() {
// if (location != null) {
// CallerMapLocationListenerManager.INSTANCE.invokeMapLocationChangeListener(location, 1, false);
// location = null;
// }
// }
// }
private MogoLocation location;
// private volatile LocationTask mLocationTask;
public void setMoGoLocation(MogoLocation location) {
this.location = location;
}
@Override
public void run() {
if (location != null) {
CallerMapLocationListenerManager.INSTANCE.invokeMapLocationChangeListener(location, 1, false);
location = null;
}
}
}
private volatile LocationTask mLocationTask;
private final Handler mainHandler = new Handler(Looper.getMainLooper());
// private final Handler mainHandler = new Handler(Looper.getMainLooper());
@Override
public void onLocationChanged(@NotNull com.zhidaoauto.map.sdk.open.location.MogoLocation location) {
MogoLocation currentLocation = ObjectUtils.fromLocation(location);
if (Looper.myLooper() == Looper.getMainLooper()) {
CallerMapLocationListenerManager.INSTANCE.invokeMapLocationChangeListener(currentLocation, 1, false);
} else {
if (mLocationTask == null) {
mLocationTask = new LocationTask();
}
mLocationTask.setMoGoLocation(currentLocation);
mainHandler.removeCallbacks(mLocationTask);
mainHandler.post(mLocationTask);
}
// MogoLocation currentLocation = ObjectUtils.fromLocation(location);
// if (Looper.myLooper() == Looper.getMainLooper()) {
// CallerMapLocationListenerManager.INSTANCE.invokeMapLocationChangeListener(currentLocation, 1, false);
// } else {
// if (mLocationTask == null) {
// mLocationTask = new LocationTask();
// }
// mLocationTask.setMoGoLocation(currentLocation);
// mainHandler.removeCallbacks(mLocationTask);
// mainHandler.post(mLocationTask);
// }
// 将有效经纬度暂存本地提供给下一次的Http-DNS使用防止首次请求位置获取不到
if (location.getLat() > 0 && location.getLon() > 0) {
@@ -753,20 +752,20 @@ public class AMapViewWrapper implements IMogoMapView,
.putString(SharedPrefsConstants.LOCATION_LONGITUDE, String.valueOf(location.getLon()));
}
// 同步给各个模块
Location sysLocation = new Location(location.getProvider());
sysLocation.setAltitude(location.getAltitude());
sysLocation.setLatitude(location.getLat());
sysLocation.setLongitude(location.getLon());
sysLocation.setProvider(location.getProvider());
sysLocation.setAccuracy(location.getAcceleration());
sysLocation.setTime(location.duration);
sysLocation.setBearing((float) location.getHeading());
sysLocation.setSpeed(location.getSpeed());
// // 同步给各个模块
// Location sysLocation = new Location(location.getProvider());
// sysLocation.setAltitude(location.getAltitude());
// sysLocation.setLatitude(location.getLat());
// sysLocation.setLongitude(location.getLon());
// sysLocation.setProvider(location.getProvider());
// sysLocation.setAccuracy(location.getAcceleration());
// sysLocation.setTime(location.duration);
// sysLocation.setBearing((float) location.getHeading());
// sysLocation.setSpeed(location.getSpeed());
if (MogoCarLocationChangedListenerRegister.getInstance().getListener() != null) {
MogoCarLocationChangedListenerRegister.getInstance().getListener().onCarLocationChanged2(sysLocation);
}
// if (MogoCarLocationChangedListenerRegister.getInstance().getListener() != null) {
// MogoCarLocationChangedListenerRegister.getInstance().getListener().onCarLocationChanged2(sysLocation);
// }
if (checkAMapView() && mMapLoaded) {
// 地图初始化完成后每隔5s自动判断当前地图的模式
if (mIsFirstLocated) {