From ae899b347456ea2c11dfe3dbf16758a787f14cc1 Mon Sep 17 00:00:00 2001 From: dongliang Date: Wed, 6 May 2026 12:38:23 +0930 Subject: [PATCH] =?UTF-8?q?feat:=20NFC=20=E6=89=93=E5=8D=A1=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E5=90=8E=20EventBus=20=E9=80=9A=E7=9F=A5=E5=88=B7?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 单个打卡成功 → emit TaskListRefresh(列表页刷新) - 批量打卡成功 → emit HomeRefresh(首页统计刷新) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../com/xiaoqu/watch/service/manager/NfcTaskManager.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 ccbbc55..4c83cf9 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 @@ -2,6 +2,8 @@ package com.xiaoqu.watch.service.manager import com.xiaoqu.watch.device.nfc.NfcController import com.xiaoqu.watch.device.sensor.VibrationController +import com.xiaoqu.watch.event.AppEvent +import com.xiaoqu.watch.event.EventBus import com.xiaoqu.watch.network.ApiResult import com.xiaoqu.watch.network.api.TaskApi import com.xiaoqu.watch.network.safeApiCall @@ -30,7 +32,8 @@ import javax.inject.Singleton class NfcTaskManager @Inject constructor( private val nfcController: NfcController, private val vibrationController: VibrationController, - private val taskApi: TaskApi + private val taskApi: TaskApi, + private val eventBus: EventBus ) { companion object { private const val DEFAULT_NFC_TIMEOUT_MS = 20_000L @@ -82,6 +85,8 @@ class NfcTaskManager @Inject constructor( is ApiResult.Success -> { Timber.d("NFC任务打卡: 打卡成功") vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS) + // 通知列表页刷新 + eventBus.emit(AppEvent.TaskListRefresh) onResult(true, "打卡成功") } is ApiResult.Error -> { @@ -216,6 +221,8 @@ class NfcTaskManager @Inject constructor( is ApiResult.Success -> { Timber.d("NFC主动打卡: 批量打卡成功") vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS) + // 通知首页刷新统计 + eventBus.emit(AppEvent.HomeRefresh) onResult(true, "打卡成功") } is ApiResult.Error -> {