This commit is contained in:
unknown
2020-11-13 17:36:37 +08:00
515 changed files with 13820 additions and 623 deletions

View File

@@ -18,7 +18,6 @@ import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
@@ -28,7 +27,6 @@ import com.mogo.module.main.windowview.FloatingViewHandler;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.adas.IMogoADASControlStatusChangedListener;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.statusmanager.IMogoStatusManager;
import com.mogo.skin.support.SkinMode;
@@ -53,12 +51,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
protected static final String TAG = MainActivity.class.getSimpleName();
protected IMogoServiceApis mServiceApis;
protected IMogoMapService mMogoMapService;
protected IMogoMapUIController mMogoMapUIController;
protected IMogoFragmentManager mMogoFragmentManager;
protected IMogoStatusManager mMogoStatusManager;
// protected View mHeader;
protected View mApps;
protected View mEntrance;
protected View mEventPanel;
@@ -70,6 +65,9 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected int getLayoutId() {
if ( !DebugConfig.isMapBased() ) {
return R.layout.module_main_activity_main_no_map;
}
return R.layout.module_main_activity_main;
}
@@ -95,7 +93,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
getWindow().setBackgroundDrawable( null );
// mHeader = findViewById( R.id.module_main_id_header_fragment_container );
mApps = findViewById( R.id.module_main_id_apps_fragment_container );
mEntrance = findViewById( R.id.module_main_id_entrance_fragment_container );
mEventPanel = findViewById( R.id.module_main_id_event_panel_fragment_container );
@@ -115,7 +112,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
// 隐藏布局
protected void hideLayout() {
// mHeader.setVisibility( View.GONE );
mEntrance.setVisibility( View.GONE );
mEventPanel.setVisibility( View.GONE );
mFloatingLayout.setVisibility( View.GONE );
@@ -123,7 +119,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
// 显示布局
protected void showLayout() {
// mHeader.setVisibility( View.VISIBLE );
mEntrance.setVisibility( View.VISIBLE );
mEventPanel.setVisibility( View.VISIBLE );
mFloatingLayout.setVisibility( View.VISIBLE );
@@ -132,7 +127,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected void onCreate( @Nullable Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
ContextHolderUtil.holdContext(this);
ContextHolderUtil.holdContext( this );
mPresenter.postLoadModuleMsg();
}
@@ -154,41 +149,32 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
MogoModulesManager.getInstance().init( this );
loadSplash();
mMogoMapService = mServiceApis.getMapServiceApi();
if ( mMogoMapService != null ) {
mMogoMapService.getHostListenerRegister().registerHostMapListener( EventDispatchCenter.getInstance() );
mMogoMapService.getHostListenerRegister().registerHostNaviListener( EventDispatchCenter.getInstance() );
mMogoMapService.getHostListenerRegister().registerHostAimlessModeListener( EventDispatchCenter.getInstance() );
mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
}
// IMogoObuManager obuManager = mServiceApis.getObuManager();
// if(obuManager!=null) {
// obuManager.registerObuDataChangedListener(EventDispatchCenter.getInstance());
// }
if ( DebugConfig.isMapBased() ) {
if ( mServiceApis.getMapServiceApi() != null ) {
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostMapListener( EventDispatchCenter.getInstance() );
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostNaviListener( EventDispatchCenter.getInstance() );
mServiceApis.getMapServiceApi().getHostListenerRegister().registerHostAimlessModeListener( EventDispatchCenter.getInstance() );
mServiceApis.getMapServiceApi().getHostListenerRegister().registerMarkerClickListener( this );
}
}
if ( DebugConfig.isSkinSupported() ) {
initAdasControlStatusListener();
}
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
// 右移地图中心点
mMogoMapUIController = mMogoMapService.getMapUIController();
MapCenterPointStrategy.init();
MapCenterPointStrategy.setMapCenterPointByScene( mMogoMapUIController, Scene.AIMLESS );
// 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
loadContainerModules();
MogoModulesManager.getInstance().loadModules();
mPresenter.delayOperations();
// 启动一些基本的服务:定位等
startBaseService();
Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
} );
MogoModulesManager.getInstance().loadMapModule( R.id.module_main_id_map_fragment_container );
if ( DebugConfig.isMapBased() ) {
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
resetMapCenterPoint();
loadOthersModules();
Log.i( "timer", "cost " + ( System.currentTimeMillis() - start ) + "ms" );
} );
MogoModulesManager.getInstance().loadMapModule( R.id.module_main_id_map_fragment_container );
} else {
loadOthersModules();
}
mMogoFragmentManager = mServiceApis.getFragmentManagerApi();
mMogoFragmentManager.init( this, R.id.module_main_id_search_fragment );
@@ -201,9 +187,22 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
}
} );
// 初始化MonitorModule
// IMogoMonitorProvider monitorProvider = (IMogoMonitorProvider) ARouter.getInstance().build(MogoServicePaths.PATH_MOGO_MONITOR).navigation(this);
// monitorProvider.resetActivityContext(this);
}
private void resetMapCenterPoint() {
// 右移地图中心点
MapCenterPointStrategy.init();
MapCenterPointStrategy.setMapCenterPointByScene( mServiceApis.getMapServiceApi().getMapUIController(), Scene.AIMLESS );
}
private void loadOthersModules() {
// 加载地图,触发地图加载完毕回调,在初始化其他卡片模块,保证卡片模块可以正确获取地图相关服务。
loadContainerModules();
MogoModulesManager.getInstance().loadModules();
mPresenter.delayOperations();
// 启动一些基本的服务:定位等
startBaseService();
}
private void initAdasControlStatusListener() {
@@ -220,7 +219,6 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
}
protected void loadContainerModules() {
// MogoModulesManager.getInstance().loadExtensionsModule( R.id.module_main_id_header_fragment_container );
MogoModulesManager.getInstance().loadEntrancesModule( R.id.module_main_id_entrance_fragment_container );
MogoModulesManager.getInstance().loadEventPanelModule( R.id.module_main_id_event_panel_fragment_container );
MogoModulesManager.getInstance().loadLeftPanelModule( R.id.module_main_id_left_panel_fragment_container );
@@ -228,6 +226,7 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
public void hideCoverUpLayout() {
Logger.d( TAG, "隐藏遮罩" );
mCoverUpLayout.setVisibility( View.GONE );
mServiceApis.getAdasControllerApi().showADAS();
}
@@ -345,13 +344,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
@Override
protected void onDestroy() {
super.onDestroy();
mMogoMapService.getHostListenerRegister().unregisterMarkerClickListener();
mMogoMapService.getHostListenerRegister().unregisterHostAimlessModeListener();
mMogoMapService.getHostListenerRegister().unregisterHostNaviListener();
mMogoMapService.getHostListenerRegister().unregisterHostMapListener();
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterMarkerClickListener();
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostAimlessModeListener();
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostNaviListener();
mServiceApis.getMapServiceApi().getHostListenerRegister().unregisterHostMapListener();
mMogoStatusManager.setMainPageLaunchedStatus( TAG, false );
mMogoMapService = null;
mMogoMapUIController = null;
mMogoFragmentManager.unregisterMainFragmentStackTransactionListener();
mMogoFragmentManager = null;
mServiceApis.getMapServiceApi().getMapViewInstanceHandler().destroy();

View File

@@ -6,12 +6,9 @@ import android.content.Context;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.launcher.ARouter;
import com.alibaba.idst.nls.internal.utils.L;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.main.MainActivity;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.utils.ResourcesHelper;
@@ -123,7 +120,7 @@ public class MogoModulesManager implements MogoModulesHandler {
@Override
public void loadEntrancesModule( int containerId ) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
.build( ExtensionsModuleConst.PATH_ENTRANCE )
.build( MogoModulePaths.PATH_ENTRANCE )
.navigation( getContext() );
addFragment( provider, containerId );
}

View File

@@ -79,8 +79,7 @@
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:background="@drawable/main_bitmap_splash_bg"
android:visibility="visible"
/>
android:visibility="visible" />
<FrameLayout
android:id="@+id/module_main_id_splash_container"

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 地图-->
<FrameLayout
android:id="@+id/module_main_id_map_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_map_left_shadow_frame"
android:layout_width="@dimen/module_main_map_left_shadow_frame_width"
android:layout_height="match_parent"
android:background="@drawable/module_main_dw_left_frame_bkg"
android:visibility="gone"
tools:visibility="visible" />
<!-- 左边按钮 -->
<FrameLayout
android:id="@+id/module_main_id_apps_fragment_container"
android:layout_width="@dimen/module_main_apps_fragment_container_width"
android:layout_height="match_parent"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop"/>
<!-- 左侧浮层,布局位置目前只考虑了1+16独立app情况 -->
<FrameLayout
android:id="@+id/module_main_id_left_panel_fragment_container"
android:layout_width="@dimen/module_main_id_left_panel_fragment_container_width"
android:layout_height="match_parent" />
<!-- 浮层-->
<FrameLayout
android:id="@+id/module_main_id_floating_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/module_main_id_event_panel_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop" />
<!--快捷操作浮层-->
<FrameLayout
android:id="@+id/module_main_id_entrance_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"
android:paddingLeft="@dimen/module_main_apps_fragment_container_padding"
android:paddingRight="@dimen/module_main_apps_fragment_container_padding"
android:paddingTop="@dimen/module_main_apps_fragment_container_paddingTop"
android:paddingBottom="@dimen/module_main_apps_fragment_container_paddingTop" />
<FrameLayout
android:id="@+id/module_main_id_message_history_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft"/>
<FrameLayout
android:id="@+id/module_main_id_search_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/module_main_id_cover_up"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:background="@drawable/main_bitmap_splash_bg"
android:visibility="visible" />
<FrameLayout
android:id="@+id/module_main_id_splash_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>