From 1869b36ca8007a64ec11d589c9b3e49bc9d32a5d Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 10 Jan 2025 11:37:47 +0800 Subject: [PATCH] =?UTF-8?q?[6.9.0]=20[fix]=20[offline]=20[=E6=8E=A8?= =?UTF-8?q?=E5=87=BA=E7=99=BB=E5=BD=95=E5=90=8E=20=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E5=BB=B6=E6=97=B6=E4=BA=8B=E4=BB=B6]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/offline/model/ThirdDeviceData.kt | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/ThirdDeviceData.kt b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/ThirdDeviceData.kt index 9c09e78b6c..b885b237c2 100644 --- a/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/ThirdDeviceData.kt +++ b/OCH/offline/driver/src/main/java/com/mogo/och/offline/model/ThirdDeviceData.kt @@ -4,7 +4,6 @@ import com.mogo.commons.AbsMogoApplication import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OFFLINE import com.mogo.eagle.core.utilcode.util.GsonUtils -import com.mogo.eagle.core.utilcode.util.UiThreadHandler import com.mogo.och.common.module.biz.login.LoginStatusManager import com.mogo.och.bridge.autopilot.line.LineManager import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager @@ -17,11 +16,13 @@ import com.mogo.och.common.module.manager.socket.lan.bean.BusinessType import com.mogo.och.common.module.manager.socket.lan.bean.DPMsgType import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg import com.mogo.och.common.module.utils.ResourcesUtils +import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusTransferData import com.mogo.och.offline.R import com.mogo.och.offline.constant.BusConst import com.mogo.och.offline.util.ShuttleVoiceManager +import io.reactivex.disposables.Disposable object ThirdDeviceData { @@ -58,6 +59,8 @@ object ThirdDeviceData { DPMsgType.TYPE_TASK_DETAILS.type, taskDetailsMsgListener ) + + RxUtils.disposeSubscribe(leaveStationDisposable) } // 乘客屏请求线路信息 @@ -66,17 +69,15 @@ object ThirdDeviceData { override fun onLanMsgReceived(taskDetailsMsg: TaskDetailsMsg?) = sendTaskDetailsToClients() } - private var delayedTts:Runnable?=null + private var leaveStationDisposable: Disposable? = null // 离站 fun leaveStation() { LineManager.getStationsWithLine { start, end, lineInfo -> - delayedTts = object :Runnable{ - override fun run() { - ShuttleVoiceManager.leaveStationBus(end.name, end.nameKr) - } + RxUtils.disposeSubscribe(leaveStationDisposable) + leaveStationDisposable = RxUtils.createSubscribe(BusConst.DELAY_10S) { + ShuttleVoiceManager.leaveStationBus(end.name, end.nameKr) } - UiThreadHandler.postDelayed(delayedTts, BusConst.DELAY_10S) //给bus外屏发送 LedScreenManager.sendTripInfo2Led( LedScreenManager.LEAVE_STATION, @@ -90,9 +91,7 @@ object ThirdDeviceData { //到站 fun arriveStation() { - delayedTts?.let { - UiThreadHandler.removeCallbacks(delayedTts) - } + RxUtils.disposeSubscribe(leaveStationDisposable) LineManager.getStationsWithLine { start, end, lineInfo -> ShuttleVoiceManager.arrivedStationBus(end.name, end.nameKr) // 收到正在进站的决策信息时播报,每个站点仅播报1次 @@ -110,9 +109,7 @@ object ThirdDeviceData { //结束任务 fun endTask() { - delayedTts?.let { - UiThreadHandler.removeCallbacks(delayedTts) - } + RxUtils.disposeSubscribe(leaveStationDisposable) LineManager.getLineInfo {lineInfo -> LedScreenManager.sendTripInfo2Led( LedScreenManager.END_TRIP,