[690][led]修改仅 B2司机端调用LED外屏

This commit is contained in:
xinfengkun
2025-01-13 16:41:38 +08:00
parent 0bc0ddd0e8
commit a6e18b1e17
3 changed files with 30 additions and 19 deletions

View File

@@ -29,7 +29,10 @@ class DataCenterProvider : IDataCenterProvider {
CallerMsgBoxManager.queryAllMessages(it)
TrafficLightDispatcher.INSTANCE.initServer(it)
SpeedLimitDispatcher.INSTANCE.initLimit(it)
IotManager.init(AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode))
IotManager.init(
AppIdentityModeUtils.isPassenger(FunctionBuildConfig.appIdentityMode),
AppIdentityModeUtils.isB2(FunctionBuildConfig.appIdentityMode)
)
}
}

View File

@@ -22,7 +22,7 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
private const val EVENT_KEY_HARDWARE_DEVICES = "event_key_hardware_devices"
private var isPassenger: Boolean = false
fun init(isPassenger: Boolean) {
fun init(isPassenger: Boolean, isB2: Boolean) {
this.isPassenger = isPassenger
if (isPassenger) {
CallerCloudListenerManager.addListener(TAG, this)
@@ -30,7 +30,7 @@ object IotManager : IMoGoCloudListener, IWriteChainLogListener {
hardwareDeviceBind(SharedPrefsMgr.getInstance().sn)
} else {
LedSourceManager.registerWriteChainLogListener(this)
LedSourceManager.init(true)
LedSourceManager.init(true, isB2)
}
}

View File

@@ -37,6 +37,7 @@ object LedSourceManager : IWriteChainLogListener {
private var typeTurnSignal = 0;//转向灯状态 0无灯1左转2右转3双闪
private var lastUpdateEmergencyBrakeTime = 0L//上次触发急刹展示的时间
private var isDriver = false
private var isB2 = false
private var writeChainLogListener: IWriteChainLogListener? = null
//红绿灯定时器,超时未更新隐藏红绿灯
@@ -56,24 +57,31 @@ object LedSourceManager : IWriteChainLogListener {
}
fun unregisterWriteChainLogListener() {
this.writeChainLogListener = null
if (isDriver && isB2) {
this.writeChainLogListener = null
}
}
fun init(isDriver: Boolean) {
fun init(isDriver: Boolean, isB2: Boolean) {
this.isDriver = isDriver
LedScreenCpower5aManager.getInstance().addListener(cpower5aListener)
this.isB2 = isB2
if (isDriver && isB2) {
LedScreenCpower5aManager.getInstance().addListener(cpower5aListener)
}
}
fun destroy() {
frontViewModel.reset()
backViewModel.reset()
LedScreenCpower5aManager.getInstance().removeListener(cpower5aListener)
typeTurnSignal = 0
lastUpdateEmergencyBrakeTime = 0L
lightCountDownTimer?.cancel()
lightCountDownTimer = null
lastLightTime = System.currentTimeMillis()
if (isDriver && isB2) {
frontViewModel.reset()
backViewModel.reset()
LedScreenCpower5aManager.getInstance().removeListener(cpower5aListener)
typeTurnSignal = 0
lastUpdateEmergencyBrakeTime = 0L
lightCountDownTimer?.cancel()
lightCountDownTimer = null
lastLightTime = System.currentTimeMillis()
}
}
private fun receiveUI(ledUI: LedUI) {
@@ -106,7 +114,7 @@ object LedSourceManager : IWriteChainLogListener {
* type 0无灯1左转2右转3双闪
*/
fun updateTurnSignalData(type: Int) {
if (isDriver) {
if (isDriver && isB2) {
if (typeTurnSignal != type) {
writeChainLogListener?.onWriteChainLog(TAG, "LED外屏数据源", "车灯状态=${type}")
typeTurnSignal = type
@@ -120,7 +128,7 @@ object LedSourceManager : IWriteChainLogListener {
* 车辆急刹
*/
fun updateAccelerationData(acceleration: Double) {
if (isDriver) {
if (isDriver && isB2) {
if (acceleration <= -2) {
writeChainLogListener?.onWriteChainLog(
TAG,
@@ -187,7 +195,7 @@ object LedSourceManager : IWriteChainLogListener {
stateStraight: Int, durationStraight: Int,
stateTurnRight: Int, durationTurnRight: Int
) {
if (isDriver) {
if (isDriver && isB2) {
var stateTurnRoundTemp: TrafficLightState? = null
var stateTurnLeftTemp: TrafficLightState? = null
var stateStraightTemp: TrafficLightState? = null
@@ -212,7 +220,7 @@ object LedSourceManager : IWriteChainLogListener {
stateStraightTemp = transitionTurnType(stateStraight)
stateTurnRightTemp = transitionTurnType(stateTurnRight)
}
if (isShow){
if (isShow) {
writeChainLogListener?.onWriteChainLog(
TAG,
"LED外屏数据源",
@@ -274,7 +282,7 @@ object LedSourceManager : IWriteChainLogListener {
arrivalStopName: String,
isLastStop: Boolean
) {
if (isDriver) {
if (isDriver && isB2) {
writeChainLogListener?.onWriteChainLog(
TAG,
"LED外屏数据源",