[Update]Map按照新架构重构
This commit is contained in:
@@ -70,7 +70,7 @@ dependencies {
|
||||
api rootProject.ext.dependencies.mogoserviceapi
|
||||
api rootProject.ext.dependencies.moduleservice
|
||||
api rootProject.ext.dependencies.mogoservice
|
||||
api rootProject.ext.dependencies.mapcustom
|
||||
api rootProject.ext.dependencies.mogomap
|
||||
api rootProject.ext.dependencies.crashreportupgrade
|
||||
// api rootProject.ext.dependencies.crashreportbugly
|
||||
|
||||
@@ -96,7 +96,7 @@ dependencies {
|
||||
api project(':services:mogo-service')
|
||||
|
||||
api project(':modules:mogo-module-service')
|
||||
api project(':libraries:map-custom')
|
||||
api project(':libraries:mogo-map')
|
||||
api project(':test:crashreport-upgrade')
|
||||
// api project(':test:crashreport-bugly')
|
||||
api project(':test:crashreport-apmbyte')
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.mogo.commons.mvp.MvpFragment;
|
||||
import com.mogo.eagle.core.data.constants.MoGoFragmentPaths;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
|
||||
import com.mogo.eagle.core.function.main.cards.MogoModulesManager;
|
||||
import com.mogo.eagle.core.function.main.service.MogoMainService;
|
||||
import com.mogo.eagle.core.function.main.utils.DisplayEffectsHelper;
|
||||
@@ -34,9 +35,11 @@ import com.mogo.eagle.core.utilcode.mogo.permissions.PermissionsDialogUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.toast.ResourcesHelper;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.eagle.core.utilcode.util.ProcessUtils;
|
||||
import com.mogo.map.listener.IMogoHosListenerRegister;
|
||||
import com.mogo.map.listener.MogoMapListenerHandler;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
import com.mogo.map.uicontroller.EnumMapUI;
|
||||
import com.mogo.map.uicontroller.IMogoMapUIController;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.service.IMogoServiceApis;
|
||||
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
|
||||
@@ -104,14 +107,14 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
// if (CallChatApi.getInstance().getApiProvider() != null) {
|
||||
// CallChatApi.getInstance().getApiProvider().initVehicleTeamContainer("init", R.id.module_main_id_message_history_fragment_container, this);
|
||||
// }
|
||||
//申请悬浮窗权限
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
// 检查是否有悬浮窗权限
|
||||
if (Settings.canDrawOverlays(this)) {
|
||||
return;
|
||||
}
|
||||
PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG);
|
||||
}
|
||||
// //申请悬浮窗权限
|
||||
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
// // 检查是否有悬浮窗权限
|
||||
// if (Settings.canDrawOverlays(this)) {
|
||||
// return;
|
||||
// }
|
||||
// PermissionsDialogUtils.openAppDetails(this, "显示悬浮窗", REQUEST_CODE_DIALOG);
|
||||
// }
|
||||
}
|
||||
|
||||
// 隐藏布局
|
||||
@@ -189,9 +192,10 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
|
||||
MogoModulesManager.getInstance().init(this);
|
||||
|
||||
if (mServiceApis.getMapServiceApi() != null) {
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener(EventDispatchCenter.getInstance());
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener(EventDispatchCenter.getInstance());
|
||||
IMogoHosListenerRegister listenerRegister = CallerMapUIServiceManager.INSTANCE.getHostListenerRegister();
|
||||
if (listenerRegister != null) {
|
||||
listenerRegister.registerHostMapListener(EventDispatchCenter.getInstance());
|
||||
listenerRegister.registerMarkerClickListener(EventDispatchCenter.getInstance());
|
||||
}
|
||||
|
||||
initAdasControlStatusListener();
|
||||
@@ -376,8 +380,11 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterMarkerClickListener();
|
||||
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostMapListener();
|
||||
IMogoHosListenerRegister listenerRegister = CallerMapUIServiceManager.INSTANCE.getHostListenerRegister();
|
||||
if (listenerRegister != null) {
|
||||
listenerRegister.unregisterMarkerClickListener();
|
||||
listenerRegister.unregisterHostMapListener();
|
||||
}
|
||||
mServiceApis.getRegisterCenterApi().unregisterADASControlStatusChangedListener(TAG);
|
||||
mMogoStatusManager.setMainPageLaunchedStatus(TAG, false);
|
||||
mMogoStatusManager.setMainPageIsBackgroundStatus(TAG, false);
|
||||
@@ -386,7 +393,8 @@ public class MainActivity extends MvpActivity<MainView, MainPresenter> implement
|
||||
mMogoFragmentManager.destroy();
|
||||
mMogoFragmentManager = null;
|
||||
}
|
||||
mServiceApis.getMapServiceApi().getMapUIController().destroy();
|
||||
IMogoMapUIController mapUIController = CallerMapUIServiceManager.INSTANCE.getMapUIController();
|
||||
if (mapUIController != null) mapUIController.destroy();
|
||||
AdasConfigApiController.getInstance().release();
|
||||
mServiceApis.getAdasControllerApi().release();
|
||||
CallerLogger.INSTANCE.d(M_MAIN + TAG, "destroy.");
|
||||
|
||||
@@ -21,13 +21,15 @@ import com.mogo.eagle.core.data.constants.MoGoConfig;
|
||||
import com.mogo.eagle.core.data.constants.MogoServicePaths;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.api.chat.biz.ChatConsts;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
|
||||
import com.mogo.eagle.core.function.notice.PushUIConstants;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils;
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
|
||||
import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr;
|
||||
import com.mogo.eagle.core.utilcode.util.ProcessUtils;
|
||||
import com.mogo.map.MapApiPath;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.MogoModule;
|
||||
import com.mogo.module.common.MogoModulePaths;
|
||||
@@ -186,11 +188,11 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
// clientConfig.setUseOriginSocket(true);
|
||||
|
||||
clientConfig.setIHttpDnsCurrentLocation(() -> {
|
||||
MogoLocation mogoLocation =
|
||||
MogoApisHandler.getInstance()
|
||||
.getApis().getMapServiceApi()
|
||||
.getSingletonLocationClient(getApp())
|
||||
.getLastKnowLocation();
|
||||
MogoLocation mogoLocation = null;
|
||||
IMogoLocationClient locationClient = CallerMapUIServiceManager.INSTANCE.getSingletonLocationClient(getApp());
|
||||
if (locationClient != null) {
|
||||
mogoLocation = locationClient.getLastKnowLocation();
|
||||
}
|
||||
HttpDnsSimpleLocation httpDnsSimpleLocation;
|
||||
if (mogoLocation != null
|
||||
&& mogoLocation.getLatitude() != 0
|
||||
@@ -257,9 +259,12 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
if (DebugConfig.getCarMachineType() != DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE) {
|
||||
IMogoServiceApis apis = MogoApisHandler.getInstance().getApis();
|
||||
apis.getLocationInfoApi().start();
|
||||
apis.getMapServiceApi().getSingletonLocationClient(getApplicationContext()).addLocationListener(location -> {
|
||||
apis.getLocationInfoApi().provideLocation(location);
|
||||
});
|
||||
IMogoLocationClient locationClient = CallerMapUIServiceManager.INSTANCE.getSingletonLocationClient(getApplicationContext());
|
||||
if (locationClient != null) {
|
||||
locationClient.addLocationListener(location -> {
|
||||
apis.getLocationInfoApi().provideLocation(location);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,12 +6,15 @@ import android.os.Message;
|
||||
import android.os.SystemClock;
|
||||
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.eagle.core.data.BaseData;
|
||||
import com.mogo.eagle.core.data.map.MogoLocation;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
|
||||
import com.mogo.eagle.core.network.RequestOptions;
|
||||
import com.mogo.eagle.core.network.SubscribeImpl;
|
||||
import com.mogo.eagle.core.network.utils.GsonUtil;
|
||||
import com.mogo.eagle.core.utilcode.util.NetworkUtils;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
@@ -103,7 +106,11 @@ public class DelayCheckUtil implements Handler.Callback {
|
||||
}
|
||||
|
||||
private void startUpload() {
|
||||
MogoLocation lastLocation = MogoApisHandler.getInstance().getApis().getMapServiceApi().getSingletonLocationClient(context).getLastKnowLocation();
|
||||
IMogoLocationClient locationClient = CallerMapUIServiceManager.INSTANCE.getSingletonLocationClient(AbsMogoApplication.getApp());
|
||||
MogoLocation lastLocation = null;
|
||||
if (locationClient != null) {
|
||||
lastLocation = locationClient.getLastKnowLocation();
|
||||
}
|
||||
if (lastLocation == null) {
|
||||
handler.sendEmptyMessageDelayed(MSG_START_DELAY_CHECK, DELAY_CHECK_DELAY);
|
||||
return;
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.function.main.EventDispatchCenter;
|
||||
import com.mogo.eagle.core.function.main.cards.MogoModulesManager;
|
||||
import com.mogo.eagle.core.function.main.delaycheck.DelayCheckUtil;
|
||||
import com.mogo.eagle.core.function.main.monitoring.VehicleMonitoring;
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager;
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
|
||||
import com.mogo.map.location.IMogoLocationClient;
|
||||
import com.mogo.map.location.IMogoLocationListener;
|
||||
@@ -76,8 +77,8 @@ class MogoMainService extends Service implements IMogoLocationListener {
|
||||
|
||||
private void initAndStartLocation() {
|
||||
CallerLogger.INSTANCE.d(M_MAIN + TAG, "开始定位");
|
||||
if (mServiceApis != null) {
|
||||
mLocationClient = mServiceApis.getMapServiceApi().getSingletonLocationClient(AbsMogoApplication.getApp());
|
||||
mLocationClient = CallerMapUIServiceManager.INSTANCE.getSingletonLocationClient(AbsMogoApplication.getApp());
|
||||
if (mLocationClient != null) {
|
||||
mLocationClient.addLocationListener(this);
|
||||
mLocationClient.start(2_000L);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user