diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java index 4815bccb32..0b6ebc03de 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/utils/TopViewAnimHelper.java @@ -160,6 +160,11 @@ public class TopViewAnimHelper { public void startTopInAnim(View view, ViewGroup.LayoutParams params, IMogoTopViewStatusListener statusListener) { + + if ( topMotionLayout == null ) { + return; + } + Logger.d(TAG, "startTopInAnim=====" + isTopViewOut); if (view == null) { throw new IllegalArgumentException("method addTopView params view is null"); @@ -284,6 +289,11 @@ public class TopViewAnimHelper { } public void startTopOutAnim(View view) { + + if ( topMotionLayout == null ) { + return; + } + Logger.d("TopViewAnimHelper", "startTopOutAnim====="); if (!isTopViewOut && viewCaches.contains(view)) { if (topContainer.getChildCount() > 1) { @@ -379,6 +389,11 @@ public class TopViewAnimHelper { } public void showNaviView() { + + if ( topMotionLayout == null ) { + return; + } + Logger.d("TopViewAnimHelper", "showNaviView====="); setNaviVisibility(View.VISIBLE); int scene = 0; @@ -446,6 +461,11 @@ public class TopViewAnimHelper { } public void hideNaviView() { + + if ( topMotionLayout == null ) { + return; + } + Logger.d("TopViewAnimHelper", "hideNaviView====="); setNaviVisibility(View.GONE); remainDistanceGroup.setVisibility(View.GONE); diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java index 6c79c4f913..800d7e1d5a 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java @@ -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(); } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java index 5771fae3ca..799a0d9377 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesHandler.java @@ -59,9 +59,4 @@ public interface MogoModulesHandler { * 2. mogo-module-service */ void loadBaseModule(); - - /** - * 销毁 - */ - void destroy(); } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java index 7ae62ee3a9..22daa9f9bc 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/cards/MogoModulesManager.java @@ -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; - } } diff --git a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java index c6289de7ef..0b59af1923 100644 --- a/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java +++ b/modules/mogo-module-main/src/main/java/com/mogo/module/main/service/MogoMainService.java @@ -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 ); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java index 31825c7c11..d564a1757d 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java @@ -136,7 +136,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { ivIcon.setImageResource( R.drawable.icon_map_marker_living_light ); break; default: - ivIcon.setImageResource( R.drawable.icon_map_marker_shear_news ); + ivIcon.setImageResource( R.drawable.icon_map_marker_road_block_up2_light ); break; } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java index db970da316..1c83655149 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java @@ -103,7 +103,7 @@ public class MapMarkerView extends MapMarkerBaseView { break; case MarkerPoiTypeEnum.FOURS_PARKING: default: - ivIcon.setImageResource( R.drawable.icon_map_marker_shear_news ); + ivIcon.setImageResource( R.drawable.icon_map_marker_road_block_up2 ); break; } } diff --git a/services/mogo-service/build.gradle b/services/mogo-service/build.gradle index 1b26b1e000..2a95b0f6c7 100644 --- a/services/mogo-service/build.gradle +++ b/services/mogo-service/build.gradle @@ -40,7 +40,7 @@ dependencies { implementation rootProject.ext.dependencies.arouter annotationProcessor rootProject.ext.dependencies.aroutercompiler - implementation rootProject.ext.dependencies.adasapi + api rootProject.ext.dependencies.adasapi if (Boolean.valueOf(RELEASE)) { api rootProject.ext.dependencies.mogomap implementation rootProject.ext.dependencies.mogomapapi diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index 65459358ae..74ed5dfc73 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.os.RemoteException; +import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.AbsMogoApplication; @@ -65,7 +66,7 @@ public class MogoADASController implements IMogoADASController { @Override public void showADAS() { - Logger.d( TAG, "show adas" ); + Logger.d( TAG, Log.getStackTraceString( new Throwable( ) ) ); if ( !isProcessRunning( AbsMogoApplication.getApp(), getPackageUid( AbsMogoApplication.getApp(), "com.zhidiao.autopilot" ) ) ) { init( AbsMogoApplication.getApp() ); }