Merge branch 'qa_d82x'

1+16已封版发布

# Conflicts:
#	app/build.gradle
#	app/src/main/java/com/mogo/launcher/MogoApplication.java
#	gradle.properties
#	modules/mogo-module-main/src/main/java/com/mogo/module/main/MainActivity.java
#	modules/mogo-module-search/src/main/res/values/dimens.xml
This commit is contained in:
tongchenfei
2020-07-29 14:42:13 +08:00
463 changed files with 8661 additions and 473 deletions

View File

@@ -20,7 +20,11 @@ import com.mogo.map.navi.MogoNaviInfo;
import com.mogo.map.navi.MogoTraffic;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.main.registercenter.MogoRegisterCenterHandler;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import com.mogo.utils.logger.Logger;
import com.zhidao.smartv2x.model.obu.CarEventInfo;
import com.zhidao.smartv2x.model.obu.CarLocationInfo;
import com.zhidao.smartv2x.model.obu.TrafficLightInfo;
import java.util.Iterator;
@@ -37,7 +41,8 @@ public class EventDispatchCenter implements
IMogoCarLocationChangedListener2,
IMogoMapListener,
IMogoNaviListener2,
IMogoLocationListener {
IMogoLocationListener,
IMogoObuDataChangedListener {
private static volatile EventDispatchCenter sInstance;
@@ -459,4 +464,48 @@ public class EventDispatchCenter implements
}
}
}
@Override
public void showCarLocationInfo(CarLocationInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showCarLocationInfo(info);
}
}
@Override
public void showOtherInfo(String info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showOtherInfo(info);
}
}
@Override
public void showTrafficLightInfo(TrafficLightInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showTrafficLightInfo(info);
}
}
@Override
public void showCarEventInfo(CarEventInfo info) {
Iterator< IMogoObuDataChangedListener > iterator = MogoRegisterCenterHandler.getInstance().getObuDataChangedListeners();
if ( iterator == null ) {
return;
}
while ( iterator.hasNext() ) {
iterator.next().showCarEventInfo(info);
}
}
}

View File

@@ -9,20 +9,16 @@ import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.ViewPager;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.mvp.MvpActivity;
import com.mogo.commons.voice.AIAssist;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.location.MogoLocation;
import com.mogo.map.marker.IMogoMarker;
import com.mogo.map.marker.IMogoMarkerClickListener;
import com.mogo.map.uicontroller.IMogoMapUIController;
import com.mogo.module.common.MogoModule;
import com.mogo.module.common.MogoModulePaths;
import com.mogo.module.common.map.MapCenterPointStrategy;
import com.mogo.module.common.map.Scene;
import com.mogo.module.common.utils.CarSeries;
@@ -30,19 +26,17 @@ import com.mogo.module.main.cards.MogoModulesHandler;
import com.mogo.module.main.cards.MogoModulesManager;
import com.mogo.module.main.service.MogoMainService;
import com.mogo.module.main.windowview.FloatingViewHandler;
import com.mogo.module.service.ServiceConst;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.fragmentmanager.IMogoFragmentManager;
import com.mogo.service.intent.IMogoIntentListener;
import com.mogo.service.map.IMogoMapService;
import com.mogo.service.module.IMogoModuleProvider;
import com.mogo.service.obu.IMogoObuManager;
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;
import java.util.List;
/**
@@ -64,11 +58,12 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
protected IMogoFragmentManager mMogoFragmentManager;
protected IMogoStatusManager mMogoStatusManager;
protected View mHeader;
// protected View mHeader;
protected View mApps;
protected View mEntrance;
protected FrameLayout mFloatingLayout;
protected FrameLayout mCoverUpLayout;
protected FrameLayout mLeftPanelLayout;
protected View mLeftShadowFrame;
private boolean mIsHomeKeyDown = false;
@@ -82,12 +77,13 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
getWindow().setBackgroundDrawable( null );
mHeader = findViewById( R.id.module_main_id_header_fragment_container );
// 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 );
mFloatingLayout = findViewById( R.id.module_main_id_floating_view );
mLeftShadowFrame = findViewById( R.id.module_main_id_map_left_shadow_frame );
mCoverUpLayout = findViewById( R.id.module_main_id_cover_up );
mLeftPanelLayout = findViewById(R.id.module_main_id_left_panel_fragment_container);
// 避免事件穿透导致地图被滑动
mLeftShadowFrame.setOnClickListener( view -> {
@@ -97,14 +93,14 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
// 隐藏布局
protected void hideLayout() {
mHeader.setVisibility( View.GONE );
// mHeader.setVisibility( View.GONE );
mEntrance.setVisibility( View.GONE );
mFloatingLayout.setVisibility( View.GONE );
}
// 显示布局
protected void showLayout() {
mHeader.setVisibility( View.VISIBLE );
// mHeader.setVisibility( View.VISIBLE );
mEntrance.setVisibility( View.VISIBLE );
mFloatingLayout.setVisibility( View.VISIBLE );
}
@@ -138,6 +134,11 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
mMogoMapService.getHostListenerRegister().registerMarkerClickListener( this );
}
// IMogoObuManager obuManager = mServiceApis.getObuManager();
// if(obuManager!=null) {
// obuManager.registerObuDataChangedListener(EventDispatchCenter.getInstance());
// }
EventDispatchCenter.getInstance().setMapLoadedCallback( () -> {
Logger.d( TAG, "map loaded." + Thread.currentThread().getName() );
@@ -183,8 +184,10 @@ public class MainActivity extends MvpActivity< MainView, MainPresenter > impleme
}
protected void loadContainerModules() {
MogoModulesManager.getInstance().loadExtensionsModule( R.id.module_main_id_header_fragment_container );
// 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);
}
@Override

View File

@@ -18,6 +18,9 @@ import com.mogo.utils.TipToast;
import com.mogo.utils.UiThreadHandler;
import com.mogo.utils.logger.Logger;
import java.util.HashMap;
import java.util.Map;
/**
* @author congtaowang
* @since 2020-04-20
@@ -82,6 +85,9 @@ public class SchemeIntent implements IMogoStatusChangedListener {
break;
case "/main/share":
Logger.d(TAG,"收到打开分享框的scheme准备打开分享框");
Map< String, Object > properties = new HashMap<>();
properties.put( "from", "1" );
mApis.getAnalyticsApi().track("v2x_share_click", properties);
mApis.getShareManager().showShareDialog();
break;
default:

View File

@@ -59,4 +59,16 @@ public interface MogoModulesHandler {
* 2. mogo-module-service
*/
void loadBaseModule();
/**
* 加载事件面板
* @param containerId
*/
void loadEventPanelModule(int containerId);
/**
* 加载左侧面板
* @param containerId
*/
void loadLeftPanelModule(int containerId);
}

View File

@@ -11,6 +11,7 @@ import com.mogo.module.extensions.ExtensionsModuleConst;
import com.mogo.module.main.EventDispatchCenter;
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;
import com.mogo.utils.logger.Logger;
@@ -130,6 +131,22 @@ public class MogoModulesManager implements MogoModulesHandler {
addFragment( provider, containerId );
}
@Override
public void loadEventPanelModule(int containerId) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
.build(MogoServicePaths.PATH_EVENT_PANEL)
.navigation( getContext() );
addFragment( provider, containerId );
}
@Override
public void loadLeftPanelModule(int containerId) {
IMogoModuleProvider provider = ( IMogoModuleProvider ) ARouter.getInstance()
.build(MogoServicePaths.PATH_LEFT_PANEL)
.navigation( getContext() );
addFragment( provider, containerId );
}
@Override
public void loadBaseModule() {
List< MogoModule > baseModules = MogoModulePaths.getBaseModules();

View File

@@ -12,9 +12,9 @@ import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import java.util.Iterator;
import java.util.List;
/**
* @author congtaowang
@@ -100,6 +100,16 @@ public class MogoRegisterCenter implements IMogoRegisterCenter {
MogoRegisterCenterHandler.getInstance().unregisterCarLocationChangedListener( tag, listener );
}
@Override
public void registerObuDataListener(String tag, IMogoObuDataChangedListener listener) {
MogoRegisterCenterHandler.getInstance().registerObuDataListener(tag, listener);
}
@Override
public void unregisterObuDataListener(String tag) {
MogoRegisterCenterHandler.getInstance().unregisterObuDataListener(tag);
}
@Override
public void init( Context context ) {
}

View File

@@ -10,6 +10,7 @@ import com.mogo.map.navi.IMogoCarLocationChangedListener;
import com.mogo.map.navi.IMogoNaviListener;
import com.mogo.service.module.IMogoModuleLifecycle;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.obu.IMogoObuDataChangedListener;
import java.util.HashMap;
import java.util.Iterator;
@@ -32,6 +33,7 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
private Map< String, IMogoMarkerClickListener > mMarker = new HashMap<>();
private Map< String, IMogoAimlessModeListener > mAimless = new HashMap<>();
private Map< String, IMogoCarLocationChangedListener > mCarLocations = new HashMap<>();
private Map<String, IMogoObuDataChangedListener> mObus = new HashMap<>();
private MogoRegisterCenterHandler() {
}
@@ -122,6 +124,16 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
mCarLocations.remove( tag );
}
@Override
public void registerObuDataListener(String tag, IMogoObuDataChangedListener listener) {
mObus.put(tag, listener);
}
@Override
public void unregisterObuDataListener(String tag) {
mObus.remove(tag);
}
@Override
public void init( Context context ) {
}
@@ -158,6 +170,9 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
return mNavi.values().iterator();
}
public Iterator<IMogoObuDataChangedListener> getObuDataChangedListeners(){
return mObus.values().iterator();
}
@Override
public Iterator< IMogoLocationListener > getLocationListeners() {
return mLocation.values().iterator();
@@ -176,5 +191,4 @@ public class MogoRegisterCenterHandler implements IMogoRegisterCenter {
return mCarLocations.values().iterator();
}
}

View File

@@ -19,13 +19,13 @@
android:background="@drawable/module_main_dw_left_frame_bkg"
tools:visibility="visible" />
<!-- 时间、天气、消息 -->
<FrameLayout
android:id="@+id/module_main_id_header_fragment_container"
android:layout_width="match_parent"
android:layout_height="@dimen/module_ext_height"
android:layout_marginLeft="@dimen/module_main_header_fragment_container_marginLeft"
android:layout_marginTop="@dimen/module_main_header_fragment_container_marginTop" />
<!-- 时间、天气、消息 与entrance合到了一起减少一个view -->
<!-- <FrameLayout-->
<!-- android:id="@+id/module_main_id_header_fragment_container"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/module_ext_height"-->
<!-- android:layout_marginLeft="@dimen/module_main_header_fragment_container_marginLeft"-->
<!-- android:layout_marginTop="@dimen/module_main_header_fragment_container_marginTop" />-->
<!-- 左边按钮 -->
<FrameLayout
@@ -34,6 +34,12 @@
android:layout_height="match_parent"
android:padding="@dimen/module_main_apps_fragment_container_padding" />
<!-- 左侧浮层,布局位置目前只考虑了1+16独立app情况 -->
<FrameLayout
android:layout_width="@dimen/module_main_id_left_panel_fragment_container_width"
android:layout_height="match_parent"
android:id="@+id/module_main_id_left_panel_fragment_container" />
<!--快捷操作浮层-->
<FrameLayout
android:id="@+id/module_main_id_entrance_fragment_container"
@@ -41,6 +47,12 @@
android:layout_height="match_parent"
android:padding="@dimen/module_main_entrance_fragment_container_padding"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft" />
<FrameLayout
android:id="@+id/module_main_id_event_panel_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/module_main_entrance_fragment_container_padding"
android:layout_marginLeft="@dimen/module_main_id_entrance_fragment_container_marginLeft" />
<!-- 浮层-->
<FrameLayout

View File

@@ -22,4 +22,6 @@
<dimen name="module_main_id_entrance_fragment_container_marginLeft">800px</dimen>
<dimen name="module_main_entrance_fragment_container_padding">30px</dimen>
<dimen name="module_main_id_left_panel_fragment_container_width">340px</dimen>
</resources>

View File

@@ -21,6 +21,7 @@
<dimen name="module_main_header_fragment_container_marginTop">15px</dimen>
<dimen name="module_main_header_fragment_container_marginLeft">460px</dimen>
<dimen name="module_main_id_entrance_fragment_container_marginLeft">444px</dimen>
<dimen name="module_main_id_left_panel_fragment_container_width">350px</dimen>
<dimen name="module_main_entrance_fragment_container_padding">16px</dimen>
</resources>