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);