This commit is contained in:
wangcongtao
2020-06-10 15:21:16 +08:00
parent 719a447789
commit aaf50f128f
9 changed files with 43 additions and 24 deletions

View File

@@ -36,6 +36,7 @@ import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.utils.logger.Logger;
import com.zhidao.autopilot.support.api.AutopilotServiceManage;
import org.aspectj.lang.annotation.Around;
@@ -115,6 +116,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
}
mMogoStatusManager = mServiceApis.getStatusManagerApi();
AutopilotServiceManage.getInstance().init( getContext() );
}
@Override
@@ -128,7 +130,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoMapService.getHostListenerRegister().registerHostNaviListener( EventDispatchCenter.getInstance() );
mMogoMapService.getHostListenerRegister().registerHostAimlessModeListener( EventDispatchCenter.getInstance() );
mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
mMogoMapService.getNavi( this ).registerCarLocationChangedListener( EventDispatchCenter.getInstance() );
}
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
@@ -138,7 +139,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
loadContainerModules();
MogoModulesManager.getInstance().loadModules();
mPresenter.delayOperations();
hideCoverUpLayout();
// 右移地图中心点
mMogoMapUIController = mMogoMapService.getMapUIController();
@@ -237,7 +237,8 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
super.onBackPressed();
}
}
if ( mMogoFragmentManager != null ) {
if ( mMogoFragmentManager != null
&& mMogoFragmentManager.getStackSize() > 0 ) {
mMogoFragmentManager.pop();
}
}
@@ -259,12 +260,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected void onDestroy() {
super.onDestroy();
if ( MogoModulesManager.getInstance() != null ) {
MogoModulesManager.getInstance().destroy();
}
mMogoMapService = null;
mMogoMapUIController = null;
mMogoFragmentManager = null;
AutopilotServiceManage.getInstance().release();
AIAssist.getInstance( this ).release();
}
}

View File

@@ -59,9 +59,4 @@ public interface MogoModulesHandler {
* 2. mogo-module-service
*/
void loadBaseModule();
/**
* 销毁
*/
void destroy();
}

View File

@@ -160,13 +160,4 @@ public class MogoModulesManager implements MogoModulesHandler {
.add( containerId, fragment, provider.getModuleName() )
.commitAllowingStateLoss();
}
@Override
public void destroy() {
mActivity = null;
if ( mModuleProviders != null ) {
mModuleProviders.clear();
}
mModuleProviders = null;
}
}

View File

@@ -17,6 +17,7 @@ import com.mogo.module.main.cards.MogoModulesManager;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.utils.logger.Logger;
import com.zhidao.roadcondition.service.MainService;
public
/**
@@ -49,6 +50,8 @@ class MogoMainService extends Service implements IMogoLocationListener {
mServiceApis = ( IMogoServiceApis ) ARouter.getInstance().build( MogoServicePaths.PATH_SERVICE_APIS ).navigation();
initAndStartLocation();
loadBaseModules();
startTanluService();
initADAS();
return START_STICKY;
}
@@ -57,6 +60,8 @@ class MogoMainService extends Service implements IMogoLocationListener {
mLocationClient = mServiceApis.getMapServiceApi().getSingletonLocationClient( AbsMogoApplication.getApp() );
mLocationClient.addLocationListener( this );
mLocationClient.start( 2_000L );
mServiceApis.getMapServiceApi().getNavi( this ).registerCarLocationChangedListener( EventDispatchCenter.getInstance() );
}
private void loadBaseModules() {
@@ -64,6 +69,14 @@ class MogoMainService extends Service implements IMogoLocationListener {
MogoModulesManager.getInstance().loadBaseModule();
}
private void startTanluService(){
MainService.Companion.launchService( getApplicationContext(), "0" );
}
private void initADAS(){
mServiceApis.getAdasControllerApi().init( AbsMogoApplication.getApp() );
}
@Override
public void onLocationChanged( MogoLocation location ) {
EventDispatchCenter.getInstance().onLocationChanged( location );