diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java index f8e5b3bd17..c076db620a 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/model/BusOrderModel.java @@ -403,7 +403,7 @@ public class BusOrderModel { startLon, startLat, location.getLongitude(), location.getLatitude() ); - Logger.i(TAG, "judgeStartStation() distance = " + distance); + CallerLogger.INSTANCE.d(M_BUS + TAG,"judgeStartStation() distance = " + distance); if ( distance > BusConst.ARRIVE_AT_END_STATION_DISTANCE ) { distance = CoordinateUtils.calculateLineDistance(startLon, startLat, diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 06b77b0491..5431beaf87 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -28,7 +28,6 @@ import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPlanningListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.NetworkUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; @@ -1312,7 +1311,7 @@ public class TaxiModel { public void updateOrderRouteInfo(List models) { if (null == models || models.size() == 0) return; if (mCurrentOCHOrder == null) return; - Logger.d(M_TAXI + TAG, "--------计算出sumLength开始---------- "); + CallerLogger.INSTANCE.d(M_TAXI + TAG, "--------计算出sumLength开始---------- "); //转换成高德坐标系 if (mRoutePoints.size() > 0){ @@ -1323,12 +1322,12 @@ public class TaxiModel { } public void startDynamicCalculateRouteInfo() { - Logger.d(M_TAXI + TAG, "--------mCurrentOCHOrder---------- " + mCurrentOCHOrder); + CallerLogger.INSTANCE.d(M_TAXI + TAG, "--------mCurrentOCHOrder---------- " + mCurrentOCHOrder); if (mCurrentOCHOrder != null && mRoutePoints.size() == 0) {//根据orderNo去查询 queryOrderRouteList(mCurrentOCHOrder.orderNo); } - Logger.d(M_TAXI + TAG, "--------mRoutePoints.size---------- " + mRoutePoints.size()); + CallerLogger.INSTANCE.d(M_TAXI + TAG, "--------mRoutePoints.size---------- " + mRoutePoints.size()); if (mRoutePoints.size() > 0){ reportTotalDisAndTime(); @@ -1368,7 +1367,7 @@ public class TaxiModel { } double lastTime = lastSumLength / TaxiConst.TAXI_AVERAGE_SPEED * 3.6; //秒 - Logger.d(M_TAXI + "dynamicCalculateRouteInfo" + CallerLogger.INSTANCE.d(M_TAXI + "dynamicCalculateRouteInfo" , "---lastSumLength: " + lastSumLength + "----lastTime : " + lastTime + " thread = "+ Thread.currentThread().getName()); diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/record/RecordHelper.java b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/record/RecordHelper.java index bea8b5f739..bcd74d8efe 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/record/RecordHelper.java +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/record/RecordHelper.java @@ -6,7 +6,6 @@ import android.os.Environment; import android.util.Log; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.mogo.logger.Logger; import com.mogo.eagle.core.utilcode.util.FileUtils; import com.zhjt.mogo_core_function_devatools.badcase.record.fft.FftFactory; import com.zhjt.mogo_core_function_devatools.badcase.record.listener.RecordListener; @@ -177,14 +176,14 @@ public class RecordHelper { AudioRecordThread() { bufferSize = AudioRecord.getMinBufferSize(currentConfig.getSampleRate(), currentConfig.getChannelConfig(), currentConfig.getEncodingConfig()) * RECORD_AUDIO_BUFFER_TIMES; - Logger.d(TAG, "record buffer size = %s", bufferSize); + CallerLogger.INSTANCE.d("$M_DEVA$TAG", "record buffer size = %s", bufferSize); audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, currentConfig.getSampleRate(), currentConfig.getChannelConfig(), currentConfig.getEncodingConfig(), bufferSize); if (currentConfig.getFormat() == RecordConfig.RecordFormat.MP3) { if (mp3EncodeThread == null) { initMp3EncoderThread(bufferSize); } else { - Logger.e(TAG, "mp3EncodeThread != null, 请检查代码"); + CallerLogger.INSTANCE.e("$M_DEVA$TAG", "mp3EncodeThread != null, 请检查代码"); } } } @@ -206,7 +205,7 @@ public class RecordHelper { private void startPcmRecorder() { state = RecordState.RECORDING; notifyState(); - Logger.d(TAG, "开始录制 Pcm"); + CallerLogger.INSTANCE.d("$M_DEVA$TAG", "开始录制 Pcm"); FileOutputStream fos = null; try { fos = new FileOutputStream(tmpFile); @@ -224,7 +223,7 @@ public class RecordHelper { if (state == RecordState.STOP) { makeFile(); } else { - Logger.i(TAG, "暂停!"); + CallerLogger.INSTANCE.i("$M_DEVA$TAG", "暂停!"); } } catch (Exception e) { notifyError("录音失败"); @@ -240,7 +239,7 @@ public class RecordHelper { if (state != RecordState.PAUSE) { state = RecordState.IDLE; notifyState(); - Logger.d(TAG, "录音结束"); + CallerLogger.INSTANCE.d("$M_DEVA$TAG", "录音结束"); } } @@ -268,7 +267,7 @@ public class RecordHelper { notifyState(); stopMp3Encoded(); } else { - Logger.d(TAG, "暂停"); + CallerLogger.INSTANCE.d("$M_DEVA$TAG", "暂停"); } } } @@ -283,7 +282,7 @@ public class RecordHelper { } }); } else { - Logger.e(TAG, "mp3EncodeThread is null, 代码业务流程有误,请检查!! "); + CallerLogger.INSTANCE.e("$M_DEVA$TAG", "mp3EncodeThread is null, 代码业务流程有误,请检查!! "); } } @@ -302,7 +301,7 @@ public class RecordHelper { break; } notifyFinish(); - Logger.i(TAG, "录音完成! path: %s ; 大小:%s", resultFile.getAbsoluteFile(), resultFile.length()); + CallerLogger.INSTANCE.i("$M_DEVA$TAG", "录音完成! path: %s ; 大小:%s", resultFile.getAbsoluteFile(), resultFile.length()); } /** @@ -377,7 +376,7 @@ public class RecordHelper { private String getFilePath(String fileName) { if (!FileUtils.createOrExistsDir(ROOT_PATH)) { - Logger.w(TAG, "文件夹创建失败:%s", ROOT_PATH); + CallerLogger.INSTANCE.w("$M_DEVA$TAG", "文件夹创建失败:%s", ROOT_PATH); return null; } @@ -388,7 +387,7 @@ public class RecordHelper { private String getTempFilePath() { if (!FileUtils.createOrExistsDir(TEMP_PATH)) { - Logger.e(TAG, "文件夹创建失败:%s", TEMP_PATH); + CallerLogger.INSTANCE.e("$M_DEVA$TAG", "文件夹创建失败:%s", TEMP_PATH); } String fileName = String.format(Locale.getDefault(), "tmp_%s", FileUtils.getNowString(new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.SIMPLIFIED_CHINESE))); return String.format(Locale.getDefault(), "%s%s.pcm", TEMP_PATH, fileName); diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt index 2f8e8fdc5f..3b7572cea9 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/FuncConfigCenter.kt @@ -36,19 +36,14 @@ class FuncConfigCenter : IMogoOnMessageListener { .registerOnMessageListener(FUNC_CONFIG_TYPE, this) UiThreadHandler.postDelayed({ funcConfigNetWorkModel.requestFuncConfig({ -// SPUtils.getInstance("biz_config").put("config", GsonUtils.toJson(it)) -// refreshConfig(it) - - //todo test - val bizJson = SPUtils.getInstance("biz_config") - .getString("config", GsonUtils.toJson(defaultFuncConfig())) - refreshConfig(GsonUtils.fromJson(bizJson, FuncConfig::class.java)) + SPUtils.getInstance("biz_config").put("config", GsonUtils.toJson(it)) + refreshConfig(it) }, { val bizJson = SPUtils.getInstance("biz_config") .getString("config", GsonUtils.toJson(defaultFuncConfig())) refreshConfig(GsonUtils.fromJson(bizJson, FuncConfig::class.java)) }) - }, 1000L * 30) + }, 1000L * 5) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt index e3918ec71d..d80756e1f8 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/funcconfig/network/FuncConfigNetWorkModel.kt @@ -4,6 +4,7 @@ import android.util.Log import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.BaseResponse import com.mogo.eagle.core.network.MoGoRetrofitFactory +import com.mogo.eagle.core.network.apiCall import com.mogo.eagle.core.network.request import com.mogo.eagle.core.utilcode.util.DeviceUtils import com.zhjt.mogo_core_function_devatools.funcconfig.FuncConfigConst @@ -25,6 +26,7 @@ class FuncConfigNetWorkModel { onError: ((String) -> Unit)? = null ) { request> { + val map = mutableMapOf() start { if (success == null) { success = onSuccess @@ -32,16 +34,18 @@ class FuncConfigNetWorkModel { if (error == null) { error = onError } - } - loader { - val map = mutableMapOf() + //todo test // map["sn"] = MoGoAiCloudClientConfig.getInstance().sn map["sn"] = "X20202203105S688HZ" // map["mac"] = DeviceUtils.getMacAddress() map["mac"] = "48:b0:2d:3a:bc:78" // map["channelVersion"] = FuncConfigConst.getChannelCode() map["channelVersion"] = 1 - getNetWorkApi().funcConfig(map) + } + loader { + apiCall { + getNetWorkApi().funcConfig(map) + } } onSuccess { if (it.result != null) { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt index 14f87bb3e6..329b2ff2ab 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/scene/SceneManager.kt @@ -5,7 +5,6 @@ import com.mogo.eagle.core.data.deva.scene.SceneModule import com.mogo.eagle.core.data.deva.scene.SceneModuleTAG import com.mogo.eagle.core.data.deva.scene.SceneTAG import com.mogo.eagle.core.function.call.devatools.CallerDevaToolsListenerManager -import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.Scene.Companion.scene import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS @@ -71,7 +70,6 @@ class SceneManager { //默认未创建的,符合scene tag,首次初始化logger=true scene.addChangeListener { change -> - Logger.i("emArrow","scene change : $change") sceneModuleTAG.map.iterator().forEach { map -> val sceneModule = map.value sceneModule.name?.let { diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt index 42d8590c53..7ce7f46979 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/StatusManager.kt @@ -12,6 +12,7 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.autopilot.* import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.logger.* +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.eagle.core.utilcode.util.* import com.zhjt.mogo_core_function_devatools.status.entity.CanStatus import com.zhjt.mogo_core_function_devatools.status.entity.GpsStatus @@ -50,10 +51,10 @@ object StatusManager { override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { super.onAutopilotGuardian(guardianInfo) guardianInfo?.code?.takeIf { - Logger.d(TAG, "-- onAutopilotGuardian ---: code: $it") + CallerLogger.d("$M_DEVA$TAG", "-- onAutopilotGuardian ---: code: $it") it.contains("RTK_STATUS", true) || it.contains("CAN", true) || it == "ILCT_RTK_OR_SLAM_CHANGE" }?.run { - Logger.d(TAG, "-- onAutopilotGuardian trigger req ---: code: $this") + CallerLogger.d("$M_DEVA$TAG", "-- onAutopilotGuardian trigger req ---: code: $this") req() } } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt index c5663854b5..69f1b8f199 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/flow/rtk/RTKImpl.kt @@ -4,7 +4,8 @@ import android.content.* import android.util.* import com.mogo.eagle.core.function.api.autopilot.* import com.mogo.eagle.core.function.call.autopilot.* -import com.mogo.eagle.core.utilcode.mogo.logger.* +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.zhjt.mogo_core_function_devatools.status.entity.RTKStatus import com.zhjt.mogo_core_function_devatools.status.flow.IFlow import kotlinx.coroutines.* @@ -31,7 +32,7 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatu override fun onCreate() { send(RTKStatus(getDesc(), getCode())) - Logger.d(TAG, "-- onCreate --") + CallerLogger.d("$M_DEVA$TAG", "-- onCreate --") CallerAutoPilotStatusListenerManager.addListener(TAG, this) CallerAutopilotCarStatusListenerManager.addListener(TAG, this) if (CallerAutoPilotManager.isConnected()) { @@ -67,7 +68,7 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatu override fun onAutopilotIpcConnectStatusChanged(status: Int, reason: String?) { super.onAutopilotIpcConnectStatusChanged(status, reason) if (!CallerAutoPilotManager.isConnected()) { - Logger.d(TAG, "工控机断开了....") + CallerLogger.d("$M_DEVA$TAG", "工控机断开了....") healthInfo.set(null) send(RTKStatus("", -1)) } @@ -114,7 +115,7 @@ internal class RTKImpl(ctx: Context): IFlow(ctx), IMoGoAutopilotStatu override fun onDestroy() { super.onDestroy() isOldVersion.set(false) - Logger.d(TAG, "-- onDestroy --") + CallerLogger.d("$M_DEVA$TAG", "-- onDestroy --") CallerAutoPilotStatusListenerManager.removeListener(TAG) CallerAutopilotCarStatusListenerManager.removeListener(TAG) } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt index 7e9d4fded7..040e8a70c2 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/status/ui/adapter/StatusAdapter.kt @@ -7,8 +7,8 @@ import androidx.core.content.* import androidx.recyclerview.widget.* import com.mogo.eagle.core.utilcode.kotlin.* import com.mogo.eagle.core.utilcode.mogo.logger.* +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_DEVA import com.mogo.eagle.core.utilcode.util.* -import com.zhjt.mogo_core_function_devatools.* import com.zhjt.mogo_core_function_devatools.R import com.zhjt.mogo_core_function_devatools.R.drawable import com.zhjt.mogo_core_function_devatools.status.entity.* @@ -16,7 +16,6 @@ import com.zhjt.mogo_core_function_devatools.status.entity.IpcStatus import com.zhjt.mogo_core_function_devatools.status.entity.Status import com.zhjt.mogo_core_function_devatools.status.entity.TracingStatus.Tracing.* import com.zhjt.mogo_core_function_devatools.status.ui.adapter.StatusAdapter.StatusViewHolder -import kotlinx.coroutines.* internal class StatusAdapter(val ctx: Context, var data: ArrayList): RecyclerView.Adapter() { @@ -124,7 +123,7 @@ internal class StatusAdapter(val ctx: Context, var data: ArrayList): Rec is TracingStatus -> { val extra = status.state.extra val extraDesc = if (extra != null && extra.isNotEmpty()) extra.values.joinToString(",") else "" - Logger.d(TAG, "traceing_state: $status -> extra: $extraDesc :: extra: $extra") + CallerLogger.d("$M_DEVA$TAG", "traceing_state: $status -> extra: $extraDesc :: extra: $extra") when(status.state) { //"轨迹类型:${ if (status.state == TRACK_LOADED) "循迹" else if (status.state == ROUTE_LOADED) "自主算路" else "暂无轨迹" }" MAP_TRA_TYPE -> { diff --git a/core/function-impl/mogo-core-function-hmi/build.gradle b/core/function-impl/mogo-core-function-hmi/build.gradle index 9f40e36205..ccccc40f85 100644 --- a/core/function-impl/mogo-core-function-hmi/build.gradle +++ b/core/function-impl/mogo-core-function-hmi/build.gradle @@ -139,6 +139,7 @@ dependencies { api project(':core:mogo-core-function-call') api project(':core:mogo-core-function-api') + api project(':libraries:mogo-adas') api project(':libraries:map-usbcamera') api project(':libraries:mogo-adas-other') } 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 eeb63da694..a69bb3b50e 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 @@ -33,7 +33,6 @@ import com.mogo.eagle.core.data.camera.CameraEntity import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.config.HmiBuildConfig import com.mogo.eagle.core.data.constants.MoGoFragmentPaths -import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_RTS import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2I import com.mogo.eagle.core.data.enums.SidePattern @@ -94,6 +93,10 @@ import com.mogo.eagle.core.utilcode.util.* import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String import com.mogo.map.MogoMap import com.mogo.module.common.enums.* +import com.zhidao.support.adas.high.common.MogoReport.Code.Error.EAGENT.FATAL +import com.zhidao.support.adas.high.common.MogoReport.Code.Error.EMAP.* +import com.zhidao.support.adas.high.common.MogoReport.Code.Error.ESYS.TOPIC_FREQ_DROPED +import com.zhidao.support.adas.high.common.MogoReport.Code.Error.ETELEMATICS.AICLOUD_AUTH_ERROR import com.zhjt.mogo_core_function_devatools.badcase.consts.BadCaseConfig import com.zhjt.service_biz.BizConfig import kotlinx.android.synthetic.main.fragment_hmi.* @@ -112,12 +115,12 @@ import java.util.* * 预警图层 */ @Route(path = MoGoFragmentPaths.PATH_FRAGMENT_HMI) - class MoGoHmiFragment : MvpFragment(), - IMoGoWaringProvider, - IMoGoHmiViewProxy, - MoGoHmiContract.View, - IMoGoAutopilotRecordListener, - IMoGoAutopilotStatusListener, IViewNotificationProvider { +class MoGoHmiFragment : MvpFragment(), + IMoGoWaringProvider, + IMoGoHmiViewProxy, + MoGoHmiContract.View, + IMoGoAutopilotRecordListener, + IMoGoAutopilotStatusListener, IViewNotificationProvider { private val TAG = "MoGoHmiFragment" // DebugSettingView @@ -153,11 +156,12 @@ import java.util.* //工控机节点上报列表 private var reportList = arrayListOf() - //工控机上报列表悬浮窗 - private var reportListFloatWindow: ReportListFloatWindow?=null - private var ipcReportWindow: IPCReportWindow?=null - private var adUpgradeDialog: AdUpgradeDialog?=null + //工控机上报列表悬浮窗 + private var reportListFloatWindow: ReportListFloatWindow? = null + private var ipcReportWindow: IPCReportWindow? = null + + private var adUpgradeDialog: AdUpgradeDialog? = null private var lastSpeakJob: Job? = null @@ -191,8 +195,8 @@ import java.util.* } /**ivCameraIcon?.setOnLongClickListener { - activity?.let { it1 -> CarcorderPreviewView.show(it1) } - true + activity?.let { it1 -> CarcorderPreviewView.show(it1) } + true }*/ ivToolsIcon?.setOnClickListener { @@ -272,45 +276,62 @@ import java.util.* } } - override fun getNotificationView(): IViewNotification? = context?.let { V2XNotificationView(it) } + override fun getNotificationView(): IViewNotification? = + context?.let { V2XNotificationView(it) } override fun onAutopilotRecordResult(recordPanel: RecordPanelOuterClass.RecordPanel) { CallerLogger.d("$M_HMI$TAG", "recordKey=${recordPanel.key},stat=${recordPanel.stat}") - if(BadCaseConfig.recordKeyList.contains(recordPanel.key)){ - if(recordPanel.stat == 100 || recordPanel.stat == 101){ + if (BadCaseConfig.recordKeyList.contains(recordPanel.key)) { + if (recordPanel.stat == 100 || recordPanel.stat == 101) { //成功结束录制 - TipToast.shortTip("${millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat())} bag录制成功") + TipToast.shortTip( + "${ + millis2String( + System.currentTimeMillis(), + TimeUtils.getHourMinSecondFormat() + ) + } bag录制成功" + ) } - if(recordPanel.stat == 200){ + if (recordPanel.stat == 200) { //录制失败 - TipToast.shortTip("${millis2String(System.currentTimeMillis(),TimeUtils.getHourMinSecondFormat())} bag录制失败") + TipToast.shortTip( + "${ + millis2String( + System.currentTimeMillis(), + TimeUtils.getHourMinSecondFormat() + ) + } bag录制失败" + ) } return } //在工控机taxi2.3.0版本和Bus2.4.0版本上不支持被动录包,不进行被动录包的弹窗 BadCaseConfig.dockerVersion?.let { - if(it.contains("taxi") && it.contains("2.3.0")){ + if (it.contains("taxi") && it.contains("2.3.0")) { return } - if(it.contains("bus") && it.contains("2.4.0")){ + if (it.contains("bus") && it.contains("2.4.0")) { return } } //处于非美化模式下弹窗;是地图数据采集任务时即type=2时,不弹窗 - if (!FunctionBuildConfig.isDemoMode && (recordPanel.stat == 100 || recordPanel.stat == 101) && recordPanel.type!=2) { + if (!FunctionBuildConfig.isDemoMode && (recordPanel.stat == 100 || recordPanel.stat == 101) && recordPanel.type != 2) { //只在司机屏生效,乘客屏不生效 - if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { activity?.let { CallerDevaToolsManager.onReceiveBadCaseRecord(recordPanel, it) } } } if (!FunctionBuildConfig.isDemoMode && recordPanel.type == 2 && ( - recordPanel.stat == 101 || //工控机采集完成-被动完成 - recordPanel.stat == 100 || //工控机采集完成-主动完成 - recordPanel.stat == 102 || //工控机达到最大采集时长 - recordPanel.stat == 103) //工控机磁盘满了 + recordPanel.stat == 101 || //工控机采集完成-被动完成 + recordPanel.stat == 100 || //工控机采集完成-主动完成 + recordPanel.stat == 102 || //工控机达到最大采集时长 + recordPanel.stat == 103) //工控机磁盘满了 ) { - CallerMapDataCollectorManager.finish(recordPanel.id, recordPanel.stat, "", recordPanel.filename - ?: "", recordPanel.note ?: "") + CallerMapDataCollectorManager.finish( + recordPanel.id, recordPanel.stat, "", recordPanel.filename + ?: "", recordPanel.note ?: "" + ) } } @@ -354,15 +375,19 @@ import java.util.* * @param warningReportList 提醒级别上报数据列表 * @param reportLevel 1:error级别 2:warning级别 */ - override fun showIPCReportWindow(errorReportList: ArrayList,warningReportList: ArrayList,reportLevel: Int) { - ThreadUtils.runOnUiThread{ - if(reportLevel == 1){ - if(ipcReportWindow==null){ - ipcReportWindow= activity?.let { IPCReportWindow(it) } - ipcReportWindow?.setClickListener(object: IPCReportWindow.ClickListener{ + override fun showIPCReportWindow( + errorReportList: ArrayList, + warningReportList: ArrayList, + reportLevel: Int + ) { + ThreadUtils.runOnUiThread { + if (reportLevel == 1) { + if (ipcReportWindow == null) { + ipcReportWindow = activity?.let { IPCReportWindow(it) } + ipcReportWindow?.setClickListener(object : IPCReportWindow.ClickListener { override fun closeWindow() { ipcReportWindow?.hideFloatWindow() - ipcReportWindow =null + ipcReportWindow = null } }) ipcReportWindow?.let { @@ -371,7 +396,7 @@ import java.util.* } ipcReportWindow?.showFloatWindow() } - ipcReportWindow?.refreshData(errorReportList,warningReportList,reportLevel) + ipcReportWindow?.refreshData(errorReportList, warningReportList, reportLevel) } } @@ -430,41 +455,41 @@ import java.util.* }) } toolsViewFloat = WarningFloat.with(it) - .setTag("ToolsViewFloat") - .setLayout(toolsView!!) - .setSidePattern(SidePattern.LEFT) - .setGravity(Gravity.LEFT) - .setImmersionStatusBar(true) - .setWindowHeight(LayoutParams.MATCH_PARENT) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + .setTag("ToolsViewFloat") + .setLayout(toolsView!!) + .setSidePattern(SidePattern.LEFT) + .setGravity(Gravity.LEFT) + .setImmersionStatusBar(true) + .setWindowHeight(LayoutParams.MATCH_PARENT) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onDismiss() { - toolsViewFloat = null - toolsView = null - // TODO:("") - } - }) - .show() + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onDismiss() { + toolsViewFloat = null + toolsView = null + // TODO:("") + } + }) + .show() } else { toolsViewFloat?.show() } @@ -509,7 +534,7 @@ import java.util.* ivAiCollectTools.visibility = View.VISIBLE CallerDevaToolsManager.initBadCase(ivBadCaseTools) CallerDevaToolsManager.initAiCollect(ivAiCollectTools) - }else{ + } else { ivBadCaseTools.visibility = View.GONE ivAiCollectTools.visibility = View.GONE } @@ -586,20 +611,20 @@ import java.util.* mDebugSettingView = DebugSettingView(it) Log.i("DebugViewSwitchLog", "new DebugSettingView") mDebugSettingView?.reportInit(reportList) - mDebugSettingView?.setClickListener(object: DebugSettingView.ClickListener{ + mDebugSettingView?.setClickListener(object : DebugSettingView.ClickListener { override fun showReportListWindow(show: Boolean) { - if(show){ + if (show) { //打开工控机上报列表 reportListFloatWindow = ReportListFloatWindow(it) reportListFloatWindow?.showFloatWindow() reportListFloatWindow?.refreshData(reportList) - }else{ + } else { //关闭工控机上报列表 reportListFloatWindow?.hideFloatWindow() } } }) - if(mDebugSettingView!=null){ + if (mDebugSettingView != null) { Log.i("DebugViewSwitchLog", "new DebugSettingView success") } } @@ -607,38 +632,39 @@ import java.util.* var gravity = Gravity.RIGHT //调试窗默认靠右显示,Bus的乘客端右端有视图覆盖,调试窗靠左显示 if (AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) && - AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode)) { + AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) + ) { side = SidePattern.LEFT gravity = Gravity.LEFT } mDebugSettingViewFloat = WarningFloat.with(it) - .setTag("DebugSettingView") - .setLayout(mDebugSettingView!!) - .setSidePattern(side) - .setGravity(gravity, offsetY = 70) - .setImmersionStatusBar(true) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + .setTag("DebugSettingView") + .setLayout(mDebugSettingView!!) + .setSidePattern(side) + .setGravity(gravity, offsetY = 70) + .setImmersionStatusBar(true) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() } } } @@ -653,15 +679,16 @@ import java.util.* */ @Synchronized override fun showWarningV2X( - v2xType: String, - alertContent: CharSequence?, - ttsContent: String?, - tag: String?, - listener: IMoGoWarningStatusListener?, - playTts: Boolean, - expireTime: Long + v2xType: String, + alertContent: CharSequence?, + ttsContent: String?, + tag: String?, + listener: IMoGoWarningStatusListener?, + playTts: Boolean, + expireTime: Long ) { - val playTTS = playTts && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) + val playTTS = + playTts && !AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode) activity?.let { val warningContent = alertContent ?: EventTypeEnum.getWarningContent(v2xType) @@ -672,70 +699,87 @@ import java.util.* val content = mViewNotificationProvider?.getNotificationView() ?: return content.setWarningIcon(EventTypeEnum.getWarningIcon(v2xType)) content.setWarningContent(warningContent) - Log.d("$M_HMI$TAG", "--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime") - Reminder.enqueue(this@MoGoHmiFragment, object : PopupWindowReminder(PopupWindow(content, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT).also { itx -> - itx.isTouchable = false - itx.isFocusable = false - itx.isClippingEnabled = false - itx.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) - val transition = Slide(when(content.sidePattern) { - LEFT, RESULT_LEFT-> Gravity.LEFT - RIGHT, RESULT_RIGHT -> Gravity.RIGHT - TOP, RESULT_TOP -> Gravity.TOP - BOTTOM, RESULT_BOTTOM -> Gravity.BOTTOM - else -> Gravity.TOP - }).also { t -> - t.interpolator = AccelerateDecelerateInterpolator() - t.duration = 200 - } - if (VERSION.SDK_INT >= VERSION_CODES.M) { - itx.enterTransition = transition - itx.exitTransition = transition - } - }) { - override fun show() { - val parent = it.window.decorView - parent.doOnAttach { - Log.d("$M_HMI$TAG", "--- show v2x dialog 2 ---: info -> v2x-type: $v2xType : expireTime: $expireTime") - popupWindow.showAtLocation(parent, content.layoutGravity, 0, 0) - } - } - override fun isOverride(): Boolean { - return true - } - - override fun key(): String { - return v2xType - } - }, object : IStateChangeListener { - - override fun onShow(reminder: IReminder) { - listener?.onShow() - lastShowV2XJob?.safeCancel() - lastSpeakJob?.safeCancel() - showingV2XTip = reminder - lifecycleScope.launch { - delay(expireTime) - }.also { itx -> - lastShowV2XJob = itx - }.invokeOnCompletion { _ -> - reminder.hide() - } - if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) { - lifecycleScope.launch { - speak(it, ttsContent) - }.also { itx -> - lastSpeakJob = itx + Log.d( + "$M_HMI$TAG", + "--- show v2x dialog 1 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" + ) + Reminder.enqueue( + this@MoGoHmiFragment, + object : PopupWindowReminder( + PopupWindow( + content, + LayoutParams.WRAP_CONTENT, + LayoutParams.WRAP_CONTENT + ).also { itx -> + itx.isTouchable = false + itx.isFocusable = false + itx.isClippingEnabled = false + itx.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + val transition = Slide( + when (content.sidePattern) { + LEFT, RESULT_LEFT -> Gravity.LEFT + RIGHT, RESULT_RIGHT -> Gravity.RIGHT + TOP, RESULT_TOP -> Gravity.TOP + BOTTOM, RESULT_BOTTOM -> Gravity.BOTTOM + else -> Gravity.TOP + } + ).also { t -> + t.interpolator = AccelerateDecelerateInterpolator() + t.duration = 200 + } + if (VERSION.SDK_INT >= VERSION_CODES.M) { + itx.enterTransition = transition + itx.exitTransition = transition + } + }) { + override fun show() { + val parent = it.window.decorView + parent.doOnAttach { + Log.d( + "$M_HMI$TAG", + "--- show v2x dialog 2 ---: info -> v2x-type: $v2xType : expireTime: $expireTime" + ) + popupWindow.showAtLocation(parent, content.layoutGravity, 0, 0) } } - } - override fun onHide(reminder: IReminder) { - listener?.onDismiss() - showingV2XTip = null - showWarning(WarningDirectionEnum.ALERT_WARNING_NON) - } - }) + override fun isOverride(): Boolean { + return true + } + + override fun key(): String { + return v2xType + } + }, + object : IStateChangeListener { + + override fun onShow(reminder: IReminder) { + listener?.onShow() + lastShowV2XJob?.safeCancel() + lastSpeakJob?.safeCancel() + showingV2XTip = reminder + lifecycleScope.launch { + delay(expireTime) + }.also { itx -> + lastShowV2XJob = itx + }.invokeOnCompletion { _ -> + reminder.hide() + } + if (ttsContent != null && !TextUtils.isEmpty(ttsContent) && playTTS) { + lifecycleScope.launch { + speak(it, ttsContent) + }.also { itx -> + lastSpeakJob = itx + } + } + } + + override fun onHide(reminder: IReminder) { + listener?.onDismiss() + showingV2XTip = null + showWarning(WarningDirectionEnum.ALERT_WARNING_NON) + } + }) } } @@ -782,8 +826,8 @@ import java.util.* * @param checkLightId 0-都是默认不亮起,1-红,2-黄,3-绿 * @param lightSource 1:云端下发;2:自车感知 */ - override fun showWarningTrafficLight(checkLightId: Int,lightSource: Int) { - mViewTrafficLight?.showWarningTrafficLight(checkLightId,lightSource) + override fun showWarningTrafficLight(checkLightId: Int, lightSource: Int) { + mViewTrafficLight?.showWarningTrafficLight(checkLightId, lightSource) } override fun isWarningTrafficLightShow(): Boolean { @@ -857,7 +901,7 @@ import java.util.* * @see WarningDirectionEnum */ override fun showWarning(direction: WarningDirectionEnum) { - Log.d(TAG,"showWarning====") + Log.d(TAG, "showWarning====") flV2XWarningView?.showWarning(direction) flicker(flV2XWarningView) } @@ -906,42 +950,42 @@ import java.util.* mNoticeFloat = it?.let { it1 -> noticeBannerView?.let { it2 -> WarningFloat.with(it1) - .setTag(WaringConst.NOTICE_FOR_TRAFFIC_KEY) - .setLayout(it2) - .setSidePattern(SidePattern.TOP) - .setCountDownTime(60 * 1000 * 3) - .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) - .setImmersionStatusBar(true) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onShow() { - // 创建弹窗成功才进行TTS播报 + .setTag(WaringConst.NOTICE_FOR_TRAFFIC_KEY) + .setLayout(it2) + .setSidePattern(SidePattern.TOP) + .setCountDownTime(60 * 1000 * 3) + .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) + .setImmersionStatusBar(true) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onShow() { + // 创建弹窗成功才进行TTS播报 // AIAssist.getInstance(activity) // .speakTTSVoice("") - } + } - }) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + }) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() } } } @@ -956,41 +1000,41 @@ import java.util.* mNoticeFloat = it.let { it1 -> noticeBannerView?.let { it2 -> WarningFloat.with(it1) - .setTag(WaringConst.NOTICE_FOR_NORMAL_KEY) - .setLayout(it2) - .setSidePattern(SidePattern.TOP) - .setCountDownTime(10000) - .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) - .setImmersionStatusBar(true) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onShow() { - // 创建弹窗成功才进行TTS播报 - // AIAssist.getInstance(activity) - // .speakTTSVoice("") - } - }) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + .setTag(WaringConst.NOTICE_FOR_NORMAL_KEY) + .setLayout(it2) + .setSidePattern(SidePattern.TOP) + .setCountDownTime(10000) + .setGravity(Gravity.CENTER_HORIZONTAL, offsetY = 110) + .setImmersionStatusBar(true) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onShow() { + // 创建弹窗成功才进行TTS播报 + // AIAssist.getInstance(activity) + // .speakTTSVoice("") + } + }) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .show() + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .show() } } } @@ -1077,7 +1121,7 @@ import java.util.* dismissToolsFloatView() } - @BizConfig(V2I,"",BIZ_RTS) + @BizConfig(V2I, "", BIZ_RTS) override fun showVideoDialog(infList: List) { context?.let { if (roadVideoDialog == null) { @@ -1087,7 +1131,7 @@ import java.util.* } } - @BizConfig(V2I,"", BIZ_RTS) + @BizConfig(V2I, "", BIZ_RTS) private fun showCameraList(cameraList: List?) { context?.let { if (cameraViewFloat == null) { @@ -1116,40 +1160,40 @@ import java.util.* } }) cameraViewFloat = WarningFloat.with(it) - .setTag("CameraListFloat") - .setLayout(cameraListView!!) - .setSidePattern(SidePattern.RIGHT) - .setGravity(Gravity.RIGHT, -40, 255) - .setImmersionStatusBar(true) - .setAnimator(object : DefaultAnimator() { - override fun enterAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.enterAnim(view, params, windowManager, sidePattern) - ?.apply { - interpolator = OvershootInterpolator() - } + .setTag("CameraListFloat") + .setLayout(cameraListView!!) + .setSidePattern(SidePattern.RIGHT) + .setGravity(Gravity.RIGHT, -40, 255) + .setImmersionStatusBar(true) + .setAnimator(object : DefaultAnimator() { + override fun enterAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.enterAnim(view, params, windowManager, sidePattern) + ?.apply { + interpolator = OvershootInterpolator() + } - override fun exitAnim( - view: View, - params: LayoutParams, - windowManager: WindowManager, - sidePattern: SidePattern - ): Animator? = - super.exitAnim(view, params, windowManager, sidePattern) - ?.setDuration(200) - }) - .addWarningStatusListener(object : IMoGoWarningStatusListener { - override fun onDismiss() { - cameraViewFloat = null - cameraListView = null - ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) - } - }) - .show() + override fun exitAnim( + view: View, + params: LayoutParams, + windowManager: WindowManager, + sidePattern: SidePattern + ): Animator? = + super.exitAnim(view, params, windowManager, sidePattern) + ?.setDuration(200) + }) + .addWarningStatusListener(object : IMoGoWarningStatusListener { + override fun onDismiss() { + cameraViewFloat = null + cameraListView = null + ivCameraIcon.setBackgroundResource(R.drawable.icon_camera_nor) + } + }) + .show() } else { cameraViewFloat?.show() } @@ -1180,9 +1224,9 @@ import java.util.* } } - private var isLeftLight :Boolean = false - private var isRightLight :Boolean = false - private var isDisappare :Boolean = false + private var isLeftLight: Boolean = false + private var isRightLight: Boolean = false + private var isDisappare: Boolean = false /** * 显示转向灯效果 if (HmiBuildConfig.isShowBadCaseView) { @@ -1287,13 +1331,14 @@ import java.util.* padSn: String, releaseId: String ) { - ThreadUtils.runOnUiThread{ - if(adUpgradeDialog == null){ - adUpgradeDialog = AdUpgradeDialog(requireContext(),images, padSn, releaseId) - adUpgradeDialog?.setClickListener(object: AdUpgradeDialog.ClickListener{ + ThreadUtils.runOnUiThread { + if (adUpgradeDialog == null) { + adUpgradeDialog = AdUpgradeDialog(requireContext(), images, padSn, releaseId) + adUpgradeDialog?.setClickListener(object : AdUpgradeDialog.ClickListener { override fun confirm() { //确认升级 - CallerBindingcarManager.getBindingcarProvider().upgradeConfirm(images, padSn, releaseId) + CallerBindingcarManager.getBindingcarProvider() + .upgradeConfirm(images, padSn, releaseId) AdUpgradeStateHelper.setConfirmUpgrade(true) ToastUtils.showLong("最新版本下载中...") adUpgradeDialog?.dismiss() @@ -1312,10 +1357,10 @@ import java.util.* } override fun showAdUpgradeStatus(ipcUpgradeStateInfo: IPCUpgradeStateInfo) { - ThreadUtils.runOnUiThread{ + ThreadUtils.runOnUiThread { toolsView?.showAdUpgradeStatus(ipcUpgradeStateInfo) ipcUpgradeStateInfo.status.let { - if(AdUpgradeStateHelper.isUpgradeSuccess(it)){ + if (AdUpgradeStateHelper.isUpgradeSuccess(it)) { ToastUtils.showLong("升级成功") AdUpgradeStateHelper.setConfirmUpgrade(false) } @@ -1342,17 +1387,37 @@ import java.util.* */ override fun onAutopilotGuardian(guardianInfo: MogoReportMsg.MogoReportMessage?) { guardianInfo?.let { - if(reportList.size>49){ + if (reportList.size > 49) { reportList.removeLast() } - reportList.add(0, - ReportEntity(TimeUtils.millis2String(System.currentTimeMillis()), - it.src,it.level,it.msg,it.code,it.resultList,it.actionsList)) + reportList.add( + 0, + ReportEntity( + TimeUtils.millis2String(System.currentTimeMillis()), + it.src, it.level, it.msg, it.code, it.resultList, it.actionsList + ) + ) } - reportListFloatWindow?.let { - ThreadUtils.runOnUiThread{ + ThreadUtils.runOnUiThread { + + reportListFloatWindow?.let { it.refreshData(reportList) } + + guardianInfo?.let { + when (it.code) { + NODE, NODE_DEAD, + EXIT_AUTOPILOT_FOR_PLANNING, + EXIT_AUTOPILOT_FOR_LOCATION, + EXIT_AUTOPILOT_FOR_CHASSIS, + EXIT_AUTOPILOT_FOR_DISTANCE, + AICLOUD_AUTH_ERROR, + TOPIC_FREQ_DROPED, + FATAL -> { + + } + } + } } } @@ -1362,12 +1427,16 @@ import java.util.* .navigation() as BaseFragment activity?.supportFragmentManager?.beginTransaction() ?.setCustomAnimations(R.anim.slide_in, R.anim.fade_out)?.apply { - if (!fragmentOverview.isAdded) { - add(R.id.module_main_id_smp_fragment, fragmentOverview, fragmentOverview.tagName) - } else { + if (!fragmentOverview.isAdded) { + add( + R.id.module_main_id_smp_fragment, + fragmentOverview, + fragmentOverview.tagName + ) + } else { show(fragmentOverview) - }.commitAllowingStateLoss() - } + }.commitAllowingStateLoss() + } CallerDevaToolsManager.hideStatusBar() } diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapPointCloudSubscriber.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapPointCloudSubscriber.kt index 7617da5cc4..f49b4d1804 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapPointCloudSubscriber.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/MapPointCloudSubscriber.kt @@ -5,7 +5,8 @@ import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotPointCloudListener import com.mogo.eagle.core.function.api.base.IMoGoSubscriber import com.mogo.eagle.core.function.call.autopilot.CallerAutopilotPointCloudListenerManager -import com.mogo.eagle.core.utilcode.mogo.logger.Logger +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_MAP import com.zhidaoauto.map.sdk.open.business.PointCloudHelper import java.math.BigDecimal @@ -44,7 +45,7 @@ class MapPointCloudSubscriber private constructor() try {// 根据配置动态控制点云是否绘制 if (FunctionBuildConfig.isDrawPointCloudData && isDrawCloudPointDockerVersion()) { if (!isDrawPointCloud) { - Logger.d(TAG, "====开启点云渲染====") + CallerLogger.d(M_MAP + TAG, "====开启点云渲染====") isDrawPointCloud = true PointCloudHelper.setIsDrawPointCloud(true)//打开点云绘制 } @@ -58,12 +59,12 @@ class MapPointCloudSubscriber private constructor() * @param isStrong 是否加粗显示 * @return 是否执行 */ - Logger.d(TAG, "====开始传入地图点云数据====") + CallerLogger.d(M_MAP + TAG, "====开始传入地图点云数据====") val result = PointCloudHelper.updatePointCloudDataByPb(pointCloud, true, false, false) - Logger.d(TAG, "====结束传入地图点云数据=====$result") + CallerLogger.d(M_MAP + TAG, "====结束传入地图点云数据=====$result") } else { if (isDrawPointCloud) { - Logger.d(TAG, "====停止点云绘制====") + CallerLogger.d(M_MAP + TAG, "====停止点云绘制====") isDrawPointCloud = false PointCloudHelper.setIsDrawPointCloud(false)//停止点云绘制 } diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java index 3fd4d1dcaa..9b6d11fc98 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/scenario/scene/road/V2XRoadEventScenario.java @@ -12,7 +12,7 @@ import com.mogo.eagle.core.function.v2x.events.manager.V2XStatusManager; import com.mogo.eagle.core.function.v2x.events.scenario.impl.AbsV2XScenario; import com.mogo.eagle.core.function.v2x.events.scenario.view.IV2XMarker; import com.mogo.eagle.core.network.utils.GsonUtil; -import com.mogo.eagle.core.utilcode.mogo.logger.Logger; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.V2XMessageEntity; import com.mogo.module.common.entity.V2XRoadEventEntity; @@ -41,7 +41,7 @@ public class V2XRoadEventScenario extends AbsV2XScenario imp @Override public void init(V2XMessageEntity v2XMessageEntity) { try { - Logger.d(M_V2X + TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity)); + CallerLogger.INSTANCE.d(M_V2X + TAG, "v2XMessageEntity:" + GsonUtil.jsonFromObject(v2XMessageEntity)); V2XRoadEventEntity v2XRoadEventEntity = v2XMessageEntity.getContent(); if (v2XRoadEventEntity != null) { if (v2XMessageEntity.isShowState()) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightProvider.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightProvider.kt index 75e8dc18e8..69ca7b4ad7 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightProvider.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/TrafficLightProvider.kt @@ -3,6 +3,7 @@ package com.mogo.eagle.core.function.v2x.trafficlight import android.content.Context import com.alibaba.android.arouter.facade.annotation.Route import com.mogo.eagle.core.data.constants.MogoServicePaths +import com.mogo.eagle.core.data.trafficlight.TrafficLightControl import com.mogo.eagle.core.data.trafficlight.TrafficLightDetail import com.mogo.eagle.core.function.api.trafficlight.ITrafficLightProvider import com.mogo.eagle.core.function.v2x.trafficlight.TrafficLightConst.Companion.MODULE_NAME @@ -31,7 +32,7 @@ class TrafficLightProvider : ITrafficLightProvider { crossingNo: String, heading: Double, controlTime: Int, - onSuccess: (() -> Unit), + onSuccess: ((TrafficLightControl) -> Unit), onError: ((String) -> Unit) ) { return MogoTrafficLightManager.INSTANCE.turnLightToGreen( diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt index 9911a3b99c..96f39e2222 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/core/MogoTrafficLightManager.kt @@ -4,11 +4,8 @@ import android.content.Context import android.location.Location import android.os.Handler import android.os.Looper +import com.mogo.eagle.core.data.trafficlight.* import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X -import com.mogo.eagle.core.data.trafficlight.RoadIDResult -import com.mogo.eagle.core.data.trafficlight.TrafficLightDetail -import com.mogo.eagle.core.data.trafficlight.TrafficLightResult -import com.mogo.eagle.core.data.trafficlight.isInRange import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.function.call.trafficlight.CallerTrafficLightListenerManager @@ -159,7 +156,7 @@ class MogoTrafficLightManager : IMogoCarLocationChangedListener2 { crossingNo: String, heading: Double, controlTime: Int, - onSuccess: (() -> Unit), + onSuccess: ((TrafficLightControl) -> Unit), onError: ((String) -> Unit) ) { trafficLightNetWorkModel.turnLightToGreen( diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightApiService.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightApiService.kt index d498cfa27d..7670e34c35 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightApiService.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightApiService.kt @@ -2,6 +2,7 @@ package com.mogo.eagle.core.function.v2x.trafficlight.network import com.mogo.eagle.core.data.BaseResponse import com.mogo.eagle.core.data.trafficlight.RoadIDResult +import com.mogo.eagle.core.data.trafficlight.TrafficLightControl import com.mogo.eagle.core.data.trafficlight.TrafficLightResult import retrofit2.http.FieldMap import retrofit2.http.FormUrlEncoded @@ -22,6 +23,6 @@ interface TrafficLightApiService { //变灯 @FormUrlEncoded @POST("mec-etl-server/light/bdg/newTask") - suspend fun changeLight(@FieldMap turnLight: Map): BaseResponse + suspend fun changeLight(@FieldMap turnLight: Map): BaseResponse } \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightNetWorkModel.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightNetWorkModel.kt index 04c61374d9..f9a30eeb9a 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightNetWorkModel.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/trafficlight/network/TrafficLightNetWorkModel.kt @@ -107,10 +107,10 @@ class TrafficLightNetWorkModel { crossingNo: String, heading: Double, controlTime: Int, - onSuccess: (() -> Unit), + onSuccess: ((TrafficLightControl) -> Unit), onError: ((String) -> Unit) ) { - request> { + request> { val map = hashMapOf() start { val trafficLightRequestData = @@ -124,7 +124,7 @@ class TrafficLightNetWorkModel { } } onSuccess { - onSuccess.invoke() + onSuccess.invoke(it.result) } onError { if (it.message != null) { diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt index c08f0490ba..0b005c3e4f 100644 --- a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt +++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/vip/VipCarManager.kt @@ -1,16 +1,17 @@ package com.mogo.eagle.core.function.v2x.vip import android.content.Context -import android.location.Location import android.os.Handler import android.os.Looper import android.os.Message import com.mogo.aicloud.services.socket.IMogoOnMessageListener import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager -import com.mogo.cloud.commons.utils.CoordinateUtils +import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.BIZ_VIP import com.mogo.eagle.core.data.deva.bizconfig.FuncBizConfig.Companion.V2N -import com.mogo.eagle.core.data.trafficlight.* +import com.mogo.eagle.core.data.trafficlight.TrafficLightResult +import com.mogo.eagle.core.data.trafficlight.currentRoadTrafficLight +import com.mogo.eagle.core.data.trafficlight.isGreen import com.mogo.eagle.core.data.v2x.VipMessage import com.mogo.eagle.core.function.api.hmi.warning.IMoGoWarningStatusListener import com.mogo.eagle.core.function.api.trafficlight.IMoGoTrafficLightListener @@ -22,10 +23,10 @@ import com.mogo.eagle.core.function.v2x.trafficlight.core.MogoTrafficLightManage import com.mogo.eagle.core.function.v2x.vip.network.VipNetWorkModel import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_V2X +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.module.common.enums.EventTypeEnum import com.zhjt.service_biz.BizConfig -import kotlin.math.abs class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListener, Handler.Callback { @@ -42,7 +43,6 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe } private var mContext: Context? = null - private var mLocation: Location? = null private var turnLightFirst = false private var turnLightEnd = true private var vip: Boolean = false @@ -51,7 +51,6 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe private var exit: Boolean = false private var result: TrafficLightResult? = null - private var lastResult: TrafficLightStatus? = null private val vipNetWorkModel = VipNetWorkModel() private val handler = Handler(Looper.getMainLooper(), this) @@ -101,9 +100,9 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe } override fun onTrafficLightStatus(trafficLightResult: TrafficLightResult) { - if (!vip) { - return - } +// if (!vip) { +// return +// } if (exit) { CallerLogger.d("$M_V2X$TAG", "驶离路口,返回 , then resetConditions") @@ -115,14 +114,14 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe if (trafficLightResult.currentRoadTrafficLight() == null) { CallerLogger.d( "$M_V2X$TAG", - "vip 获取到灯态,但没找到对应车道数据 result : $trafficLightResult , then resetConditions" + "vip 获取到灯态,但没找到对应车道数据 trafficLightResult : $trafficLightResult , then resetConditions" ) resetConditions() return } val currentResult = trafficLightResult.currentRoadTrafficLight() - lastResult = result?.currentRoadTrafficLight() + val lastResult = result?.currentRoadTrafficLight() CallerLogger.d( "$M_V2X$TAG", "检查是否变灯 last.remain : ${lastResult?.remain} , color : ${lastResult?.color} , current.remain : ${currentResult?.remain} , color : ${currentResult?.color}, turnLightFirst : $turnLightFirst" @@ -130,32 +129,6 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe this.result = trafficLightResult - lastResult?.let { - //如果上次结果和本次灯态结果变化比较大,则已变灯,控制HMI展示弹窗 - if (abs(currentResult!!.remain - it.remain) > 5 && currentResult.isGreen()) { - CallerLogger.d("$M_V2X$TAG", "调用showWarningV2X to show") - CallerHmiManager.showWarningV2X( - EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.content, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.tts, - EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType, - object : IMoGoWarningStatusListener { - override fun onShow() {} - override fun onDismiss() { - CallerLogger.d( - "$M_V2X$TAG", - "showWarningV2X vip dismiss , resetConditions" - ) - resetConditions() - } - }, - true, - 5000L - ) - } - } - - if (!turnLightFirst) { // 首次判断,变灯 turnLightFirst = true @@ -164,19 +137,12 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe turnLight(controlTime) } - //可作为补偿措施,暂不启用 -// mLocation?.let { -// if (canGetThroughCross(it, trafficLightResult)) { -// turnLight() -// } -// } } private fun resetConditions() { turnLightFirst = false turnLightEnd = true result = null - lastResult = null } private fun setVip(cancelDelayTime: Long) { @@ -196,32 +162,13 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe if (handler.hasMessages(MSG_WHAT_VIP_CANCEL)) { handler.removeMessages(MSG_WHAT_VIP_CANCEL) } + resetConditions() CallerHmiManager.vipIdentification(false) CallVipSetListenerManager.invokeVipSetStatus(false) CallerTrafficLightListenerManager.unRegisterTrafficLightListener(TAG) CallerTrafficLightListenerManager.unRegisterEnterCrossRoadListener(TAG) } - private fun canGetThroughCross( - it: Location, - trafficLightResult: TrafficLightResult - ): Boolean { - return if (CoordinateUtils.calculateLineDistance( - it.longitude, - it.latitude, - trafficLightResult.lon, - trafficLightResult.lat - ) < 20 - && turnLightEnd - && trafficLightResult.laneList.mid.turnRedAtOnce() - ) { - turnLightEnd = false - false - } else { - true - } - } - private fun requestVip() { vipNetWorkModel.requestVip({ if (handler.hasMessages(MSG_WHAT_VIP_SEARCH)) { @@ -249,20 +196,60 @@ class VipCarManager : IMogoOnMessageListener, IMoGoTrafficLightListe if (result == null || mContext == null) return val locationClient = CallerMapUIServiceManager.getSingletonLocationClient(mContext!!) if (locationClient != null) { - var bearing = + val bearing = locationClient.lastKnowLocation.bearing.toDouble() CallerLogger.d("$M_V2X$TAG", "turnLight -- bearing : $bearing") MogoTrafficLightManager.INSTANCE.turnLightToGreen( result!!.lightId, result!!.crossId, bearing, controlTime, { - CallerLogger.d("$M_V2X$TAG", "变灯请求成功") + if (it.sn == MoGoAiCloudClientConfig.getInstance().sn && it.code == 0) { + CallerLogger.d("$M_V2X$TAG", "变灯请求成功") + showWarning( + EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType, + EventTypeEnum.TYPE_VIP_IDENTIFICATION.content, + EventTypeEnum.TYPE_VIP_IDENTIFICATION.tts, + EventTypeEnum.TYPE_VIP_IDENTIFICATION.poiType + ) + } else { + val time = if (it.countDown / 60 > 1) { + "${it.countDown / 60}分${it.countDown % 60}秒后重试" + } else { + "${it.countDown}秒后重试" + } + showWarning( + EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.poiType, + EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.content + time, + EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.tts, + EventTypeEnum.TYPE_VIP_ERROR_IDENTIFICATION.poiType + ) + } }, { errorMsg -> CallerLogger.e("$M_V2X$TAG", "变灯请求失败 msg : $errorMsg") + ToastUtils.showLong("服务异常,请稍后重试") }) } } + private fun showWarning( + v2xType: String, + alertContent: CharSequence, + ttsContent: String, + tag: String + ) { + CallerHmiManager.showWarningV2X( + v2xType, alertContent, ttsContent, tag, + object : IMoGoWarningStatusListener { + override fun onShow() {} + override fun onDismiss() { + resetConditions() + } + }, + true, + 5000L + ) + } + fun destroy() { MogoAiCloudSocketManager.getInstance(mContext) .unregisterLifecycleListener(401025) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/trafficlight/TrafficLightControl.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/trafficlight/TrafficLightControl.kt new file mode 100644 index 0000000000..e20e91289b --- /dev/null +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/trafficlight/TrafficLightControl.kt @@ -0,0 +1,6 @@ +package com.mogo.eagle.core.data.trafficlight + +/** + * 控灯实体 + */ +data class TrafficLightControl(val sn:String,val data:String,val next:String,val countDown:Int,val code:Int) \ No newline at end of file diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/ITrafficLightProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/ITrafficLightProvider.kt index eb5bf57ad3..11539e4b31 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/ITrafficLightProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/trafficlight/ITrafficLightProvider.kt @@ -1,6 +1,7 @@ package com.mogo.eagle.core.function.api.trafficlight import android.content.Context +import com.mogo.eagle.core.data.trafficlight.TrafficLightControl import com.mogo.eagle.core.data.trafficlight.TrafficLightDetail import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider @@ -21,7 +22,7 @@ interface ITrafficLightProvider : IMoGoFunctionServerProvider { crossingNo: String, heading: Double, controlTime:Int, - onSuccess: (() -> Unit), + onSuccess: ((TrafficLightControl) -> Unit), onError: ((String) -> Unit) ) } \ No newline at end of file diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt index 0c915a5f31..4d462086d5 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/autopilot/CallerAutoPilotStatusListenerManager.kt @@ -1,12 +1,9 @@ package com.mogo.eagle.core.function.call.autopilot -import android.util.* import androidx.annotation.Nullable import com.mogo.eagle.core.data.autopilot.AutopilotStatusInfo import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.call.base.CallerBase -import com.mogo.eagle.core.utilcode.kotlin.* -import com.mogo.eagle.core.utilcode.mogo.logger.* import com.mogo.eagle.core.utilcode.util.GsonUtils import mogo.telematics.pad.MessagePad import mogo_msg.MogoReportMsg @@ -180,7 +177,6 @@ object CallerAutoPilotStatusListenerManager : CallerBase() { val listener = it.value autoPilotMessageCode = guardianInfo?.code ?: "" autoPilotMessageContent = guardianInfo?.msg ?: "" - Logger.d("XXXXX", "code: ${guardianInfo?.code}, msg: ${guardianInfo?.msg}") listener.onAutopilotGuardian(guardianInfo) } } diff --git a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt index 6ed65bac39..70ed1e0534 100644 --- a/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt +++ b/core/mogo-core-utils/src/main/java/com/mogo/eagle/core/utilcode/mogo/logger/scene/Scene.kt @@ -1,7 +1,6 @@ package com.mogo.eagle.core.utilcode.mogo.logger.scene import android.util.ArrayMap -import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ADAS_IMPL import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_CHAT @@ -120,7 +119,6 @@ class Scene { //此处存在用户自定义方式,可根据过滤找到对应不符合标准的模块 var logCache = sceneCache["$moduleName-"] if (logCache == null) { - Logger.i("emArrow","tag : $tag , module : $moduleName , sceneCache : $sceneCache") logCache = SceneLogCache(mutableMapOf(), true) businessName?.let { logCache.tagMap!![it] = true diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt index b491c152dc..2280f2e882 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/enums/EventTypeEnum.kt @@ -358,6 +358,7 @@ enum class EventTypeEnum( ), TYPE_VIP_IDENTIFICATION("10022", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行", "已为您变灯,请优先通行"), + TYPE_VIP_ERROR_IDENTIFICATION("10023", "", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,请稍后重试"), TYPE_OPTIMAL_ROUTE_RECOMMEND("2000", "", "", R.drawable.icon_warning_v2x_optimal_route, "为您推荐最优路线", "已为您选择最优路线");