From 308c66b8b0ebc33912789a79aa6a101cf27c9a14 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 26 May 2025 18:38:14 +0800 Subject: [PATCH] =?UTF-8?q?[routing]=20[fea]=20[=E5=88=B0=E7=AB=99?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E3=80=81ui=20=E6=B8=85=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/biz/routing/ui/RoutingSwitchView.kt | 9 ++++--- .../ui/routingselect/RoutingSelectView.kt | 2 +- .../ui/runing/other/TaskRunningModel.kt | 25 ++++++++++++++++--- .../ui/runing/other/TaskRunningView.kt | 9 ++++++- .../logchainanalytic/OchChainLogManager.kt | 4 +-- 5 files changed, 39 insertions(+), 10 deletions(-) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/RoutingSwitchView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/RoutingSwitchView.kt index 81b92d0132..a66c9f3c33 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/RoutingSwitchView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/RoutingSwitchView.kt @@ -12,7 +12,9 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.ThreadUtils import com.mogo.och.biz.R import com.mogo.och.biz.routing.bean.StartGrayAndQueryContrailRsp +import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.common.module.utils.RxUtils import kotlinx.android.synthetic.main.biz_taxi_switch.view.routingOtherRunningView import kotlinx.android.synthetic.main.biz_taxi_switch.view.routingSelectView import kotlinx.android.synthetic.main.biz_taxi_switch.view.routingTaxiRunningView @@ -87,7 +89,9 @@ class RoutingSwitchView: ConstraintLayout, RoutingSwitchModel.SwtichLineViewCall val endLoading = System.currentTimeMillis() val dex = (100-(endLoading - startLoading)).takeIf { it>=0 }?:0 CallerLogger.d(TAG,"展示线路 lading 展示了 ${dex}毫秒") - ThreadUtils.runOnUiThreadDelayed({ + OchChainLogManager.writeChainLogRouting("展示线路:","延时${dex}ms") + RxUtils.createSubscribe(dex) { + OchChainLogManager.writeChainLogRouting("展示线路:","信息:$data") routingSelectView.visibility = GONE switch_routing_loading.visibility = GONE if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) @@ -102,8 +106,7 @@ class RoutingSwitchView: ConstraintLayout, RoutingSwitchModel.SwtichLineViewCall routingOtherRunningView.visibility = GONE routingTaxiRunningView.setData(data) } - - },dex, ThreadUtils.MODE.QUEUE) + } } override fun onAttachedToWindow() { diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt index c7e7e48be4..af078aa8c2 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt @@ -67,7 +67,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback { if(data.contrailId==null||data.contrailId!!<=0L){ ToastUtils.showShort("请设置轨迹信息") } - OchChainLogManager.writeChainLogRouting("[选择灰度任务]","[选择灰度任务] 当前选择 mCurrentChosenPosition=$mCurrentChosenPosition, ") + OchChainLogManager.writeChainLogRouting("[选择灰度任务]","[选择灰度任务] 当前选择 ${data} ") swtichViewModel?.showLoading() viewModel?.startGrayTaskAndQueryRoutingContrail(data.contrailId!!,data) } diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningModel.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningModel.kt index 5d42f5512a..7f8610fbf5 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningModel.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningModel.kt @@ -24,6 +24,7 @@ import com.mogo.och.bridge.autopilot.line.ILineCallback import com.mogo.och.bridge.autopilot.line.LineManager import com.mogo.och.common.module.constant.OchCommonConst import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager +import com.mogo.och.common.module.manager.loop.BizLoopManager import com.mogo.och.common.module.network.OchCommonServiceCallback import com.mogo.och.data.bean.BusStationBean @@ -49,6 +50,11 @@ class TaskRunningModel : ViewModel() { private var stationList: MutableList? = null private var currentGrayId: Long? = null + /** + * 是否可以进行进站操作 + */ + private var arrivedStation:Boolean = false + companion object { var currentIndex = -1 } @@ -79,6 +85,10 @@ class TaskRunningModel : ViewModel() { object : IOchAutopilotStatusListener { override fun onAutopilotArriveAtStation(arrivalNotification: ArrivedStation?) { + if(!arrivedStation){ + OchChainLogManager.writeChainLogRouting("已到站","等待重试",false) + return + } CallerLogger.i( TAG, "onAutopilotArriveAtStation = ${arrivalNotification.toString()}" @@ -87,7 +97,7 @@ class TaskRunningModel : ViewModel() { "MAP到站通知", "[MAP到站通知] 上报到站,location=${arrivalNotification?.endLocation}" ) - viewCallback?.onArrivedStation() + arriveStation() } } @@ -97,7 +107,7 @@ class TaskRunningModel : ViewModel() { "[自车定位围栏]", "\"[自车定位围栏] 并查询底盘触发到站, endSiteId=${currentGrayLineBean?.endSite?.siteId}, endSiteName=${currentGrayLineBean?.endSite?.siteName}, lineId=${currentGrayLineBean?.lineId},围栏范围:${OchCommonConst.ARRIVE_AT_START_STATION_DISTANCE}米 没有过站、速度基本为零且在15m内\"" ) - viewCallback?.onArrivedStation() + arriveStation() } } @@ -111,6 +121,7 @@ class TaskRunningModel : ViewModel() { val startStation = it[currentIndex] val endStation = it[currentIndex + 1] startStation.isLeaving = true + arrivedStation = true startStation.drivingStatus = 2 LineManager.setStartAndEndStation(startStation, endStation) this.viewCallback?.notifyItemChange(currentIndex) @@ -138,6 +149,7 @@ class TaskRunningModel : ViewModel() { fun showArriverStationAndCompleteTask() fun notifyItemChange(currentIndex: Int) + fun clearData() } @@ -145,11 +157,14 @@ class TaskRunningModel : ViewModel() { stationList?.let { val startStation = it[currentIndex] startStation.isLeaving = false + arrivedStation = false startStation.drivingStatus = 1 } currentIndex += 1 LineManager.setStartAndEndStation(null,null) - this.viewCallback?.onArrivedStation() + BizLoopManager.runInMainThread{ + this.viewCallback?.onArrivedStation() + } } /** @@ -224,6 +239,10 @@ class TaskRunningModel : ViewModel() { LineManager.setContraiInfo(null) LineManager.setStartAndEndStation(null, null) + BizLoopManager.runInMainThread{ + this.viewCallback?.clearData() + } + CallerEagleBaseFunctionCall4OchManager.updateOrderStatus(false) // 设置灰度路线任务执行状态,切换模式时判断使用 diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt index 0ad7570359..977b50fc80 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt @@ -8,7 +8,6 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.findViewTreeViewModelStoreOwner import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger -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_OCHCOMMON import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.biz.R @@ -231,4 +230,12 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac override fun notifyItemChange(currentIndex: Int) { mAdapter.notifyChange() } + + override fun clearData() { + bus_task_running_line_name.setText("--") + actv_running_task_last_station.text = "往--" + mAdapter.setDataList(mutableListOf()) + aciv_task_leave_station_slide_bg.setTextValue("滑动出发") + showLeaveStationView() + } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt index f29cb849a1..67bc61de81 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/manager/logchainanalytic/OchChainLogManager.kt @@ -67,8 +67,8 @@ object OchChainLogManager { // 算路验证模式 const val EVENT_KEY_INFO_ROUTING = "analytics_event_och_routing" - fun writeChainLogRouting(title: String, info: String) { - writeChainLog(title, info, true, EVENT_KEY_INFO_ROUTING) + fun writeChainLogRouting(title: String, info: String , upload: Boolean = true) { + writeChainLog(title, info, upload, EVENT_KEY_INFO_ROUTING) }