[6.8.0]
[算路] [距离计算添加自己的算法]
This commit is contained in:
@@ -13,6 +13,8 @@ import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatus
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.bean.ArrivedStation
|
||||
import com.mogo.och.common.module.manager.autopilot.line.ILineCallback
|
||||
import com.mogo.och.common.module.manager.autopilot.line.LineManager
|
||||
import com.mogo.och.common.module.manager.distance.IDistanceListener
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.unmanned.taxi.bean.ContrailBean
|
||||
import com.mogo.och.unmanned.taxi.bean.EndGrayContrailTaskReq
|
||||
@@ -22,14 +24,13 @@ import com.mogo.och.unmanned.taxi.bean.StartGrayAndQueryContrailRsp
|
||||
import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst
|
||||
import com.mogo.och.unmanned.taxi.network.TaxiRoutingServiceManager
|
||||
import com.mogo.och.unmanned.taxi.ui.debug.DebugView
|
||||
import com.mogo.och.unmanned.taxi.ui.routing.TaxiRoutingModel
|
||||
|
||||
/**
|
||||
* @author XuXinChao
|
||||
* @description BadCase录包管理页面
|
||||
* @since: 2022/12/15
|
||||
*/
|
||||
class RoutingRunningModel : ViewModel() {
|
||||
class RoutingRunningModel : ViewModel(), IDistanceListener {
|
||||
|
||||
private val TAG = RoutingRunningModel::class.java.simpleName
|
||||
|
||||
@@ -79,6 +80,20 @@ class RoutingRunningModel : ViewModel() {
|
||||
this.viewCallback = viewCallback
|
||||
}
|
||||
|
||||
fun addListener() {
|
||||
TrajectoryAndDistanceManager.addDistanceListener(TAG,this)
|
||||
}
|
||||
|
||||
fun removeListener() {
|
||||
TrajectoryAndDistanceManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
|
||||
override fun distanceCallback(distance: Float) {
|
||||
val lastTime = distance / TaxiUnmannedConst.TAXI_AVERAGE_SPEED * 3.6 //秒
|
||||
this.viewCallback?.showDistance(distance.toLong(),lastTime.toLong())
|
||||
}
|
||||
|
||||
fun setNewData(data: StartGrayAndQueryContrailRsp) {
|
||||
this._data = data
|
||||
this.currentGrayLineBean = data.grayLineBean
|
||||
@@ -185,6 +200,9 @@ class RoutingRunningModel : ViewModel() {
|
||||
|
||||
fun onArrivedStation(currentGrayId: Long?)
|
||||
|
||||
// 距离终点的距离
|
||||
fun showDistance(distance: Long, lastTime: Long)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -206,6 +206,16 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal
|
||||
viewModel?.setDistanceCallback(this)
|
||||
}
|
||||
|
||||
override fun onVisibilityAggregated(isVisible: Boolean) {
|
||||
super.onVisibilityAggregated(isVisible)
|
||||
if(isVisible){
|
||||
viewModel?.addListener()
|
||||
}else{
|
||||
viewModel?.removeListener()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCurrentNaviDistAndTimeChanged(meters: Int, timeInSecond: Long) {
|
||||
updateCurrentTaskTripInfo(meters.toLong(), timeInSecond)
|
||||
}
|
||||
@@ -287,4 +297,8 @@ class RoutingRunningView: ConstraintLayout, RoutingRunningModel.RoutingRuningCal
|
||||
|
||||
}
|
||||
|
||||
override fun showDistance(distance: Long, lastTime: Long) {
|
||||
updateCurrentTaskTripInfo(distance,lastTime)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user