From c409b5d033f91dbbe39be4a0add09f1c34dadf6e Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 23 Oct 2024 15:44:11 +0800 Subject: [PATCH 1/9] =?UTF-8?q?[6.7.0]=E4=BF=AE=E5=A4=8D=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E7=9B=92=E5=AD=90=E4=B8=AD=E6=9F=A5=E7=9C=8B=E5=BD=95=E5=8C=85?= =?UTF-8?q?=EF=BC=8C=E6=97=A0=E6=B3=95=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../badcase/BadCaseManager.kt | 47 +++++++++---------- .../hmi/ui/msgbox/DriverMsgBoxBubbleView.kt | 16 ++++--- .../function/hmi/ui/msgbox/MsgBoxToastView.kt | 16 ++++--- 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt index dac5762545..5298c482f5 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/badcase/BadCaseManager.kt @@ -377,31 +377,29 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis fun onReceiveBadCaseRecord(msgBoxBean: MsgBoxBean, activity: Activity, countdown: Boolean) { CallerLogger.d("$M_DEVA$TAG", "收到录包结果回调${record}") CallerLogger.d("$M_DEVA$TAG", "开始创建被动录包弹窗,window num=${BadCaseConfig.windowNum}") - if(!ProjectUtils.isSaas()){ - ThreadUtils.runOnUiThread { - val passiveBadCaseWindow = PassiveBadCaseWindow(activity) - passiveBadCaseWindow.setRecord(msgBoxBean) - passiveBadCaseWindow.setClickListener(object : PassiveBadCaseWindow.ClickListener { - override fun closeWindow() { - passiveBadCaseWindow.hideFloatWindow() - } - }) - passiveBadCaseWindow.showFloatWindow() - if (countdown) { - val countDownTimer = object : CountDownTimer(10000, 10000) { - override fun onTick(p0: Long) { - } - - override fun onFinish() { - //如果有页面操作,则不自动关闭窗口 - if(!passiveBadCaseWindow.isOperated()){ - passiveBadCaseWindow.hideFloatWindow() - BadCaseConfig.windowNum-- - } - } - } - countDownTimer.start() + ThreadUtils.runOnUiThread { + val passiveBadCaseWindow = PassiveBadCaseWindow(activity) + passiveBadCaseWindow.setRecord(msgBoxBean) + passiveBadCaseWindow.setClickListener(object : PassiveBadCaseWindow.ClickListener { + override fun closeWindow() { + passiveBadCaseWindow.hideFloatWindow() } + }) + passiveBadCaseWindow.showFloatWindow() + if (countdown) { + val countDownTimer = object : CountDownTimer(10000, 10000) { + override fun onTick(p0: Long) { + } + + override fun onFinish() { + //如果有页面操作,则不自动关闭窗口 + if(!passiveBadCaseWindow.isOperated()){ + passiveBadCaseWindow.hideFloatWindow() + BadCaseConfig.windowNum-- + } + } + } + countDownTimer.start() } } } @@ -469,6 +467,7 @@ internal object BadCaseManager : LifecycleEventObserver, IMoGoAutopilotRecordLis if (!FunctionBuildConfig.isDemoMode && (recordPanel.stat == 100 || recordPanel.stat == 101) && recordPanel.type != 2) { //只在司机屏生效,乘客屏不生效 if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) { + CallerMsgBoxManager.saveMsgBox( MsgBoxBean( MsgBoxType.RECORD, RecordBagMsg( diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt index 5d4adff1d0..19db18b10e 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/DriverMsgBoxBubbleView.kt @@ -7,6 +7,7 @@ import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.LinearLayoutManager +import com.mogo.commons.env.ProjectUtils import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.report.ReportEntity import com.mogo.eagle.core.data.enums.DataSourceType @@ -114,12 +115,15 @@ class DriverMsgBoxBubbleView @JvmOverloads constructor( if (isShowData) { if (category == MsgCategory.RECORD_BAG) { if (!FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isShowBagRecordWindow) { - //弹出被动录包弹窗 - CallerDevaToolsManager.onReceiveBadCaseRecord( - msgBoxBean, - context as Activity, - true - ) + //660开始saas环境下原有的接管录包弹窗不弹了,其他环境下还弹 + if(!ProjectUtils.isSaas()){ + //弹出被动录包弹窗 + CallerDevaToolsManager.onReceiveBadCaseRecord( + msgBoxBean, + context as Activity, + true + ) + } CallerMsgBoxEventListenerManager.invokeUpdateTipListener(true) } } else if (category == MsgCategory.SYS_INFO) { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt index df714ba51d..0b695bc18b 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/MsgBoxToastView.kt @@ -7,6 +7,7 @@ import android.view.LayoutInflater import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.LinearLayoutManager +import com.mogo.commons.env.ProjectUtils import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.deva.report.ReportEntity import com.mogo.eagle.core.data.enums.DataSourceType @@ -102,12 +103,15 @@ class MsgBoxToastView @JvmOverloads constructor( if (isShowData) { if (category == MsgCategory.RECORD_BAG) { if (!FunctionBuildConfig.isDemoMode && FunctionBuildConfig.isShowBagRecordWindow) { - //弹出被动录包弹窗 - CallerDevaToolsManager.onReceiveBadCaseRecord( - msgBoxBean, - context as Activity, - true - ) + //660开始saas环境下原有的接管录包弹窗不弹了,其他环境下还弹 + if(!ProjectUtils.isSaas()){ + //弹出被动录包弹窗 + CallerDevaToolsManager.onReceiveBadCaseRecord( + msgBoxBean, + context as Activity, + true + ) + } CallerMsgBoxEventListenerManager.invokeUpdateTipListener(true) } } else if (category == MsgCategory.SYS_INFO) { From 6ef982d27077cac4b0af004e59605481c514504c Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Wed, 23 Oct 2024 15:55:06 +0800 Subject: [PATCH 2/9] =?UTF-8?q?[6.7.0]=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E5=86=B7=E5=90=AF=E5=8A=A8=E5=8F=AA=E5=9C=A8=E5=8F=B8?= =?UTF-8?q?=E6=9C=BA=E5=B1=8F=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coldstart/ColdStartManager.kt | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartManager.kt index 72810d66b4..1b309fd59d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/coldstart/ColdStartManager.kt @@ -2,12 +2,14 @@ package com.zhjt.mogo_core_function_devatools.coldstart import android.content.Context import android.util.Log +import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.datacenter.IDataCenterBizListener import com.mogo.eagle.core.function.api.och.IOchFunctionCallNotify import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager import com.mogo.eagle.core.function.call.datacenter.CallerDataCenterBizListener import com.mogo.eagle.core.function.call.hmi.CallerHmiManager +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils import com.mogo.eagle.core.utilcode.util.TimeUtils import com.mogo.eagle.core.utilcode.util.TimeUtils.millis2String import com.zhjt.mogo.adas.data.AdasConstants @@ -44,23 +46,26 @@ object ColdStartManager: IMoGoAutopilotStatusListener, IDataCenterBizListener { status: AdasConstants.IpcConnectionStatus, reason: String? ){ - //域控连接异常 - if(status != AdasConstants.IpcConnectionStatus.CONNECTED){ - //当前进入主页方式为立即用车,则在主页面不再展示冷启动页面 - if(isColdStartNow && !isColdStartSuccess){ - return - } - if(isColdStartNow && ColdStartConfig.getColdStartNowTime() > ColdStartConfig.getColdStartSuccessTime()){ - return - } - //已登录且距离上次冷启动成功超过1分钟,再次展示冷启动页面 - if(!ColdStartConfig.getShowWindowStatus() && loginStatus && System.currentTimeMillis().minus(ColdStartConfig.getColdStartSuccessTime())>60000){ - if(System.currentTimeMillis().minus(ipcConnectedTime) > 60000){ - CallerHmiManager.showColdStartWindow() + //冷启动只上司机屏 + if(AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)){ + //域控连接异常 + if(status != AdasConstants.IpcConnectionStatus.CONNECTED){ + //当前进入主页方式为立即用车,则在主页面不再展示冷启动页面 + if(isColdStartNow && !isColdStartSuccess){ + return } + if(isColdStartNow && ColdStartConfig.getColdStartNowTime() > ColdStartConfig.getColdStartSuccessTime()){ + return + } + //已登录且距离上次冷启动成功超过1分钟,再次展示冷启动页面 + if(!ColdStartConfig.getShowWindowStatus() && loginStatus && System.currentTimeMillis().minus(ColdStartConfig.getColdStartSuccessTime())>60000){ + if(System.currentTimeMillis().minus(ipcConnectedTime) > 60000){ + CallerHmiManager.showColdStartWindow() + } + } + }else{ + ipcConnectedTime = System.currentTimeMillis() } - }else{ - ipcConnectedTime = System.currentTimeMillis() } } From 179851a69e43863365d30cbdbb76b19627158837 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 23 Oct 2024 16:15:28 +0800 Subject: [PATCH 3/9] =?UTF-8?q?[6.7.2]=20[fix]=20[=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E5=8F=98=E6=9B=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/taskrunning/TaskRunningAdapter.kt | 49 +++++++++---------- ...shuttle_weak_running_station_list_item.xml | 4 +- .../res/layout/shuttle_weak_task_running.xml | 2 +- 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt index 76becb7860..cb1404fe9c 100644 --- a/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt +++ b/OCH/shuttle/driver_weaknet/src/main/java/com/mogo/och/weaknet/ui/taskrunning/TaskRunningAdapter.kt @@ -2,7 +2,6 @@ package com.mogo.och.weaknet.ui.taskrunning import android.animation.ArgbEvaluator import android.content.Context -import android.graphics.Color import android.graphics.drawable.GradientDrawable import android.util.TypedValue import android.view.LayoutInflater @@ -93,13 +92,13 @@ class TaskRunningAdapter( holder.acivStationHeadBig.visibility = View.VISIBLE holder.acivStationHead.visibility = View.INVISIBLE holder.acivStationHeadBig.setImageResource(R.drawable.bus_runnint_task_start) - holder.bgPassBg.visibility = View.GONE - holder.bgPassBottomBg.visibility = View.VISIBLE - holder.bgPassHeadBg.visibility = View.GONE + holder.middleStationBg.visibility = View.GONE + holder.startStationBg.visibility = View.VISIBLE + holder.endStationBg.visibility = View.GONE if(startStationIndex==0){ if(line.isLeaving){ // 下端 灰色 - holder.bgPassBottomBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) + holder.startStationBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) holder.itemView.background = null }else{ // 下端 彩色 @@ -110,11 +109,11 @@ class TaskRunningAdapter( startColor, endColor )) - holder.bgPassBottomBg.background = temp01 + holder.startStationBg.background = temp01 } }else{ // 下端 灰色 - holder.bgPassBottomBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) + holder.startStationBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) holder.itemView.background = null } } @@ -122,16 +121,16 @@ class TaskRunningAdapter( holder.acivStationHeadBig.visibility = View.VISIBLE holder.acivStationHead.visibility = View.INVISIBLE holder.acivStationHeadBig.setImageResource(R.drawable.bus_runnint_task_end) - holder.bgPassBg.visibility = View.GONE - holder.bgPassBottomBg.visibility = View.GONE - holder.bgPassHeadBg.visibility = View.VISIBLE + holder.middleStationBg.visibility = View.GONE + holder.startStationBg.visibility = View.GONE + holder.endStationBg.visibility = View.VISIBLE if(startStationIndex==itemCount-1){ if(line.isLeaving){ - holder.bgPassHeadBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) + holder.endStationBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) holder.itemView.setBackgroundResource(R.drawable.bus_task_current_station_bg) }else{ holder.itemView.setBackgroundResource(R.drawable.bus_task_current_station_bg) - holder.bgPassHeadBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) + holder.endStationBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) } }else{ // 上端 彩色 @@ -143,19 +142,19 @@ class TaskRunningAdapter( startColorTemp, endColorTemp )) - holder.bgPassHeadBg.background = temp01 + holder.endStationBg.background = temp01 } } else -> { holder.acivStationHeadBig.visibility = View.GONE holder.acivStationHead.visibility = View.VISIBLE - holder.bgPassBg.visibility = View.VISIBLE - holder.bgPassBottomBg.visibility = View.GONE - holder.bgPassHeadBg.visibility = View.GONE + holder.middleStationBg.visibility = View.VISIBLE + holder.startStationBg.visibility = View.GONE + holder.endStationBg.visibility = View.GONE if(currentPosition==startStationIndex){ if(line.isLeaving){ // 灰色 - holder.bgPassBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) + holder.middleStationBg.setBackgroundResource(R.color.shuttle_driver_4DFFFFFF) holder.itemView.background = null }else{ // 彩色 @@ -167,11 +166,11 @@ class TaskRunningAdapter( startColorTemp, endColorTemp )) - holder.bgPassBg.background = temp01 + holder.middleStationBg.background = temp01 } }else if(currentPosition diff --git a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_task_running.xml b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_task_running.xml index 3b40d13e46..c76e2eecf8 100644 --- a/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_task_running.xml +++ b/OCH/shuttle/driver_weaknet/src/main/res/layout/shuttle_weak_task_running.xml @@ -20,7 +20,7 @@ android:layout_marginEnd="@dimen/dp_140" android:layout_marginTop="@dimen/dp_37" android:textColor="@color/white" - android:text="@string/bus_switch_line_title"/> + tools:text="@string/bus_switch_line_title"/> Date: Wed, 23 Oct 2024 16:19:00 +0800 Subject: [PATCH 4/9] =?UTF-8?q?[6.7.2]=20[fix]=20[java=20=E9=80=82?= =?UTF-8?q?=E9=85=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/taxi/model/TaxiModel.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java index 73ca90cec5..ce06a4d692 100644 --- a/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java +++ b/OCH/taxi/driver/src/main/java/com/mogo/och/taxi/model/TaxiModel.java @@ -263,7 +263,7 @@ public class TaxiModel { //更新接单状态 public void updateCarStatus() { if (!LoginStatusManager.isLogin()) { - LoginStatusManager.queryLoginStatusByNet(); + LoginStatusManager.queryLoginStatusByNet(false); return; } boolean currentOrderStatus = LoginStatusManager.isOpenOrderType(); @@ -280,7 +280,7 @@ public class TaxiModel { // 上个状态是暂停接单 暂停成功 VoiceNotice.showNotice("开始接单啦!"); } - LoginStatusManager.queryLoginStatusByNet(); + LoginStatusManager.queryLoginStatusByNet(false); } } @@ -1063,7 +1063,7 @@ public class TaxiModel { if (ConnectivityManager.CONNECTIVITY_ACTION.equals(intentStr)) { if (NetworkUtils.isConnected(mContext)) { startOrStopOrderLoop(LoginStatusManager.isLogin() && LoginStatusManager.isOpenOrderType()); - LoginStatusManager.queryLoginStatusByNet(); + LoginStatusManager.queryLoginStatusByNet(false); } } } From aca4b4c56cff63c61825addf2324a707ce1e7456 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Oct 2024 16:59:29 +0800 Subject: [PATCH 5/9] =?UTF-8?q?[6.7.0][=E8=A7=86=E8=A7=92=E5=8F=98?= =?UTF-8?q?=E6=8D=A2]=20=E4=BC=98=E5=8C=96=E5=88=87=E8=BF=9C=E8=A7=86?= =?UTF-8?q?=E8=A7=92=E6=97=B6=EF=BC=8C=E6=89=8B=E5=8A=BF=E6=8B=96=E5=8A=A8?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E6=97=B6=EF=BC=8C=E5=9C=B0=E5=9B=BE=E7=94=BB?= =?UTF-8?q?=E9=9D=A2=E8=B7=B3=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../angle/MoGoVisualAngleChangeProvider.kt | 19 +------------------ gradle.properties | 2 +- 2 files changed, 2 insertions(+), 19 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt index c0f26e90e5..944cee49d4 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/angle/MoGoVisualAngleChangeProvider.kt @@ -43,7 +43,6 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { private val prevScene by lazy { AtomicReference() } - private var timerJob: Job? = null private val listener = object : IMoGoMapRoadListener { private val roadId = AtomicReference() @@ -207,23 +206,7 @@ class MoGoVisualAngleChangeProvider: IMoGoVisualAngleChangeProvider { DOWN -> CallerMapUIServiceManager.getMapUIController()?.setScreenToOriginDis(5.0f) } if (target !is Roma) { - if (target is LongSight) { - timerJob?.safeCancel() - scope.launch { - CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(false) - itx.changeMapVisualAngle(angle, null) - delay(3000) - CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(true) - }.also { - it.invokeOnCompletion { - CallerMapUIServiceManager.getMapUIController()?.setAllGesturesEnabled(true) - } - timerJob = it - } - } else { - timerJob?.safeCancel() - itx.changeMapVisualAngle(angle, null) - } + itx.changeMapVisualAngle(angle, null) } } finally { if (prev == null || prev.javaClass != target.javaClass) { diff --git a/gradle.properties b/gradle.properties index e8f322c1e7..9b947b67b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -81,7 +81,7 @@ MOGO_LOCATION_VERSION=1.4.7.42 MOGO_TELEMATIC_VERSION=1.4.7.42 ######## MogoAiCloudSDK Version ######## # 自研地图 -MAP_SDK_VERSION=3.4.1.15 +MAP_SDK_VERSION=3.4.1.16 MAP_SDK_DATA_VERSION=1.0.0.9 MAP_SDK_OPERATION_VERSION=1.1.4.1 # websocket From 344a63edffc8f146dd9ede2dc8c76adb416e0bc2 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Oct 2024 17:03:04 +0800 Subject: [PATCH 6/9] =?UTF-8?q?[6.7.0][=E8=A7=86=E8=A7=92=E5=8F=98?= =?UTF-8?q?=E6=8D=A2]=20=E4=BC=98=E5=8C=96=E8=A7=86=E8=A7=92=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=8E=A7=E4=BB=B6=E7=9A=84=E6=8B=96=E5=8A=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/hmi/ui/viewport/VisualAngleToggleView.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt index 8cb7971cd9..816b466873 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/viewport/VisualAngleToggleView.kt @@ -39,21 +39,30 @@ class VisualAngleToggleView : FrameLayout, IMoGoVisualAngleChangeProvider.OnMoGo val defaultSlop = AutoSizeUtils.dp2px(context, 12.0f) val scrollSlop = max(context.let { ViewConfiguration.get(it).scaledTouchSlop }, defaultSlop) val gestureDetector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() { + + private var flag = false + override fun onDown(e: MotionEvent): Boolean { + flag = false return true } override fun onScroll(e1: MotionEvent, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean { + if (flag) { + return super.onScroll(e1, e2, distanceX, distanceY) + } val absX = abs(e2.x - e1.x) val absY = abs(e2.y - e1.y) if (absY <= absX) { return false } if (e2.y - e1.y >= scrollSlop) { + flag = true moveToBottom() return true } if (e1.y - e2.y >= scrollSlop) { + flag = true moveToTop() return true } From ae3714c97e7e23136407cfb4bce2084cd0ad4159 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 23 Oct 2024 17:18:39 +0800 Subject: [PATCH 7/9] =?UTF-8?q?[6.7.2]=20[fix]=20[=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E8=87=AA=E9=A9=BE=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/BusPassengerModel.java | 54 ++++++++++++++++ .../passenger/model/BusPassengerModel.kt | 63 +++++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java index 418ebab629..06aa506cc0 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java @@ -17,7 +17,9 @@ import androidx.annotation.Nullable; import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager; import com.mogo.commons.module.intent.IMogoIntentListener; import com.mogo.commons.module.intent.IntentManager; +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters; import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener; +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager; import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; @@ -31,6 +33,7 @@ import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager; import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager; import com.mogo.och.common.module.manager.socket.lan.LanSocketManager; import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType; +import com.mogo.och.common.module.utils.PinYinUtil; import com.mogo.och.common.module.voice.VoiceNotice; import com.mogo.och.shuttle.passenger.R; import com.mogo.och.common.module.manager.socket.lan.bean.AppConnectMsg; @@ -260,6 +263,7 @@ public class BusPassengerModel { BusStationBean startStation = mStations.get(i); BusStationBean endStation = mStations.get(i+1); setTrajectoryStation(startStation, endStation, result.getLineId()); + updateAutopilotControlParameters(result,i); return; }else if (station.getDrivingStatus() == STATION_STATUS_STOPPED && !station.isLeaving()){ if (i == stations.size() - 1) { @@ -269,6 +273,7 @@ public class BusPassengerModel { isGoingToNextStation = false; CallerLogger.d(M_BUS_P + TAG, "order = station= arrive"); mRouteLineInfoCallback.updateStationsInfo(stations,i,true); + clearAutopilotControlParameters(); return; } } @@ -277,6 +282,55 @@ public class BusPassengerModel { } + private void clearAutopilotControlParameters() { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is clear."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(null); + } + + + private void updateAutopilotControlParameters(BusRoutesResult busRoutesResult , int leaveIndex) { + AutopilotControlParameters parameters = initAutopilotControlParameters(busRoutesResult, leaveIndex); + if (null == parameters) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is empty."); + return; + } + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is update."); + CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters); + } + + private AutopilotControlParameters initAutopilotControlParameters(BusRoutesResult busRoutesResult , int leaveIndex ) { + if (busRoutesResult.getSites() == null) { + return null; + } + List stations = busRoutesResult.getSites(); + if (leaveIndex + 1 > stations.size() - 1) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "行程日志-mismatch condition1."); + return null; + } + BusStationBean currentStation = stations.get(leaveIndex); + BusStationBean nextStation = stations.get(leaveIndex + 1); + AutopilotControlParameters parameters = new AutopilotControlParameters(); + parameters.routeID = busRoutesResult.getLineId(); + parameters.routeName = busRoutesResult.getName(); + parameters.startName = currentStation.getName(); + parameters.endName = nextStation.getName(); + parameters.startLatLon = new AutopilotControlParameters.AutoPilotLonLat(currentStation.getLat(), currentStation.getLon()); + parameters.endLatLon = new AutopilotControlParameters.AutoPilotLonLat(nextStation.getLat(), nextStation.getLon()); + parameters.vehicleType = 10; + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine =new AutopilotControlParameters.AutoPilotLine( + busRoutesResult.getLineId(), busRoutesResult.getName(), + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP + ); + } + return parameters; + } + public void release() { releaseListeners(); cleanStation("release"); diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt index cd696ee235..018cfda723 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/jinlv/com/mogo/och/shuttle/weaknet/passenger/model/BusPassengerModel.kt @@ -3,10 +3,13 @@ package com.mogo.och.shuttle.weaknet.passenger.model import android.annotation.SuppressLint import android.content.Context import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener +import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant @@ -28,6 +31,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceNotice.showNotice import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusStationBean @@ -139,6 +143,7 @@ object BusPassengerModel { val startStation = mStations[i] val endStation = mStations[i + 1] setTrajectoryStation(startStation, endStation, result.lineId) + updateAutopilotControlParameters(result,i) return } else if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !station.isLeaving) { if (i == stations.size - 1) { @@ -148,6 +153,7 @@ object BusPassengerModel { isGoingToNextStation = false Logger.d(SceneConstant.M_BUS_P + TAG, "order = station= arrive") mRouteLineInfoCallback!!.updateStationsInfo(stations, i, true) + clearAutopilotControlParameters() return } } @@ -322,4 +328,61 @@ object BusPassengerModel { TrajectoryAndDistanceManager.setStationPoint(null, null, -1L) } + private fun updateAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ) { + val parameters = initAutopilotControlParameters(busRoutesResult, leaveIndex) + if (null == parameters) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is empty.") + return + } + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is update.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) + } + + private fun initAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ): AutopilotControlParameters? { + if (busRoutesResult.sites == null) { + return null + } + val stations = busRoutesResult.sites + if (leaveIndex + 1 > stations.size - 1) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "行程日志-mismatch condition1.") + return null + } + val currentStation = stations[leaveIndex] + val nextStation = stations[leaveIndex + 1] + val parameters = AutopilotControlParameters() + parameters.routeID = busRoutesResult.lineId + parameters.routeName = busRoutesResult.name + parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.name) + parameters.endName = PinYinUtil.getPinYinHeadChar(nextStation.name) + parameters.startLatLon = + AutopilotControlParameters.AutoPilotLonLat(currentStation.lat, currentStation.lon) + parameters.endLatLon = + AutopilotControlParameters.AutoPilotLonLat(nextStation.lat, nextStation.lon) + parameters.vehicleType = 10 + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( + busRoutesResult.lineId.toLong(), busRoutesResult.name, + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP + ) + } + return parameters + } + + + private fun clearAutopilotControlParameters() { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is clear.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) + } + } From 489264e73853686d24e66dcb1f447c5d4b9eb59b Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Oct 2024 17:34:55 +0800 Subject: [PATCH 8/9] =?UTF-8?q?[6.7.0][=E8=BF=90=E8=90=A5=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF]=20=E4=BF=AE=E5=A4=8D=E5=B4=A9=E6=BA=83=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../preferences/PreferenceWithSpeedSetting.kt | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt index c5bd5d3df5..f990d1e229 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/operate/preferences/PreferenceWithSpeedSetting.kt @@ -2,23 +2,18 @@ package com.mogo.eagle.core.function.hmi.ui.operate.preferences import android.annotation.SuppressLint import android.content.Context -import android.text.Editable import android.util.AttributeSet import android.widget.EditText import android.widget.TextView import androidx.core.widget.doAfterTextChanged -import androidx.core.widget.doBeforeTextChanged -import androidx.core.widget.doOnTextChanged import androidx.preference.Preference import androidx.preference.PreferenceViewHolder import com.mogo.eagle.core.function.hmi.R import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.kotlin.onClickWidthDuration -import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.util.ToastUtils import java.math.BigDecimal import java.util.concurrent.ConcurrentHashMap -import kotlin.math.max class PreferenceWithSpeedSetting : Preference { @@ -74,7 +69,7 @@ class PreferenceWithSpeedSetting : Preference { if (cache.containsKey(key)) { cur = cache[key] ?: cur } - cur = BigDecimal.valueOf(cur).setScale(1).toDouble() + cur = cur.safeScale() if (speedLimit is EditText) { speedLimit.setText(cur.toString()) speedLimit.doAfterTextChanged { text -> @@ -89,14 +84,13 @@ class PreferenceWithSpeedSetting : Preference { btnOk.isEnabled = false holder.itemView.isEnabled = false ll.isSelected = false - ToastUtils.showShort("阈值最大为${BigDecimal.valueOf(max).setScale(1)}$unit") + ToastUtils.showShort("阈值最大为${max.safeScale()}$unit") return@doAfterTextChanged } - val temp = BigDecimal.valueOf(current).setScale(1).toDouble() + val temp = current.safeScale() if (cur == temp) { return@doAfterTextChanged } - Logger.d("RWJ", "--- cache ---- 2 ---: $cur, $temp") cur = temp btnOk.isEnabled = true ll.isSelected = true @@ -115,7 +109,7 @@ class PreferenceWithSpeedSetting : Preference { minus.onClickWidthDuration(100) { val minusAfter = cur - step if (minusAfter < min) { - ToastUtils.showShort("阈值最小为${BigDecimal.valueOf(min).setScale(1)}$unit") + ToastUtils.showShort("阈值最小为${min.safeScale()}$unit") return@onClickWidthDuration } cur = minusAfter @@ -135,7 +129,7 @@ class PreferenceWithSpeedSetting : Preference { add.onClickWidthDuration(100) { val addAfter = cur + step if (addAfter > max) { - ToastUtils.showShort("阈值最大为${BigDecimal.valueOf(max).setScale(1)}$unit") + ToastUtils.showShort("阈值最大为${max.safeScale()}$unit") return@onClickWidthDuration } holder.itemView.isEnabled = false @@ -159,4 +153,8 @@ class PreferenceWithSpeedSetting : Preference { } } } + + private fun Double.safeScale(s: Int = 1): Double { + return runCatching { BigDecimal.valueOf(this).setScale(s).toDouble() }.getOrNull() ?: this + } } \ No newline at end of file From 1fb1d517cedd9ceef5002efc4b901d58222d7938 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 23 Oct 2024 17:45:04 +0800 Subject: [PATCH 9/9] =?UTF-8?q?[6.7.2]=20[fix]=20[m2=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E8=87=AA=E9=A9=BE=E4=BF=A1=E6=81=AF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/model/PM2DrivingModel.kt | 63 +++++++++++++++++++ .../passenger/model/PM2DrivingModel.kt | 62 ++++++++++++++++++ 2 files changed, 125 insertions(+) diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt index 9f427ac5d5..590d7b8924 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt +++ b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt @@ -12,6 +12,7 @@ import com.mogo.commons.module.intent.IMogoIntentListener import com.mogo.commons.module.intent.IntentManager import com.mogo.commons.voice.AIAssist import com.mogo.commons.voice.IMogoVoiceCmdCallBack +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener @@ -45,6 +46,7 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg import com.mogo.och.common.module.utils.DateTimeUtil +import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceNotice import com.mogo.och.common.module.voice.VoiceNotice.showNotice import com.mogo.och.data.bean.BusRoutesResult @@ -441,6 +443,7 @@ class PM2DrivingModel private constructor() { val startStation = mStations[i] val endStation = mStations[i + 1] setTrajectoryStation(startStation, endStation, result.lineId) + updateAutopilotControlParameters(result,i) return } else if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !station.isLeaving) { d(SceneConstant.M_BUS_P+TAG,"och-rotting--mNextStationIndex = $mNextStationIndex , i = $i") @@ -450,6 +453,7 @@ class PM2DrivingModel private constructor() { } isGoingToNextStation = false mDrivingInfoCallback?.updateStationsInfo(stations as MutableList, i, true) + clearAutopilotControlParameters() return }else{ // d(SceneConstant.M_BUS_P+TAG,"och-rotting--BusStationBean = " + GsonUtils.toJson(station)) @@ -477,4 +481,63 @@ class PM2DrivingModel private constructor() { d(SceneConstant.M_BUS_P + TAG, "清理站点:$type") TrajectoryAndDistanceManager.setStationPoint(null, null, -1L) } + + + + private fun updateAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ) { + val parameters = initAutopilotControlParameters(busRoutesResult, leaveIndex) + if (null == parameters) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is empty.") + return + } + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is update.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) + } + + private fun initAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ): AutopilotControlParameters? { + if (busRoutesResult.sites == null) { + return null + } + val stations = busRoutesResult.sites + if (leaveIndex + 1 > stations.size - 1) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "行程日志-mismatch condition1.") + return null + } + val currentStation = stations[leaveIndex] + val nextStation = stations[leaveIndex + 1] + val parameters = AutopilotControlParameters() + parameters.routeID = busRoutesResult.lineId + parameters.routeName = busRoutesResult.name + parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.name) + parameters.endName = PinYinUtil.getPinYinHeadChar(nextStation.name) + parameters.startLatLon = + AutopilotControlParameters.AutoPilotLonLat(currentStation.lat, currentStation.lon) + parameters.endLatLon = + AutopilotControlParameters.AutoPilotLonLat(nextStation.lat, nextStation.lon) + parameters.vehicleType = 10 + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( + busRoutesResult.lineId.toLong(), busRoutesResult.name, + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP + ) + } + return parameters + } + + + private fun clearAutopilotControlParameters() { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is clear.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) + } } \ No newline at end of file diff --git a/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/model/PM2DrivingModel.kt b/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/model/PM2DrivingModel.kt index 6621ded080..4183d6765f 100644 --- a/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/model/PM2DrivingModel.kt +++ b/OCH/shuttle/passenger_weaknet/src/main/java/m2/com/mogo/och/shuttle/weaknet/passenger/model/PM2DrivingModel.kt @@ -2,11 +2,13 @@ package com.mogo.och.shuttle.weaknet.passenger.model import android.annotation.SuppressLint import android.content.Context +import com.mogo.eagle.core.data.autopilot.AutopilotControlParameters import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.map.MogoLocation import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener import com.mogo.eagle.core.function.api.autopilot.IMoGoChassisLocationGCJ02Listener import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.util.GsonUtils @@ -21,6 +23,7 @@ import com.mogo.och.common.module.manager.socket.lan.LanSocketManager import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg +import com.mogo.och.common.module.utils.PinYinUtil import com.mogo.och.common.module.voice.VoiceNotice.showNotice import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusStationBean @@ -227,6 +230,7 @@ object PM2DrivingModel{ val startStation = mStations[i] val endStation = mStations[i + 1] setTrajectoryStation(startStation, endStation, result.lineId) + updateAutopilotControlParameters(result,i) return } else if (station.drivingStatus == BusPassengerConst.STATION_STATUS_STOPPED && !station.isLeaving) { d(SceneConstant.M_BUS_P+ TAG,"och-rotting--mNextStationIndex = $mNextStationIndex , i = $i") @@ -236,6 +240,7 @@ object PM2DrivingModel{ } isGoingToNextStation = false mDrivingInfoCallback?.updateStationsInfo(stations as MutableList, i, true) + clearAutopilotControlParameters() return }else{ // d(SceneConstant.M_BUS_P+TAG,"och-rotting--BusStationBean = " + GsonUtils.toJson(station)) @@ -263,4 +268,61 @@ object PM2DrivingModel{ d(SceneConstant.M_BUS_P + TAG, "清理站点:$type") TrajectoryAndDistanceManager.setStationPoint(null, null, -1L) } + + private fun updateAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ) { + val parameters = initAutopilotControlParameters(busRoutesResult, leaveIndex) + if (null == parameters) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is empty.") + return + } + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is update.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters) + } + + private fun initAutopilotControlParameters( + busRoutesResult: BusRoutesResult, + leaveIndex: Int + ): AutopilotControlParameters? { + if (busRoutesResult.sites == null) { + return null + } + val stations = busRoutesResult.sites + if (leaveIndex + 1 > stations.size - 1) { + CallerLogger.e(SceneConstant.M_BUS_P + TAG, "行程日志-mismatch condition1.") + return null + } + val currentStation = stations[leaveIndex] + val nextStation = stations[leaveIndex + 1] + val parameters = AutopilotControlParameters() + parameters.routeID = busRoutesResult.lineId + parameters.routeName = busRoutesResult.name + parameters.startName = PinYinUtil.getPinYinHeadChar(currentStation.name) + parameters.endName = PinYinUtil.getPinYinHeadChar(nextStation.name) + parameters.startLatLon = + AutopilotControlParameters.AutoPilotLonLat(currentStation.lat, currentStation.lon) + parameters.endLatLon = + AutopilotControlParameters.AutoPilotLonLat(nextStation.lat, nextStation.lon) + parameters.vehicleType = 10 + if (parameters.autoPilotLine == null) { + parameters.autoPilotLine = AutopilotControlParameters.AutoPilotLine( + busRoutesResult.lineId.toLong(), busRoutesResult.name, + busRoutesResult.csvFileUrl, busRoutesResult.csvFileMd5, + busRoutesResult.txtFileUrl, busRoutesResult.txtFileMd5, + busRoutesResult.contrailSaveTime, busRoutesResult.carModel, + busRoutesResult.csvFileUrlDPQP, busRoutesResult.csvFileMd5DPQP, + busRoutesResult.txtFileUrlDPQP, busRoutesResult.txtFileMd5DPQP, + busRoutesResult.contrailSaveTimeDPQP + ) + } + return parameters + } + + + private fun clearAutopilotControlParameters() { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "AutopilotControlParameters is clear.") + CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null) + } } \ No newline at end of file