From df1e80fe33f8d53bf8ba0f385462f1611a554304 Mon Sep 17 00:00:00 2001 From: dongliang Date: Wed, 6 May 2026 12:09:20 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20NFC=20=E4=BA=92=E6=96=A5=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E5=8A=A0=20nfcController.isOpen()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 考勤打卡(PunchViewModel)和任务打卡(NfcTaskManager)共用 NFC 硬件。 增加 nfcController.isOpen() 检查,防止两者同时操作 NFC。 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../com/xiaoqu/watch/service/manager/NfcTaskManager.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/service/manager/NfcTaskManager.kt b/app/src/main/java/com/xiaoqu/watch/service/manager/NfcTaskManager.kt index 79750c3..83bf579 100644 --- a/app/src/main/java/com/xiaoqu/watch/service/manager/NfcTaskManager.kt +++ b/app/src/main/java/com/xiaoqu/watch/service/manager/NfcTaskManager.kt @@ -63,8 +63,8 @@ class NfcTaskManager @Inject constructor( * @param onResult 结果回调(主线程),success + message */ fun startTaskPunch(taskId: Long, onResult: (success: Boolean, message: String) -> Unit) { - if (isScanning) { - Timber.d("NFC任务打卡: 已在扫描中,忽略") + if (isScanning || nfcController.isOpen()) { + Timber.d("NFC任务打卡: NFC 正在使用中,忽略") return } isScanning = true @@ -123,8 +123,8 @@ class NfcTaskManager @Inject constructor( */ fun startActivePunch(onResult: (success: Boolean, message: String) -> Unit) { if (isScanning) { - Timber.d("NFC主动打卡: 已在扫��中,忽略") - return + if (isScanning || nfcController.isOpen()) { + Timber.d("NFC主动打卡: NFC 正在使用中,忽略") } isScanning = true Timber.d("NFC主动��卡: 开启(返回键触发)")