构建预警模块与OBU模块

This commit is contained in:
董宏宇
2021-08-03 10:33:42 +08:00
parent 284b722e51
commit 98de735586
13 changed files with 168 additions and 64 deletions

View File

@@ -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')
}

View File

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

View File

@@ -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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@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());
}
}

View File

@@ -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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}

View File

@@ -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)) {

View File

@@ -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……");
}
}

View File

@@ -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)) {

View File

@@ -1,3 +1,3 @@
GROUP=com.mogo.module
POM_ARTIFACT_ID=mogo-module-hmi
POM_ARTIFACT_ID=module-hmi
VERSION_CODE=1

View File

@@ -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, "初始化蘑菇预警模块……");
}
}

View File

@@ -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();
}

View File

@@ -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";
}

View File

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

View File

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