From b8e91958e7e881ed0c346a831780849cb96c9493 Mon Sep 17 00:00:00 2001 From: xinfengkun Date: Thu, 9 Jan 2025 19:04:32 +0800 Subject: [PATCH] [690][led]fix bug --- .../mogo/support/device/led/BaseLedUIViewModel.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/led/BaseLedUIViewModel.kt b/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/led/BaseLedUIViewModel.kt index 6d109a01dd..5d9db985e7 100644 --- a/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/led/BaseLedUIViewModel.kt +++ b/libraries/mogo-hardware-devices/src/main/java/com/mogo/support/device/led/BaseLedUIViewModel.kt @@ -248,12 +248,14 @@ open class BaseLedUIViewModel(protected val writeChainLogListener: IWriteChainLo * 从等待队列中删除目标类型数据 */ private fun removeRestoreLedUI(msg: LedUI) { - val toRemove = restoreLedUIQueue.filter { - it.javaClass == msg.javaClass || - (it is LedUICountDown && it.countDownSeconds > 0 - && it.absCountDownTimestamp <= System.currentTimeMillis()) + synchronized(restoreLedUIQueue) { + val queueCopy = restoreLedUIQueue.toList() + val toRemove = queueCopy.filter { + it.javaClass == msg.javaClass || + (it is LedUICountDown && it.countDownSeconds > 0 + && it.absCountDownTimestamp <= System.currentTimeMillis()) + } + restoreLedUIQueue.removeAll(toRemove.toSet()) } - restoreLedUIQueue.removeAll(toRemove.toSet()) } - } \ No newline at end of file