From 70c6c1e8b25f05018fa7531e98a64d3a40302491 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 17 Feb 2022 10:10:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[BadCase][Refactor]=E9=87=8D=E6=9E=84OCH?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bus/fragment/BaseOchBusTabFragment.java | 3 +-- .../och/taxi/ui/BaseOchTaxiTabFragment.java | 3 +-- .../core/function/hmi/ui/MoGoHmiFragment.kt | 23 +++++++------------ .../api/hmi/warning/IMoGoWaringProvider.kt | 8 +------ .../function/call/hmi/CallerHmiManager.kt | 11 ++------- 5 files changed, 13 insertions(+), 35 deletions(-) diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java index 1ff52a0d9c..5423cd0db1 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BaseOchBusTabFragment.java @@ -204,8 +204,7 @@ public abstract class BaseOchBusTabFragment { // onShow() - CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); - return null; }, + return mBadcaseBtn; }, () -> { // onHide() return null; }); } diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java index 76097c420e..74d909f48f 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/BaseOchTaxiTabFragment.java @@ -137,8 +137,7 @@ public abstract class BaseOchTaxiTabFragment { // onShow() - CallerHmiManager.INSTANCE.showBadCaseEntrance(mBadcaseBtn); - return null; }, + return mBadcaseBtn; }, () -> { // onHide() return null; }); 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 878899b6a8..265f440c2a 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 @@ -94,7 +94,7 @@ class MoGoHmiFragment : MvpFragment private var autoPilotBadCaseView: AutoPilotBadCaseView? = null - private var onBadCaseShow: (() -> Unit)? = null + private var onBadCaseShow: (() -> View)? = null private var onBadCaseHide: (() -> Unit)? = null companion object { @@ -318,19 +318,12 @@ class MoGoHmiFragment : MvpFragment } dismissBadCaseEntryAfterSomeTime() } else { - onBadCaseShow?.invoke() - } - } - } - - override fun showBadCaseEntrance(entrance: View) { - entrance.lifecycleOwner.lifecycle.addObserver(badCaseEntranceObserver) - autoPilotBadCaseEntrance = entrance - lifecycleScope.launch { - withContext(Dispatchers.IO) { - val dao = Repository.dao() - dao.getAllUnConsumedRecords()?.first()?.let { - showBadCaseEntrance(it) + val view = onBadCaseShow?.invoke() + if (view != null) { + view.lifecycleOwner.lifecycle.addObserver(badCaseEntranceObserver) + view.visibility = View.GONE + autoPilotBadCaseEntrance = view + showBadCaseEntrance(record) } } } @@ -344,7 +337,7 @@ class MoGoHmiFragment : MvpFragment } } - override fun registerBadCaseCallback(onShow: () -> Unit, onHide: (() -> Unit)?) { + override fun registerBadCaseCallback(onShow: () -> View, onHide: (() -> Unit)?) { onBadCaseShow = onShow onBadCaseHide = onHide } diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt index 50ded93312..bf8cad29ac 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/hmi/warning/IMoGoWaringProvider.kt @@ -181,16 +181,10 @@ interface IMoGoWaringProvider { fun showAdUpgradeStatus(upgradeMode : Int,downloadStatus : Int,currentProgress : Int,totalProgress : Int ,downloadVersion : String,upgradeStatus : Int) - - /** - * 显示BadCase入口 - */ - fun showBadCaseEntrance(entrance: View) - /** * 注册badcase入口展示和隐藏的回调 * 当[onShow]被调用时,调用[showBadCaseEntrance] * [onHide]回调不用关心,可以不注册 */ - fun registerBadCaseCallback(onShow:() -> Unit, onHide: (() -> Unit)?) + fun registerBadCaseCallback(onShow:() -> View, onHide: (() -> Unit)?) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt index 04ffc50d4e..15f74ffd6e 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/hmi/CallerHmiManager.kt @@ -257,19 +257,12 @@ object CallerHmiManager : CallerBase() { waringProviderApi?.showAdUpgradeStatus(upgradeMode,downloadStatus, currentProgress, totalProgress, downloadVersion, upgradeStatus) } - /** - * 显示BadCase入口 - */ - fun showBadCaseEntrance(entrance: View) { - waringProviderApi?.showBadCaseEntrance(entrance) - } - /** * 注册badcase入口展示和隐藏的回调 - * 当[onShow]被调用时,调用[showBadCaseEntrance] + * 当[onShow]被调用时, 表示达到展示条件,返回展示的入口控件 * [onHide]回调不用关心,可以不注册 */ - fun registerBadCaseCallback(onShow:() -> Unit, onHide: (() -> Unit)?) { + fun registerBadCaseCallback(onShow:() -> View, onHide: (() -> Unit)?) { waringProviderApi?.registerBadCaseCallback(onShow, onHide) } From b03ae9cb092f6a7c8b2c934132244be4dec34ef3 Mon Sep 17 00:00:00 2001 From: donghongyu Date: Thu, 17 Feb 2022 11:33:55 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[Change]=20=E6=A0=B9=E6=8D=AE=E8=BA=AB?= =?UTF-8?q?=E4=BB=BD=E7=8A=B6=E6=80=81=E9=80=89=E6=8B=A9=E6=80=A7=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=9C=B0=E5=9B=BE=E9=87=87=E9=9B=86=E6=A8=A1?= =?UTF-8?q?=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../autopilot/MoGoAutopilotProvider.kt | 4 +- .../function/main/MainMoGoApplication.java | 39 +++++++++++++------ 2 files changed, 30 insertions(+), 13 deletions(-) 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 438fb22daa..20c96b11ef 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 @@ -49,7 +49,10 @@ class MoGoAutopilotProvider : // TODO 临时方案,根据不同的身份标识,连接不同的工控机IP when (FunctionBuildConfig.appIdentityMode) { 0 -> // 司机 + { + CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) AdasManager.getInstance().create(context, "192.168.1.102") + } 1 -> // 乘客 AdasManager.getInstance().create(context, "192.168.1.103") else -> // 默认采用UDP寻址方式 @@ -62,7 +65,6 @@ class MoGoAutopilotProvider : AdasManager.getInstance().setOnAdasListener(MoGoAdasListenerImpl()) // 同步数据给工控机的服务 AsyncDataToAutopilotServer.INSTANCE.initServer() - CallerMapDataCollectorManager.registerOnMapCollectTaskListener(this) } /** diff --git a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java index 1cc069f33e..b31fee555f 100644 --- a/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java +++ b/core/function-impl/mogo-core-function-main/src/main/java/com/mogo/eagle/core/function/main/MainMoGoApplication.java @@ -15,6 +15,7 @@ import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.constants.SharedPrefsConstants; import com.mogo.commons.debug.DebugConfig; import com.mogo.commons.network.Utils; +import com.mogo.eagle.core.data.config.FunctionBuildConfig; import com.mogo.eagle.core.data.constants.MoGoConfig; import com.mogo.eagle.core.data.constants.MogoServicePaths; import com.mogo.eagle.core.data.map.MogoLocation; @@ -155,10 +156,6 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { clientConfig.setAnchor(false); // 设置从蘑菇AI开放平台获取的APPKey switch (DebugConfig.getCarMachineType()) { - // 自研车机 - case DebugConfig.CAR_MACHINE_TYPE_SELF_INNOVATE: - clientConfig.setThirdPartyAppKey("wbvpzgar"); - break; // 比亚迪 case DebugConfig.CAR_MACHINE_TYPE_BYD: clientConfig.setThirdPartyAppKey("bydauto"); @@ -167,6 +164,10 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { case DebugConfig.CAR_MACHINE_TYPE_LENOVO: clientConfig.setThirdPartyAppKey("pfieouqg"); break; + // 自研车机 + default: + clientConfig.setThirdPartyAppKey("wbvpzgar"); + break; } // 设置应用服务AppId 长链、鉴权 if (DebugConfig.getNetMode() == DebugConfig.NET_MODE_RELEASE) { @@ -266,26 +267,26 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { } private void startSocketService() { - Logger.d(TAG,"startSocketService"); + Logger.d(TAG, "startSocketService"); IMogoServiceApis apis = MogoApisHandler.getInstance().getApis(); // 关闭长链服务 apis.getSocketManagerApi(getApplicationContext()).destroy(); apis.getSocketManagerApi(this).registerLifecycleListener(10020, new IMogoLifecycleListener() { @Override public void onConnectFailure() { - Logger.d(TAG,"socket-onConnectFailure"); + Logger.d(TAG, "socket-onConnectFailure"); DebugConfig.setDownloadSnapshot(false); } @Override public void onConnectSuccess() { - Logger.d(TAG,"socket-onConnectSuccess"); + Logger.d(TAG, "socket-onConnectSuccess"); DebugConfig.setDownloadSnapshot(true); } @Override public void onConnectLost() { - Logger.d(TAG,"socket-onConnectLost"); + Logger.d(TAG, "socket-onConnectLost"); DebugConfig.setDownloadSnapshot(false); } }); @@ -311,7 +312,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { MogoModulePaths.addBaseModule(new MogoModule(MapApiPath.PATH, "CustomMapApiBuilder")); MogoModulePaths.addBaseModule(new MogoModule(ServiceConst.PATH_REFRESH_STRATEGY, ServiceConst.PATH_REFRESH_STRATEGY)); - // MogoModulePaths.addBaseModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME)); + // MogoModulePaths.addBaseModule(new MogoModule(V2XConst.PATH_V2X_UI, V2XConst.MODULE_NAME)); //mogo deva tools MogoModulePaths.addModuleFunctionServer(new MogoModule(MogoServicePaths.PATH_DEVA_TOOLS, "IMoGoDevaToolsProvider")); // 域控制器模块(新) @@ -329,8 +330,22 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { // 推送模块 MogoModulePaths.addModule(new MogoModule(PushUIConstants.PATH, "PUSH_UI")); - // 地图数据收集模块 - MogoModulePaths.addModuleFunctionServer(new MogoModule(MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER, "MoGoMapDataCollector")); + + /* + * 不同身份加载的特殊模块 + */ + switch (FunctionBuildConfig.appIdentityMode) { + // 司机身份专属模块 + case 0: + // 地图数据收集模块 + MogoModulePaths.addModuleFunctionServer(new MogoModule(MogoServicePaths.PATH_MAP_DATA_COLLECT_PROVIDER, "MoGoMapDataCollector")); + break; + case 1: + + break; + default: + break; + } if (!DebugConfig.isLauncher()) { PersistentManager @@ -343,7 +358,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); - /**如果是主进程**/ + /*如果是主进程**/ if (ProcessUtils.isMainProcess(this)) { AppLaunchTimeUtils.beginTimeCalculate(AppLaunchTimeUtils.COLD_START); }