[fea]
[all]
[添加autopilotFlag]
This commit is contained in:
yangyakun
2024-12-26 15:27:57 +08:00
parent 81a302e474
commit 0ff3f34599
2 changed files with 45 additions and 2 deletions

View File

@@ -43,6 +43,11 @@ import kotlin.properties.Delegates
*/
object LineManager : CallerBase<ILineCallback>() {
const val TAG = "LineManager"
const val firstStationFirstStartAutopilotFlag = 1
const val middleStationFirstStartAutopilotFlag = 2
const val norFirstStartAutopilotFlag = 3
/**
* 线路信息
*/
@@ -73,11 +78,35 @@ object LineManager : CallerBase<ILineCallback>() {
*/
private var endStation: BusStationBean? = null
/**
* 和[autopilotId]相关 默认为true
* 一个autopilotId范围内第一次启动自驾成功后 为false
*/
var isFirstStartAutopilot = true
/**
* 和[teleOrderId] 相关的 默认为true
* 一个teleOrderId范围内第一次启动自驾成功后 为false
*/
var teleIsFirstStartAutopilot = true
/**
* 线路、och业务id、站点 三者确定的id
* 1 首站点触发
* 2 中间站点触发
* 3 新的站点第一次启动自驾成功后
*/
var autopilotFlag : Int by Delegates.observable(firstStationFirstStartAutopilotFlag) { _, oldValue, newValue ->
if(oldValue!=newValue){
d(TAG,"autopilotFlag old=$oldValue new=$newValue")
}
}
/**
* bizId 小巴、接驳、班车 时任务id
* taxi 目前是orderNo 6.9.0改为任务id
* ochCommon 抽象的自驾id
* 生成规则 lineId_startsiteId_endsiteId_bizId
*/
private var autopilotId: String by Delegates.observable("") { _, oldValue, newValue ->
if (oldValue != newValue) {
@@ -105,7 +134,10 @@ object LineManager : CallerBase<ILineCallback>() {
}
/**
* 线路、och业务id、当前线路的所有站点 三者确定的id
* bizId 小巴、接驳、班车 时任务id
* taxi 目前是orderNo 6.9.0改为任务id
* 向地盘传递的orderId
* 生成规则 lineId_siteId1_siteId2_siteId3...siteIdn_bizId
*/
private var teleOrderId: String by Delegates.observable("") { _, oldValue, newValue ->
if (oldValue != newValue) {
@@ -291,6 +323,11 @@ object LineManager : CallerBase<ILineCallback>() {
return@getStationsWithLine
}
d(M_BUS + TAG, "AutopilotControlParameters is update.")
if (lineInfo.isFirstStation(start)) {
autopilotFlag = firstStationFirstStartAutopilotFlag
}else{
autopilotFlag = middleStationFirstStartAutopilotFlag
}
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(parameters)
val startStationLocation = MogoLocation()
startStationLocation.latitude = start.gcjLat
@@ -310,6 +347,7 @@ object LineManager : CallerBase<ILineCallback>() {
CallerAutoPilotStatusListenerManager.updateAutopilotControlParameters(null)
TrajectoryAndDistanceManager.setStationPoint(null, null, null)
autopilotId = ""
autopilotFlag = firstStationFirstStartAutopilotFlag
OchLocationManager.removeGCJ02Listener(TAG)
}
@@ -572,6 +610,7 @@ object LineManager : CallerBase<ILineCallback>() {
if(send){// 启动自驾成功回调
teleIsFirstStartAutopilot = false
isFirstStartAutopilot = false
autopilotFlag = norFirstStartAutopilotFlag
M_LISTENERS.forEach {
it.value.startAutopilotSuccess(source,autopilotId)
}

View File

@@ -49,5 +49,9 @@ data class LineInfo(
return lineId.hashCode()
}
fun isFirstStation(start: BusStationBean):Boolean {
return siteInfos.first()==start
}
}