diff --git a/app/build.gradle b/app/build.gradle
index 5e5bd5f4d6..0040aef083 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -506,6 +506,8 @@ dependencies {
implementation project(':modules:mogo-module-extensions')
implementation project(':modules:mogo-module-map')
implementation project(':modules:mogo-module-smp')
+ implementation project(':modules:mogo-module-obu-mogo')
+ implementation project(':modules:mogo-module-warning')
implementation project(':modules:mogo-module-adas')
implementation project(':foudations:httpdns-mogo')
}
diff --git a/app/src/main/java/com/mogo/launcher/MogoApplication.java b/app/src/main/java/com/mogo/launcher/MogoApplication.java
index 9088ba8e97..ce9685bbb8 100644
--- a/app/src/main/java/com/mogo/launcher/MogoApplication.java
+++ b/app/src/main/java/com/mogo/launcher/MogoApplication.java
@@ -304,11 +304,15 @@ public class MogoApplication extends AbsMogoApplication {
// 碰撞报警模块
MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_CRASH_WARNING, "CrashWarning"));
+ // OBU 模块
+ MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_V2X_OBU_MOGO, "MoGoObuProvider"));
+ // widgets 模块
+ MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_V2X_WARNING, "MoGoWarningProvider"));
// 小地图模块
MogoModulePaths.addModule(new MogoModule(MogoServicePaths.PATH_SMALL_MAP, "IMogoSmallMapProvider"));
// 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"));
diff --git a/modules/mogo-module-adas/src/androidTest/java/com/amap/navi/mogo_module_adas/ExampleInstrumentedTest.java b/modules/mogo-module-adas/src/androidTest/java/com/amap/navi/mogo_module_adas/ExampleInstrumentedTest.java
deleted file mode 100644
index b6f9063bd3..0000000000
--- a/modules/mogo-module-adas/src/androidTest/java/com/amap/navi/mogo_module_adas/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.amap.navi.mogo_module_adas;
-
-import android.content.Context;
-
-import androidx.test.platform.app.InstrumentationRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import static org.junit.Assert.*;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
- @Test
- public void useAppContext() {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
- assertEquals("com.amap.navi.mogo_module_adas.test", appContext.getPackageName());
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-adas/src/test/java/com/amap/navi/mogo_module_adas/ExampleUnitTest.java b/modules/mogo-module-adas/src/test/java/com/amap/navi/mogo_module_adas/ExampleUnitTest.java
deleted file mode 100644
index 9cf84459a3..0000000000
--- a/modules/mogo-module-adas/src/test/java/com/amap/navi/mogo_module_adas/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.amap.navi.mogo_module_adas;
-
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/modules/mogo-module-obu-mogo/build.gradle b/modules/mogo-module-obu-mogo/build.gradle
index f81aea16c2..5e8b380bfd 100644
--- a/modules/mogo-module-obu-mogo/build.gradle
+++ b/modules/mogo-module-obu-mogo/build.gradle
@@ -1,8 +1,5 @@
plugins {
id 'com.android.library'
- id 'kotlin-android'
- id 'kotlin-android-extensions'
- id 'kotlin-kapt'
id 'com.alibaba.arouter'
}
@@ -34,9 +31,6 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
- kotlinOptions {
- jvmTarget = '1.8'
- }
}
dependencies {
@@ -44,6 +38,8 @@ dependencies {
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.arouter
+ implementation rootProject.ext.dependencies.rxandroid
+
annotationProcessor rootProject.ext.dependencies.aroutercompiler
if (Boolean.valueOf(RELEASE)) {
diff --git a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java
index 3d55e7d768..d3e3ff0d93 100644
--- a/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java
+++ b/modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MoGoObuProvider.java
@@ -2,17 +2,22 @@ package com.mogo.module.obu.mogo;
import android.content.Context;
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.service.MogoServicePaths;
import com.mogo.service.obu.IMoGoObuProvider;
+import com.mogo.utils.logger.Logger;
/**
* @author xiaoyuzhou
* @date 2021/8/2 5:52 下午
*/
+@Route(path = MogoServicePaths.PATH_V2X_OBU_MOGO)
public class MoGoObuProvider implements IMoGoObuProvider {
+ private String TAG = "MoGoObuProvider";
@Override
public void init(Context context) {
-
+ Logger.d(TAG, "初始化蘑菇自研OBU……");
}
}
diff --git a/modules/mogo-module-warning/build.gradle b/modules/mogo-module-warning/build.gradle
index f81aea16c2..5e8b380bfd 100644
--- a/modules/mogo-module-warning/build.gradle
+++ b/modules/mogo-module-warning/build.gradle
@@ -1,8 +1,5 @@
plugins {
id 'com.android.library'
- id 'kotlin-android'
- id 'kotlin-android-extensions'
- id 'kotlin-kapt'
id 'com.alibaba.arouter'
}
@@ -34,9 +31,6 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
- kotlinOptions {
- jvmTarget = '1.8'
- }
}
dependencies {
@@ -44,6 +38,8 @@ dependencies {
implementation rootProject.ext.dependencies.androidxappcompat
implementation rootProject.ext.dependencies.androidxconstraintlayout
implementation rootProject.ext.dependencies.arouter
+ implementation rootProject.ext.dependencies.rxandroid
+
annotationProcessor rootProject.ext.dependencies.aroutercompiler
if (Boolean.valueOf(RELEASE)) {
diff --git a/modules/mogo-module-warning/gradle.properties b/modules/mogo-module-warning/gradle.properties
index 3955a1b428..2c40c863dc 100644
--- a/modules/mogo-module-warning/gradle.properties
+++ b/modules/mogo-module-warning/gradle.properties
@@ -1,3 +1,3 @@
GROUP=com.mogo.module
-POM_ARTIFACT_ID=mogo-module-hmi
+POM_ARTIFACT_ID=module-hmi
VERSION_CODE=1
diff --git a/modules/mogo-module-warning/src/main/java/com/mogo/module/warning/MoGoWarningProvider.java b/modules/mogo-module-warning/src/main/java/com/mogo/module/warning/MoGoWarningProvider.java
new file mode 100644
index 0000000000..8311530046
--- /dev/null
+++ b/modules/mogo-module-warning/src/main/java/com/mogo/module/warning/MoGoWarningProvider.java
@@ -0,0 +1,32 @@
+package com.mogo.module.warning;
+
+import android.content.Context;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.service.MogoServicePaths;
+import com.mogo.service.warning.IMoGoWaringProvider;
+import com.mogo.utils.logger.Logger;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/8/2 5:52 下午
+ * 预警模块
+ */
+@Route(path = MogoServicePaths.PATH_V2X_WARNING)
+public class MoGoWarningProvider implements IMoGoWaringProvider {
+ private String TAG = "MoGoWarningProvider";
+
+
+ @Override
+ public void init(FragmentActivity activity, int containerId) {
+
+ }
+
+ @Override
+ public void init(Context context) {
+ Logger.d(TAG, "初始化蘑菇预警模块……");
+
+ }
+}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
index b14ea8527f..fab4972cf9 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/IMogoServiceApis.java
@@ -19,6 +19,7 @@ import com.mogo.service.launcher.IMogoLauncher;
import com.mogo.service.locationinfo.IMogoLocationInfoService;
import com.mogo.service.map.IMogoMapFrameController;
import com.mogo.service.map.IMogoMapService;
+import com.mogo.service.obu.IMoGoObuProvider;
import com.mogo.service.smp.IMogoSmallMapProvider;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoAddressManager;
@@ -40,6 +41,7 @@ import com.mogo.service.share.IMogoTanluProvider;
import com.mogo.service.share.IMogoTanluUiProvider;
import com.mogo.service.v2x.DisplayEffectsInterface;
import com.mogo.service.v2x.IV2XProvider;
+import com.mogo.service.warning.IMoGoWaringProvider;
import com.mogo.service.windowview.IMogoTopViewManager;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -326,8 +328,18 @@ public interface IMogoServiceApis extends IProvider {
*/
IMogoSmallMapProvider getSmallMapProviderApi();
- /*
- *V2X
- * */
+ /**
+ * V2X
+ */
IV2XProvider getV2XListenerManager();
+
+ /**
+ * warning 模块
+ */
+ IMoGoWaringProvider getWaringProviderApi();
+
+ /**
+ * obu-mogo 模块
+ */
+ IMoGoObuProvider getMoGoObuProviderApi();
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
index 70ddff1453..5ae8926ed5 100644
--- a/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/MogoServicePaths.java
@@ -48,42 +48,49 @@ public class MogoServicePaths {
/**
* netty 长链
*/
+ @Keep
@Deprecated
public static final String PATH_SOCKET_MANAGER = "/socket/manager";
/**
* WebSocket 长链
*/
+ @Keep
@Deprecated
public static final String PATH_WEB_SOCKET_MANAGER = "/websocket/manager";
/**
* 状态管理接口
*/
+ @Keep
@Deprecated
public static final String PATH_STATUS_MANAGER = "/statusmanager/api";
/**
* 消息中心
*/
+ @Keep
@Deprecated
public static final String PATH_MSG_CENTER = "/msgcenter/api";
/**
* 消息中心
*/
+ @Keep
@Deprecated
public static final String PATH_WINDOW_MANAGER = "/windowmanger/api";
/**
* 卡片控制
*/
+ @Keep
@Deprecated
public static final String PATH_CARD_MANAGER = "/cardmanager/api";
/**
* 管理 fragment
*/
+ @Keep
@Deprecated
public static final String PATH_FRAGMENT_MANAGER = "/fragmentmanager/api";
@@ -92,36 +99,42 @@ public class MogoServicePaths {
*
* @deprecated use {@link #PATH_INTENT_MANAGER} instead.
*/
+ @Keep
@Deprecated
public static final String PATH_VOICE_MANAGER = "/voicemanager/api";
/**
* 意图控制接口
*/
+ @Keep
@Deprecated
public static final String PATH_INTENT_MANAGER = "/intentmanager/api";
/**
* 基础功能监听回调注册
*/
+ @Keep
@Deprecated
public static final String PATH_REGISTER_CENTER = "/registercenter/api";
/**
* 基础家和公司管理
*/
+ @Keep
@Deprecated
public static final String PATH_ADDRESS_MANAGER = "/addressmanager/api";
/**
* 导航搜索模块管理
*/
+ @Keep
@Deprecated
public static final String PATH_SEARCH_MANAGER = "/searchmanager/api";
/**
* 基础设置参数管理
*/
+ @Keep
@Deprecated
public static final String PATH_SETTING_MANAGER = "/settingmanager/api";
@@ -129,18 +142,21 @@ public class MogoServicePaths {
/**
* 搜索module管理中心
*/
+ @Keep
@Deprecated
public static final String PATH_SERACH_CENTER = "/searchcenter/api";
/**
* 大而全数据管理中心
*/
+ @Keep
@Deprecated
public static final String PATH_DATA_MANAGER = "/datamanager/api";
/**
* adas 控制
*/
+ @Keep
@Deprecated
public static final String PATH_ADAS_CONTROLLER = "/adascontroller/api";
@@ -152,172 +168,224 @@ public class MogoServicePaths {
/**
* 动作指令
*/
+ @Keep
@Deprecated
public static final String PATH_ACTION_APIS = "/mogoaction/api";
/**
* 刷新策略控制
*/
+ @Keep
@Deprecated
public static final String PATH_REFRESH_STRATEGY_API = "/refreshstrategy/api";
/**
* 刷新策略控制
*/
+ @Keep
@Deprecated
public static final String PATH_LAUNCHER_API = "/launcher/api";
/**
* 入口按钮
*/
+ @Keep
@Deprecated
public static final String PATH_ENTRANCE_BUTTON_API = "/entrancebutton/api";
/**
* 顶部1/2屏管理
*/
+ @Keep
@Deprecated
public static final String PATH_EXTENSIONS_TOP_VIEW_MANAGER = "/topview/api";
/**
* 浓雾等极端事件特殊效果
*/
+ @Keep
@Deprecated
public static final String PATH_MAIN_DISPLAY_EFFECTS_MANAGER = "/displayeffects/api";
/**
* 其他模块调用公共的marker打点
*/
+ @Keep
@Deprecated
public static final String PATH_MARKER_SERVICE = "/mogomarker/api";
/**
* 其他模块调用分享框
*/
+ @Keep
@Deprecated
public static final String PATH_SHARE = "/extensions/share";
/**
* obu相关接口
*/
+ @Keep
@Deprecated
public static final String PATH_OBU = "/obu/api";
/**
* 事件面板
*/
+ @Keep
@Deprecated
public static final String PATH_EVENT_PANEL = "/event/panel";
/**
* 左侧面板
*/
+ @Keep
@Deprecated
public static final String PATH_LEFT_PANEL = "/left/panel";
/**
* 比亚迪模块
*/
+ @Keep
@Deprecated
public static final String PATH_SPLASH = "/splash/api";
/**
* 位置上报
*/
+ @Keep
@Deprecated
public static final String PATH_LOCATION_INFO = "/locationinfo/api";
/**
* passport
*/
+ @Keep
@Deprecated
public static final String PATH_PASSPORT = "/passport/api";
/**
* 授权服务
*/
+ @Keep
@Deprecated
public static final String PATH_AGREEMENT = "/agreement/showFragment";
/**
* 日志上传
*/
+ @Keep
@Deprecated
public static final String PATH_MOGO_MONITOR = "/monitor/api";
/**
* 探路api
*/
+ @Keep
@Deprecated
public static final String PATH_TANLU_API = "/tanlulib/api";
/**
* 策略上报
*/
+ @Keep
@Deprecated
public static final String PATH_STRATEGY_SHARE = "/share/strategy";
/**
* 分享模块中,交通状况服务上报
*/
+ @Keep
@Deprecated
public static final String PATH_TRAFFIC_UPLOAD = "/share/traffic";
/**
* 高德地图巡航上报
*/
+ @Keep
@Deprecated
public static final String PATH_GAODE_AIMLESS_SHARE = "/share/gaodeAimless";
/**
* 探路ui
*/
+ @Keep
@Deprecated
public static final String PATH_TANLU_UI_API = "/tanlu/ui";
/**
* 碰撞报警模块 已碰撞
*/
+ @Keep
@Deprecated
public static final String PATH_CRASH_WARNING = "/crash/warning";
/**
* 悬浮小控件
*/
+ @Keep
+ @Deprecated
public static final String PATH_WIDGETS = "/widgets/provider";
/**
* 在线好友面板
*/
+ @Keep
+ @Deprecated
public static final String PATH_ONLINE_CAR_PANEL = "/onlinecar/panel";
/**
* 全局免唤醒
*/
+ @Keep
+ @Deprecated
public static final String PATH_GLOBAL_UNWAKE = "/global/unwake";
/**
* 返回悬浮按钮
*/
+ @Keep
+ @Deprecated
public static final String PATH_BACK = "/back2launcher/ui";
/**
* 自研地图和高德地图切换
*/
+ @Keep
+ @Deprecated
public static final String PATH_MAP_FRAME_CONTROLLER = "/mapframe/controller";
/**
* 小地图控件
*/
+ @Keep
+ @Deprecated
public static final String PATH_SMALL_MAP = "/small_map/api";
/**
* ADAS 模块
*/
+ @Keep
+ @Deprecated
public static final String PATH_ADAS = "/adas/api";
- /*
- *前方碰撞预警 未碰撞
- * */
+ /**
+ * 前方碰撞预警 未碰撞
+ */
+ @Keep
+ @Deprecated
public static final String PATH_V2X_FRONT_CRASH_WARNING = "/front/crashwarning";
+
+ /**
+ * warning 模块
+ */
+ @Keep
+ @Deprecated
+ public static final String PATH_V2X_WARNING = "/warning/api";
+
+ /**
+ * obu-mogo 模块
+ */
+ @Keep
+ @Deprecated
+ public static final String PATH_V2X_OBU_MOGO = "/obu_mogo/api";
}
diff --git a/services/mogo-service-api/src/main/java/com/mogo/service/warning/IMoGoWaringProvider.java b/services/mogo-service-api/src/main/java/com/mogo/service/warning/IMoGoWaringProvider.java
new file mode 100644
index 0000000000..23738792ec
--- /dev/null
+++ b/services/mogo-service-api/src/main/java/com/mogo/service/warning/IMoGoWaringProvider.java
@@ -0,0 +1,20 @@
+package com.mogo.service.warning;
+
+import androidx.annotation.IdRes;
+import androidx.fragment.app.FragmentActivity;
+
+import com.alibaba.android.arouter.facade.template.IProvider;
+
+/**
+ * @author xiaoyuzhou
+ * @date 2021/8/2 7:36 下午
+ */
+public interface IMoGoWaringProvider extends IProvider {
+ /**
+ * 初始化网约车容器
+ *
+ * @param activity activity
+ * @param containerId 容器ID
+ */
+ void init(FragmentActivity activity, @IdRes int containerId);
+}
diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
index 63eaede692..c86ee37f62 100644
--- a/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
+++ b/services/mogo-service/src/main/java/com/mogo/service/impl/MogoServiceApis.java
@@ -27,6 +27,7 @@ import com.mogo.service.launcher.IMogoLauncher;
import com.mogo.service.locationinfo.IMogoLocationInfoService;
import com.mogo.service.map.IMogoMapFrameController;
import com.mogo.service.map.IMogoMapService;
+import com.mogo.service.obu.IMoGoObuProvider;
import com.mogo.service.smp.IMogoSmallMapProvider;
import com.mogo.service.module.IMogoActionManager;
import com.mogo.service.module.IMogoAddressManager;
@@ -48,6 +49,7 @@ import com.mogo.service.share.IMogoTanluProvider;
import com.mogo.service.share.IMogoTanluUiProvider;
import com.mogo.service.v2x.DisplayEffectsInterface;
import com.mogo.service.v2x.IV2XProvider;
+import com.mogo.service.warning.IMoGoWaringProvider;
import com.mogo.service.windowview.IMogoTopViewManager;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -269,6 +271,16 @@ public class MogoServiceApis implements IMogoServiceApis {
return getApiInstance(IV2XProvider.class, MogoServicePaths.PATH_V2X_FRONT_CRASH_WARNING);
}
+ @Override
+ public IMoGoWaringProvider getWaringProviderApi() {
+ return getApiInstance(IMoGoWaringProvider.class, MogoServicePaths.PATH_V2X_WARNING);
+ }
+
+ @Override
+ public IMoGoObuProvider getMoGoObuProviderApi() {
+ return getApiInstance(IMoGoObuProvider.class, MogoServicePaths.PATH_V2X_OBU_MOGO);
+ }
+
@Override
public IMogoTrafficUploadProvider getTrafficUploadApi() {
return getApiInstance(IMogoTrafficUploadProvider.class, MogoServicePaths.PATH_TRAFFIC_UPLOAD);