Merge branch 'dev/dev_eagle_architecture_upgrade' into dev/dev_eagle_wuhan_sikua_obu

# Conflicts:
#	core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt
#	libraries/map-custom/src/main/java/com/mogo/map/impl/custom/CustomMapApiBuilder.java
#	modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/WarningTypeEnum.kt
#	modules/mogo-module-hmi/build.gradle
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningFloat.kt
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/notification/WarningNotificationConfig.kt
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningContract.kt
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/MoGoWarningFragment.kt
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/ui/widget/V2XWarningView.kt
#	modules/mogo-module-hmi/src/main/java/com/mogo/module/hmi/warning/MoGoWarningProvider.java
#	modules/mogo-module-obu-mogo/build.gradle
#	modules/mogo-module-obu-mogo/src/main/java/com/mogo/module/obu/mogo/MogoPrivateObuManager.kt
#	services/mogo-service-api/build.gradle
#	settings.gradle
This commit is contained in:
董宏宇
2021-09-16 19:13:24 +08:00
1264 changed files with 4947 additions and 28650 deletions

View File

@@ -60,7 +60,8 @@ dependencies {
} else {
api project(":libraries:mogo-map-api")
api project(":skin:mogo-skin-support")
implementation project(':modules:mogo-module-data')
implementation project(':core:mogo-core-data')
api project(':core:mogo-core-function-api')
}
}

View File

@@ -7,6 +7,7 @@ import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.auth.IMogoAuthManager;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.check.ICheckProvider;
import com.mogo.service.cloud.socket.IMogoSocketManager;
import com.mogo.service.cloud.socket.IMogoWebSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
@@ -22,7 +23,6 @@ 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;
import com.mogo.service.module.IMogoMarkerService;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
@@ -41,7 +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.eagle.core.function.api.hmi.warning.IMoGoWaringProvider;
import com.mogo.service.windowview.IMogoTopViewManager;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -322,8 +322,13 @@ public interface IMogoServiceApis extends IProvider {
IMogoSmallMapProvider getSmallMapProviderApi();
/**
* V2X
* 检测接口
*/
ICheckProvider getCheckProvider();
/*
*V2X
* */
IV2XProvider getV2XListenerManager();
/**

View File

@@ -370,6 +370,11 @@ public class MogoServicePaths {
@Deprecated
public static final String PATH_ADAS = "/adas/api";
/**
* 车辆检测 模块
*/
public static final String PATH_CHECK = "/check/api";
/**
* 前方碰撞预警 未碰撞
*/

View File

@@ -0,0 +1,48 @@
package com.mogo.service.check;
import android.content.Context;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.check.IMogoCheckListener;
import com.mogo.service.datamanager.IMogoDataChangedListener;
/**
* 检测接口
*/
public interface ICheckProvider extends IProvider {
/**
* 注册车辆监控变化监听
*
* @param module 监听模块
* @param listener
*/
void registerVehicleMonitoringListener(String module, IMogoCheckListener listener);
/**
* 注销车辆监控变化监听
*
* @param module
*/
void unregisterListener(String module, IMogoCheckListener listener);
/**
* 启动检测模块
*/
void startCheckActivity(Context context);
/**
* 检测弹框
*/
void showCheckDialog(Context context);
/**
* 指标监测
*/
boolean checkMonitor(Context context);
/**
* 根据监测指标修改主页检测按钮
*/
void updateMonitoringStatus(String module, boolean hasError);
}

View File

@@ -0,0 +1,6 @@
package com.mogo.service.entrance;
public interface IMogoEntranceAutopilotStatusClickListener {
void click();
}

View File

@@ -68,10 +68,11 @@ public interface IMogoEntranceButtonController extends IProvider {
* @param index
* @return
*/
TextView getButton( ButtonIndex index );
TextView getButton(ButtonIndex index);
/**
* 添加低层级view使用ViewGroup.addView(v,0)实现
*
* @param view 将要添加的view
*/
void addBottomLayerView(View view);
@@ -79,65 +80,89 @@ public interface IMogoEntranceButtonController extends IProvider {
/**
* 添加低层级view使用ViewGroup.addView(v,0)实现
* 可指定x,y位置
*
* @param view 将要添加的view
* @param x leftMargin
* @param y topMargin
* @param x leftMargin
* @param y topMargin
*/
void addBottomLayerView(View view, int x, int y);
/**
* 移除对应的底层view
*
* @param view 待移除view
*/
void removeBottomLayerView(View view);
/**
* 添加左下角功能View按顺序添加到最底端
*
* @param view 待添加view
*/
void addLeftFeatureView(View view);
/**
* 移除左下角功能按钮
*
* @param view 待移除view
*/
void removeLeftFeatureView(View view);
/**
* 设置vr模式下左下角提示view
*
* @param view 目前是adas提示和求助
*/
void showLeftNoticeView(View view);
/**
* 隐藏vr模式下左下角提示view需要与{@link #showLeftNoticeView(View)}成对使用
*
* @param view 待隐藏view
*/
void hideLeftNoticeView(View view);
/**
* 根据noticeType添加左侧提示
*
* @param noticeType {@link #NOTICE_TYPE_SUDDENLY_BREAK}...
* @param iconRes 本地 icon res
* @param content 提示内容
* @param iconRes 本地 icon res
* @param content 提示内容
*/
void showLeftNoticeByType(int noticeType, int iconRes, String content);
/**
* 移除noticeType需要与{@link #showLeftNoticeByType(int, int, String)}成对使用
*
* @param noticeType {@link #NOTICE_TYPE_SUDDENLY_BREAK}...
*/
void hideLeftNoticeByType(int noticeType);
/**
* 添加view状态回调监听
*
* @param listener 回调监听
*/
void addEntranceViewListener(IMogoEntranceViewListener listener);
/**
* 移除view状态回调监听
*
* @param listener 回调监听
*/
void removeEntranceViewListener(IMogoEntranceViewListener listener);
/**
* 添加entrance 自动驾驶状态监听
*
* @param listener {@link IMogoEntranceAutopilotStatusClickListener}
*/
void addEntranceAutopilotStatusClickListener(IMogoEntranceAutopilotStatusClickListener listener);
/**
* 移除entrance 自动驾驶状态监听
*
* @param listener {@link IMogoEntranceAutopilotStatusClickListener}
*/
void removeEntranceAutopilotStatusClickListener(IMogoEntranceAutopilotStatusClickListener listener);
}

View File

@@ -1,6 +1,7 @@
package com.mogo.service.module;
import com.alibaba.android.arouter.facade.template.IProvider;
import com.mogo.map.check.IMogoCheckListener;
import com.mogo.map.listener.IMogoMapListener;
import com.mogo.map.location.IMogoLocationListener;
import com.mogo.map.marker.IMogoMarkerClickListener;

View File

@@ -1,93 +0,0 @@
package com.mogo.service.warning
import com.mogo.module.data.enums.WarningDirectionEnum
import com.mogo.service.module.IMogoModuleProvider
/**
* @author xiaoyuzhou
* @date 2021/8/2 7:36 下午
*/
interface IMoGoWaringProvider : IMogoModuleProvider {
/**
* 展示VR下V2X预警
*
* @param v2xType V2X类型
* @param alertContent 提醒文本
* @param ttsContent tts语音播报消息
* @param tag tag绑定弹窗的标志
*/
fun showWarningV2X(
v2xType: Int,
alertContent: String?,
ttsContent: String?,
tag: String?,
listener:WarningStatusListener?
)
/**
* 关闭指定floatTag 的 VR下V2X预警弹窗
* @param tag 弹窗标识
*/
fun disableWarningV2X(tag: String?)
/**
* 展示红绿灯预警
*
* @param checkLightId 0-都是默认1-红2-黄3-绿
*/
fun showWarningTrafficLight(checkLightId: Int)
/**
* 关闭红绿灯预警
*/
fun disableWarningTrafficLight()
/**
* 修改红灯倒计时
*/
fun changeCountdownRed(redNum: Int)
/**
* 修改黄灯倒计时
*/
fun changeCountdownYellow(yellowNum: Int)
/**
* 修改绿灯倒计时
*/
fun changeCountdownGreen(greenNum: Int)
/**
* @param readNum 红灯倒计时
* @param yellowNum 黄灯倒计时
* @param greenNum 绿灯倒计时
*/
fun changeCountdownTrafficLightNum(readNum: Int, yellowNum: Int, greenNum: Int)
/**
* 展示限速预警
*
* @param limitingSpeed 限速速度
*/
fun showLimitingVelocity(limitingSpeed: Int)
/**
* 关闭限速预警
*/
fun disableLimitingVelocity()
/**
* 展示指定方位上的红框预警
* @param direction
* @see WarningDirectionEnum
*/
fun showWarning(direction: WarningDirectionEnum)
/**
* 展示指定方位上的红框预警
* @param direction
* @see WarningDirectionEnum
* @param closeTime 倒计时
*/
fun showWarning(direction: WarningDirectionEnum, closeTime: Long)
}

View File

@@ -49,6 +49,8 @@ dependencies {
implementation rootProject.ext.dependencies.mogoutils
implementation rootProject.ext.dependencies.mogocommons
implementation rootProject.ext.dependencies.mogoserviceapi
implementation rootProject.ext.dependencies.moduleADAS
implementation rootProject.ext.dependencies.mogomodulecheck
} else {
implementation project(':modules:mogo-module-adas')
api project(":libraries:mogo-map")
@@ -56,6 +58,8 @@ dependencies {
implementation project(":foudations:mogo-utils")
implementation project(":foudations:mogo-commons")
implementation project(":services:mogo-service-api")
implementation project(':modules:mogo-module-adas')
implementation project(':modules:mogo-module-check')
}
}

View File

@@ -11,6 +11,7 @@ import com.mogo.service.adas.IMogoADASController;
import com.mogo.service.analytics.IMogoAnalytics;
import com.mogo.service.auth.IMogoAuthManager;
import com.mogo.service.cardmanager.IMogoCardManager;
import com.mogo.service.check.ICheckProvider;
import com.mogo.service.cloud.socket.IMogoSocketManager;
import com.mogo.service.cloud.socket.IMogoWebSocketManager;
import com.mogo.service.datamanager.IMogoDataManager;
@@ -30,7 +31,6 @@ 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;
import com.mogo.service.module.IMogoMarkerService;
import com.mogo.service.module.IMogoRegisterCenter;
import com.mogo.service.module.IMogoSearchManager;
@@ -49,7 +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.eagle.core.function.api.hmi.warning.IMoGoWaringProvider;
import com.mogo.service.windowview.IMogoTopViewManager;
import com.mogo.service.windowview.IMogoWindowManager;
import com.mogo.skin.support.IMogoSkinSupportInstaller;
@@ -261,6 +261,11 @@ public class MogoServiceApis implements IMogoServiceApis {
return getApiInstance(IMogoSmallMapProvider.class, MogoServicePaths.PATH_SMALL_MAP);
}
@Override
public ICheckProvider getCheckProvider() {
return getApiInstance(ICheckProvider.class, MogoServicePaths.PATH_CHECK);
}
@Override
public IV2XProvider getV2XListenerManager() {
return getApiInstance(IV2XProvider.class, MogoServicePaths.PATH_V2X_FRONT_CRASH_WARNING);

View File

@@ -13,7 +13,6 @@ import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.debug.DebugConfig;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.map.MogoLatLng;
import com.mogo.map.uicontroller.EnumMapUI;
import com.mogo.module.adas.AdasProvider;
@@ -164,14 +163,14 @@ public class MogoADASController implements IMogoADASController {
ADASCarStateInfo stateInfo = GsonUtil.objectFromJson(((String) msg.obj), ADASCarStateInfo.class);
if (stateInfo == null || stateInfo.getValues() == null) {
Logger.d(TAG, "ADAS-LOC-timer", "upd 到 aidl 传输数据 stateInfo or stateInfo.getValues() is null");
// Logger.d(TAG, "ADAS-LOC-timer", "upd 到 aidl 传输数据 stateInfo or stateInfo.getValues() is null");
return;
}
if (stateInfo.getValues().getStartReceiverDataTime() != null) {
Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时:%s", start - Long.valueOf(stateInfo.getValues().getStartReceiverDataTime()));
} else {
Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时时间字段 startReceiverDataTime is null");
}
// if (stateInfo.getValues().getStartReceiverDataTime() != null) {
// Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时:%s", start - Long.valueOf(stateInfo.getValues().getStartReceiverDataTime()));
// } else {
// Logger.d("ADAS-LOC-timer", "upd 到 aidl 传输耗时时间字段 startReceiverDataTime is null");
// }
mLastLon = stateInfo.getValues().getLon();
mLastLat = stateInfo.getValues().getLat();
@@ -180,7 +179,7 @@ public class MogoADASController implements IMogoADASController {
if (mMogoAdasCarDataCallback != null) {
mMogoAdasCarDataCallback.onAdasCarDataCallback(stateInfo);
}
Logger.i("ADAS-LOC-timer", "cost " + (System.currentTimeMillis() - start) + "ms");
// Logger.i("ADAS-LOC-timer", "cost " + (System.currentTimeMillis() - start) + "ms");
}
};
@@ -228,17 +227,7 @@ public class MogoADASController implements IMogoADASController {
@Override
public void showADAS() {
if (DebugConfig.isNeedLoadGuideModule()) {
if (!SharedPrefsMgr.getInstance(AbsMogoApplication.getApp()).getBoolean(DebugConfig.getSpGuide(), false)) {
return;
}
}
// TODO 以前这里是考虑ADAS独立应用现在集成ADAS-SDK到程序内了这个判断不需要了
// if (SingletonsHolder.get(IMogoStatusManager.class).isVrMode()) {
// return;
// }
Logger.d(TAG, Log.getStackTraceString(new Throwable()));
Logger.d(TAG, "showADAS()");
init(AbsMogoApplication.getApp());
adasProvider.addAdasStatusListener(new IAdasStatusListener() {
@Override
@@ -362,9 +351,11 @@ public class MogoADASController implements IMogoADASController {
public void autopilotArrive(AdasAIDLAutopilotArriveModel autopilotArriveModel) {
Logger.d(TAG, "autopilotArriveModel " + autopilotArriveModel);
if (autopilotArriveModel == null) {
Logger.d(TAG,"autopilotArrive autopilotArriveModel is null");
return;
}
if (mAdasOCHCallback != null) {
Logger.d(TAG,"autopilotArrive : " + autopilotArriveModel.toString());
if (!mAdasOCHCallback.isEmpty()) {
for (IMogoAdasOCHCallback cb : mAdasOCHCallback) {
cb.onArriveAt(new AdasOCHData(
autopilotArriveModel.getCarType(),
@@ -697,7 +688,7 @@ public class MogoADASController implements IMogoADASController {
}
@Override
public void setAdasCarDataCallback( IMogoAdasCarDataCallback carDataCallback ) {
public void setAdasCarDataCallback(IMogoAdasCarDataCallback carDataCallback) {
mMogoAdasCarDataCallback = carDataCallback;
}