feat: NFC 打卡成功后 EventBus 通知刷新
- 单个打卡成功 → emit TaskListRefresh(列表页刷新) - 批量打卡成功 → emit HomeRefresh(首页统计刷新) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,8 @@ package com.xiaoqu.watch.service.manager
|
|||||||
|
|
||||||
import com.xiaoqu.watch.device.nfc.NfcController
|
import com.xiaoqu.watch.device.nfc.NfcController
|
||||||
import com.xiaoqu.watch.device.sensor.VibrationController
|
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.ApiResult
|
||||||
import com.xiaoqu.watch.network.api.TaskApi
|
import com.xiaoqu.watch.network.api.TaskApi
|
||||||
import com.xiaoqu.watch.network.safeApiCall
|
import com.xiaoqu.watch.network.safeApiCall
|
||||||
@@ -30,7 +32,8 @@ import javax.inject.Singleton
|
|||||||
class NfcTaskManager @Inject constructor(
|
class NfcTaskManager @Inject constructor(
|
||||||
private val nfcController: NfcController,
|
private val nfcController: NfcController,
|
||||||
private val vibrationController: VibrationController,
|
private val vibrationController: VibrationController,
|
||||||
private val taskApi: TaskApi
|
private val taskApi: TaskApi,
|
||||||
|
private val eventBus: EventBus
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
private const val DEFAULT_NFC_TIMEOUT_MS = 20_000L
|
private const val DEFAULT_NFC_TIMEOUT_MS = 20_000L
|
||||||
@@ -82,6 +85,8 @@ class NfcTaskManager @Inject constructor(
|
|||||||
is ApiResult.Success -> {
|
is ApiResult.Success -> {
|
||||||
Timber.d("NFC任务打卡: 打卡成功")
|
Timber.d("NFC任务打卡: 打卡成功")
|
||||||
vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS)
|
vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS)
|
||||||
|
// 通知列表页刷新
|
||||||
|
eventBus.emit(AppEvent.TaskListRefresh)
|
||||||
onResult(true, "打卡成功")
|
onResult(true, "打卡成功")
|
||||||
}
|
}
|
||||||
is ApiResult.Error -> {
|
is ApiResult.Error -> {
|
||||||
@@ -216,6 +221,8 @@ class NfcTaskManager @Inject constructor(
|
|||||||
is ApiResult.Success -> {
|
is ApiResult.Success -> {
|
||||||
Timber.d("NFC主动打卡: 批量打卡成功")
|
Timber.d("NFC主动打卡: 批量打卡成功")
|
||||||
vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS)
|
vibrationController.executeByPlanId(PLAN_PUNCH_SUCCESS)
|
||||||
|
// 通知首页刷新统计
|
||||||
|
eventBus.emit(AppEvent.HomeRefresh)
|
||||||
onResult(true, "打卡成功")
|
onResult(true, "打卡成功")
|
||||||
}
|
}
|
||||||
is ApiResult.Error -> {
|
is ApiResult.Error -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user