diff --git a/.idea/misc.xml b/.idea/misc.xml
index 1b3cdd5e62..af14fc0eb5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -20,7 +20,9 @@
+
+
diff --git a/app/build.gradle b/app/build.gradle
index d4d171277d..97f8e15cac 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -203,6 +203,11 @@ dependencies {
implementation project(':core:function-impl:mogo-core-function-obu-mogo')
implementation project(':core:function-impl:mogo-core-function-smp')
implementation project(':core:function-impl:mogo-core-function-hmi')
+ implementation project(':core:function-impl:mogo-core-function-autopilot')
+ implementation project(':core:function-impl:mogo-core-function-check')
+ implementation project(':core:function-impl:mogo-core-function-map')
+ implementation project(':core:function-impl:mogo-core-function-notice')
+ implementation project(':core:function-impl:mogo-core-function-v2x')
}
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 45204470dc..5b04ee81e1 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -39,8 +39,6 @@ import com.mogo.utils.ProcessUtils;
import com.mogo.utils.logger.LogLevel;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.storage.SharedPrefsMgr;
-//import com.squareup.leakcanary.LeakCanary;
-//import com.squareup.leakcanary.RefWatcher;
import com.zhidao.boot.persistent.lib.PersistentManager;
import com.zhidao.mogo.module.left.panel.LeftPanelConst;
@@ -288,25 +286,30 @@ public class MogoApplication extends AbsMogoApplication {
MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_STRATEGY_SHARE, "StrategyShare"));
MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_GAODE_AIMLESS_SHARE, "GaoDeAimlessShare"));
MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_MOGO_MONITOR, "MogoMonitor"));
+
+ // 域控制器模块(新)
+ MogoModulePaths.addModuleFunction(new MogoModule(MogoServicePaths.PATH_AUTO_PILOT, "IMoGoAutoPilotProvider"));
+ // OBU 模块
+ MogoModulePaths.addModuleFunction(new MogoModule(MogoServicePaths.PATH_V2X_OBU_MOGO, "IMoGoObuProvider"));
+ // 小地图模块
+ MogoModulePaths.addModuleFunction(new MogoModule(MogoServicePaths.PATH_SMALL_MAP, "IMogoSmallMapProvider"));
+ // widgets 模块
+ MogoModulePaths.addModuleFunction(new MogoModule(MogoServicePaths.PATH_V2X_WARNING, "IMoGoWaringProvider"));
+
// 自动驾驶系统检测模块
MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_CHECK, "CheckProvider"));
// 推送模块
MogoModulePaths.addModule(new MogoModule(PushUIConstants.PATH, PushUIConstants.NAME));
// 碰撞报警模块
- MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_CRASH_WARNING, "CrashWarning"));
- // OBU 模块
- MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_V2X_OBU_MOGO, "IMoGoObuProvider"));
- // 小地图模块
- MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SMALL_MAP, "IMogoSmallMapProvider"));
- // widgets 模块
- MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_V2X_WARNING, "IMoGoWaringProvider"));
- // ADAS模块
+ MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_CRASH_WARNING, "IMogoCrashWarnProvider"));
+ // ADAS模块(旧,慢慢被 域控制器模块 替换掉)
MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_ADAS, "AdasProvider"));
// 前方碰撞预警
MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_V2X_FRONT_CRASH_WARNING, "IV2XManagerProvider"));
// 全局语音唤醒
MogoModulePaths.addBaseModule(new MogoModule(MogoServicePaths.PATH_GLOBAL_UNWAKE, "GlobalUnwake"));
+
if (!DebugConfig.isLauncher()) {
PersistentManager.getInstance().initManager(this);
Intent intent = new Intent(this, MogoMainService.class);
diff --git a/config.gradle b/config.gradle
index 2478373080..90803747a0 100644
--- a/config.gradle
+++ b/config.gradle
@@ -111,7 +111,7 @@ ext {
callchatprovider : "com.mogo.module.carchatout:module-carchatting-provider:${CARCHATTINGPROVIDER_VERSION}",
guideshow : "com.mogo.module:module-guide:${MOGO_MODULE_GUIDESHOW_VERSION}",
- mogomodulecheck : "com.mogo.module:mogo-module-check:${MOGO_MODULE_CHECK_VERSION}",
+ mogomodulecheck : "com.mogo.module:mogo-module-check:${MOGO_MODULE_CHECK_VERSION}",
// V2X
moduleV2x : "com.mogo.module:module-v2x:${MOGO_MODULE_V2X_VERSION}",
moduleSmallMap : "com.mogo.module:module-small-map:${MOGO_MODULE_SMP_VERSION}",
@@ -130,7 +130,7 @@ ext {
// OBU
moduleobu : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_VERSION}",
moduleobumogo : "com.mogo.module:module-obu:${MOGO_MODULE_OBU_MOGO_VERSION}",
- carmanager : "com.zhidao.carmanager:common:1.0.30@aar",
+ carmanager : "com.zhidao.carmanager:common:1.0.30@aar",
//
jetbrainsannotationsjava5 : "org.jetbrains:annotations-java5:15.0",
@@ -166,9 +166,9 @@ ext {
// obu sdk
obusdk : "com.zhidao.enterprise.smartv2x:smartv2x:1.0.0.3",
-// mebulaobu : 'com.zhidao.support.nebulaobu:nebulaobu:1.0.0.3',
mogoobu : 'com.zhidao.support.obu:mogoobu:1.0.0.15',
mogoami : 'com.zhidao.support.obu.ami:mogoami:1.0.0.3',
+ adasHigh : 'com.zhidao.support.adas:high:1.2.0.4',
// 左侧面板
moduleleftpanel : "com.mogo.module:module-left-panel:${MOGO_MODULE_LEFT_PANEL_VERSION}",
diff --git a/core/function-impl/mogo-core-function-autopilot/build.gradle b/core/function-impl/mogo-core-function-autopilot/build.gradle
index bd30d9d646..9593327e21 100644
--- a/core/function-impl/mogo-core-function-autopilot/build.gradle
+++ b/core/function-impl/mogo-core-function-autopilot/build.gradle
@@ -51,7 +51,7 @@ dependencies {
kapt rootProject.ext.dependencies.aroutercompiler
- implementation "com.zhidao.support.adas:high:1.2.0.2"
+ implementation rootProject.ext.dependencies.adasHigh
if (Boolean.valueOf(RELEASE)) {
diff --git a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.kt b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.kt
index 9512c9746d..92f55c18bf 100644
--- a/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.kt
+++ b/core/function-impl/mogo-core-function-autopilot/src/main/java/com/mogo/eagle/core/function/autopilot/MoGoAutoPilotProvider.kt
@@ -16,8 +16,20 @@ import com.zhidao.support.adas.high.AdasManager
*/
@Route(path = MogoServicePaths.PATH_AUTO_PILOT)
class MoGoAutoPilotProvider : IMoGoAutoPilotProvider {
- override fun init(context: Context) {}
- override fun connectAutoPilot() {}
+
+ override fun init(context: Context) {
+ // 初始化ADAS 域控制器
+ AdasManager.getInstance().create(context)
+
+ }
+
+
+ override fun connectAutoPilot() {
+
+
+ }
+
+
override fun startAutoPilot(result: AutoPilotControlParameters) {
if (AdasManager.getInstance().isSocketConnect) {
val parameter =
@@ -49,6 +61,11 @@ class MoGoAutoPilotProvider : IMoGoAutoPilotProvider {
return 0
}
+
+ override fun recordPackage(): Boolean {
+ return AdasManager.getInstance().recordPackage()
+ }
+
companion object {
private const val TAG = "MogoAutoPilotProvider"
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
index 2d8ac6da8f..ce3bdb971d 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/MoGoHmiFragment.kt
@@ -14,7 +14,6 @@ import com.mogo.eagle.core.function.hmi.R
import com.mogo.eagle.core.function.hmi.notification.WarningFloat
import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
import com.mogo.eagle.core.function.hmi.notification.enums.SidePattern
-import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView
import com.mogo.eagle.core.function.hmi.ui.widget.V2XNotificationView
import com.mogo.module.common.enums.EventTypeEnum
import com.mogo.utils.logger.Logger
@@ -29,48 +28,9 @@ class MoGoHmiFragment : MvpFragment
MoGoWarningContract.View {
var mWarningFloat: WarningFloat.Builder? = null
- var mDebugSettingViewFloat: WarningFloat.Builder? = null
override fun initViews() {
- autopilotStatus.setOnLongClickListener {
- activity?.let {
- val debugSettingView = DebugSettingView(it)
- if (mDebugSettingViewFloat != null) {
- WarningFloat.dismiss(mDebugSettingViewFloat!!.config.floatTag, false)
- mDebugSettingViewFloat = null
- } else {
- mDebugSettingViewFloat = WarningFloat.with(it)
- .setTag("DebugSettingView")
- .setLayout(debugSettingView)
- .setSidePattern(SidePattern.RIGHT)
- .setGravity(Gravity.RIGHT, offsetY = 70)
- .setImmersionStatusBar(true)
- .setAnimator(object : DefaultAnimator() {
- override fun enterAnim(
- view: View,
- params: WindowManager.LayoutParams,
- windowManager: WindowManager,
- sidePattern: SidePattern
- ): Animator? =
- super.enterAnim(view, params, windowManager, sidePattern)?.apply {
- interpolator = OvershootInterpolator()
- }
-
- override fun exitAnim(
- view: View,
- params: WindowManager.LayoutParams,
- windowManager: WindowManager,
- sidePattern: SidePattern
- ): Animator? =
- super.exitAnim(view, params, windowManager, sidePattern)
- ?.setDuration(200)
- })
- .show()
- }
- }
- false
- }
}
override fun getLayoutId(): Int {
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
index e2303c182e..8194220039 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/setting/DebugSettingView.kt
@@ -13,6 +13,7 @@ import com.mogo.eagle.core.data.constants.MoGoConfig
import com.mogo.eagle.core.data.obu.ObuStatusInfo
import com.mogo.eagle.core.function.api.autopilot.IMoGoAutoPilotStatusListener
import com.mogo.eagle.core.function.api.obu.IMoGoObuStatusListener
+import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager
import com.mogo.eagle.core.function.call.obu.CallerOBUManager
import com.mogo.eagle.core.function.call.obu.CallerObuListenerManager
@@ -92,6 +93,11 @@ class DebugSettingView @JvmOverloads constructor(
ToastUtils.showShort("请输入正确的IP地址")
}
}
+
+ // 域控制器
+ btnRecordPackage.setOnClickListener {
+ CallerAutoPilotManager.recordPackage()
+ }
}
/**
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt
index 997ef7d606..38f8466312 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SpeedPanelView.kt
@@ -1,22 +1,27 @@
package com.mogo.eagle.core.function.hmi.ui.widget
+import android.animation.Animator
import android.content.Context
-import android.content.Intent
import android.graphics.Color
import android.location.Location
import android.util.AttributeSet
import android.util.Log
import android.view.Gravity
import android.view.View
+import android.view.WindowManager
+import android.view.animation.OvershootInterpolator
import android.widget.FrameLayout
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.commons.debug.DebugConfig
-import com.mogo.eagle.core.function.hmi.R
-import com.mogo.eagle.core.data.map.MogoLatLng
-import com.mogo.map.navi.IMogoCarLocationChangedListener2
-import com.mogo.module.common.MogoApisHandler
-import com.mogo.service.IMogoServiceApis
import com.mogo.eagle.core.data.constants.MogoServicePaths
+import com.mogo.eagle.core.data.map.MogoLatLng
+import com.mogo.eagle.core.function.hmi.R
+import com.mogo.eagle.core.function.hmi.notification.WarningFloat
+import com.mogo.eagle.core.function.hmi.notification.anim.DefaultAnimator
+import com.mogo.eagle.core.function.hmi.notification.enums.SidePattern
+import com.mogo.eagle.core.function.hmi.ui.setting.DebugSettingView
+import com.mogo.map.navi.IMogoCarLocationChangedListener2
+import com.mogo.service.IMogoServiceApis
import com.mogo.service.statusmanager.IMogoStatusChangedListener
import com.mogo.service.statusmanager.StatusDescriptor
@@ -38,6 +43,7 @@ class SpeedPanelView @JvmOverloads constructor(
var mContext: Context
var mSpeedChartView: SpeedChartView
+ var mDebugSettingViewFloat: WarningFloat.Builder? = null
init {
setBackgroundResource(R.drawable.yi_biao_pan_bg_nor)
@@ -54,12 +60,45 @@ class SpeedPanelView @JvmOverloads constructor(
if (DebugConfig.isDebug()) {
mSpeedChartView.isLongClickable = true
- mSpeedChartView.setOnLongClickListener { v ->
+ mSpeedChartView.setOnLongClickListener {
Log.d(TAG, "长按显示状态工具栏")
- val intent = Intent()
- intent.putExtra("oper", 52)
- MogoApisHandler.getInstance().apis.intentManagerApi
- .invoke("com.mogo.mock", intent)
+ context.let {
+ val debugSettingView = DebugSettingView(it)
+
+ if (mDebugSettingViewFloat != null) {
+ WarningFloat.dismiss(mDebugSettingViewFloat!!.config.floatTag, false)
+ mDebugSettingViewFloat = null
+ } else {
+ mDebugSettingViewFloat = WarningFloat.with(it)
+ .setTag("DebugSettingView")
+ .setLayout(debugSettingView)
+ .setSidePattern(SidePattern.RIGHT)
+ .setGravity(Gravity.RIGHT, offsetY = 70)
+ .setImmersionStatusBar(true)
+ .setAnimator(object : DefaultAnimator() {
+ override fun enterAnim(
+ view: View,
+ params: WindowManager.LayoutParams,
+ windowManager: WindowManager,
+ sidePattern: SidePattern
+ ): Animator? =
+ super.enterAnim(view, params, windowManager, sidePattern)
+ ?.apply {
+ interpolator = OvershootInterpolator()
+ }
+
+ override fun exitAnim(
+ view: View,
+ params: WindowManager.LayoutParams,
+ windowManager: WindowManager,
+ sidePattern: SidePattern
+ ): Animator? =
+ super.exitAnim(view, params, windowManager, sidePattern)
+ ?.setDuration(200)
+ })
+ .show()
+ }
+ }
true
}
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
index 9fabf69347..81963ea43e 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/view_debug_setting.xml
@@ -97,6 +97,15 @@
android:textSize="@dimen/dp_34"
android:textStyle="bold" />
+
+
latLngList;
@@ -197,7 +196,6 @@ public class AdasAutoPilotManager implements IMogoOnMessageListener iAdasEventListeners = new ArrayList<>();
private final ArrayList iAdasStatusListeners = new ArrayList<>();
- private Disposable uploadAutopilotStatus;
//自动驾驶状态
private int mCurrentAutopilotStatus = -1;
//自动驾驶车速度
private float mCurrentAutopilotSpeed = 0;
- private Disposable mdDisposable;
//自动驾驶状态
private AutopilotStatus.ValuesBean mAutopilotValuesStatus = null;
@@ -192,6 +191,9 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
autopilotStatusInfo.setRtk(autopilotStatusValues.getRtk());
autopilotStatusInfo.setRadar(autopilotStatusValues.getRadar());
autopilotStatusInfo.setSpeed(autopilotStatusValues.getSpeed());
+ // 初始化自动驾驶状态信息
+ autopilotStatusInfo.setVersion(AdasManager.getInstance().getAdasConfig().getVersion());
+ autopilotStatusInfo.setConnectIP(AdasManager.getInstance().getAdasConfig().getAddress());
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutoPilotStatusListener();
@@ -257,10 +259,18 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
}
}
+ @Override
+ public void onAutopilotGuardian(AutopilotGuardianInfo guardianInfo) {
+
+ }
+
@Override
public void onWebSocketConnectSuccess() {
Logger.d(TAG, "webSocket 连接成功");
+ // 初始化自动驾驶状态信息
+ CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().setConnectIP(AdasManager.getInstance().getAdasConfig().getAddress());
CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().setConnectStatus(true);
+
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutoPilotStatusListener();
for (IAdasStatusListener listener : iAdasStatusListeners) {
listener.onServiceConnected();
@@ -269,8 +279,9 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
}
@Override
- public void onWebSocketConnectFailed() {
- Logger.d(TAG, "webSocket 连接失败");
+ public void onWebSocketConnectFailed(String reason) {
+ Logger.d(TAG, "webSocket 连接失败 reason:" + reason);
+ CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().setConnectIP(AdasManager.getInstance().getAdasConfig().getAddress());
CallerAutoPilotStatusListenerManager.INSTANCE.getAutoPilotStatusInfo().setConnectStatus(false);
CallerAutoPilotStatusListenerManager.INSTANCE.invokeAutoPilotStatusListener();
for (IAdasStatusListener listener : iAdasStatusListeners) {
@@ -280,7 +291,7 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
public void updateDriveStatusTask() {
Logger.d(TAG, "updateDriveStatusTask");
- mdDisposable = Flowable.interval(0, 5, TimeUnit.SECONDS)
+ Flowable.interval(0, 5, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -295,10 +306,6 @@ public class AdasEventManager implements OnAdasListener, OnAdasMsgConnectStatusL
AdasServiceModel.getInstance().reportSite(lon, lat);
}
- public AutopilotStatus.ValuesBean getAutopilotValuesStatus() {
- return mAutopilotValuesStatus;
- }
-
public AdasAIDLAutopilotStateModel autopilotStateCall() {
AdasAIDLAutopilotStateModel adasAIDLAutopilotStateModel = new AdasAIDLAutopilotStateModel();
if (mAutopilotValuesStatus != null) {
diff --git a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java
index 1bd858cfab..0514dedfd5 100644
--- a/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java
+++ b/modules/mogo-module-adas/src/main/java/com/mogo/module/adas/AdasProvider.java
@@ -29,8 +29,6 @@ public class AdasProvider implements IProvider {
Logger.d(TAG, "初始化 AdasProvider 模块");
adasEventManager = AdasEventManager.getInstance();
initAdas(context, adasEventManager);
-// initAutoPilotBusiness(context);
-
addAdasStatusListener(new IAdasStatusListener() {
@Override
public void onServiceConnected() {
@@ -52,15 +50,7 @@ public class AdasProvider implements IProvider {
adasEventManager.setProviderBizListener(this::setBasicInfo);
}
- private void initAutoPilotBusiness(Context context) {
- AdasAutoPilotManager.getInstance().initSocket(context);
- AdasAutoPilotManager.getInstance().addIDispatchResult(json -> {
- Logger.d(TAG,"aiCloudToAdasData json : " + json);
- AdasManager.getInstance().aiCloudToAdasData(json);
- });
- }
-
- public void setBasicInfo(){
+ public void setBasicInfo() {
BasicInfo info = new BasicInfo();
info.setSn(MoGoAiCloudClientConfig.getInstance().getSn());
AdasManager.getInstance().setBasicInfo(info);
@@ -78,10 +68,6 @@ public class AdasProvider implements IProvider {
adasEventManager.addStatusListener(listener);
}
- public void removeAdasStatusListener(IAdasStatusListener listener) {
- adasEventManager.removeStatusListener(listener);
- }
-
public void removeAdasStatusListener() {
adasEventManager.removeStatusListener();
}
diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
index 139b433a1c..c82bc91192 100644
--- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
+++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/MogoModulePaths.java
@@ -15,10 +15,12 @@ import java.util.List;
*/
public class MogoModulePaths {
- private static final List< MogoModule > mMogoModules = new ArrayList<>();
+ private static final List mMogoModules = new ArrayList<>();
// 不需要启动APP也能运行的模块
- private static final List< MogoModule > mMogoBaseModules = new ArrayList<>();
+ private static final List mMogoBaseModules = new ArrayList<>();
+
+ private static final List mModuleFunctions = new ArrayList<>();
/**
* 地图模块 fragment 路径
@@ -36,15 +38,6 @@ public class MogoModulePaths {
*/
public static final String PATH_ENTRANCE = "/extension/entrance";
- /**
- * 音乐播放入口
- */
- public static final String PATH_MEDIA = "/media/ui";
-
- /**
- * 引导页面
- */
- public static final String PATH_GUIDE = "/guide/showFragment";
/**
* 添加卡片模块
@@ -52,8 +45,8 @@ public class MogoModulePaths {
* @param path
*/
@Deprecated
- public static void addModule( String path ) {
- throw new IllegalArgumentException( "this method can't be invoked." );
+ public static void addModule(String path) {
+ throw new IllegalArgumentException("this method can't be invoked.");
}
/**
@@ -61,30 +54,46 @@ public class MogoModulePaths {
*
* @param module
*/
- public static void addModule( MogoModule module ) {
- if ( module == null || TextUtils.isEmpty( module.getPath().replace( " ", "" ) ) ) {
- throw new IllegalArgumentException( "module path can't be empty or null or blank" );
+ public static void addModule(MogoModule module) {
+ if (module == null || TextUtils.isEmpty(module.getPath().replace(" ", ""))) {
+ throw new IllegalArgumentException("module path can't be empty or null or blank");
}
- mMogoModules.add( module );
+ mMogoModules.add(module);
}
/**
- * 添加卡片模块
+ * 添加模块功能
+ *
+ * @param module 功能模块
+ */
+ public static void addModuleFunction(MogoModule module) {
+ if (module == null || TextUtils.isEmpty(module.getPath().replace(" ", ""))) {
+ throw new IllegalArgumentException("module path can't be empty or null or blank");
+ }
+ mModuleFunctions.add(module);
+ }
+
+ /**
+ * 添加基础模块
*
* @param module
*/
- public static void addBaseModule( MogoModule module ) {
- if ( module == null || TextUtils.isEmpty( module.getPath().replace( " ", "" ) ) ) {
- throw new IllegalArgumentException( "module path can't be empty or null or blank" );
+ public static void addBaseModule(MogoModule module) {
+ if (module == null || TextUtils.isEmpty(module.getPath().replace(" ", ""))) {
+ throw new IllegalArgumentException("module path can't be empty or null or blank");
}
- mMogoBaseModules.add( module );
+ mMogoBaseModules.add(module);
}
- public static List< MogoModule > getModules() {
+ public static List getModules() {
return mMogoModules;
}
- public static List< MogoModule > getBaseModules() {
+ public static List getBaseModules() {
return mMogoBaseModules;
}
+
+ public static List getModuleFunctions() {
+ return mModuleFunctions;
+ }
}
diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
index c4bf28bcfc..0b13f480b9 100644
--- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
+++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntranceFragment.java
@@ -52,6 +52,7 @@ import com.mogo.eagle.core.data.map.MogoLatLng;
import com.mogo.eagle.core.function.api.check.IMogoCheckListener;
import com.mogo.eagle.core.function.call.check.CallerCheckManager;
import com.mogo.map.listener.IMogoMapListener;
+import com.mogo.map.listener.MogoMapListenerHandler;
import com.mogo.map.location.IMogoLocationClient;
import com.mogo.map.marker.IMogoMarkerManager;
import com.mogo.map.navi.IMogoAimlessModeListener;
@@ -715,6 +716,7 @@ public class EntranceFragment extends MvpFragment
@@ -6,6 +7,7 @@
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileProvider"
android:exported="false"
+ tools:replace="android:authorities"
android:grantUriPermissions="true">