[routing]

[fea]
[到站过滤、ui 清理]
This commit is contained in:
yangyakun
2025-05-26 18:38:14 +08:00
parent 1a0c7c8f91
commit 308c66b8b0
5 changed files with 39 additions and 10 deletions

View File

@@ -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() {

View File

@@ -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)
}

View File

@@ -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<BusStationBean>? = 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)
// 设置灰度路线任务执行状态,切换模式时判断使用

View File

@@ -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()
}
}

View File

@@ -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)
}