refactor: 优化 QuTipDialog + 删除 ResultFlashView

QuTipDialog 优化:
- 图标区域放大 85→110dp,图标字号 38→50sp
- 加入淡入+缩放动画(OvershootInterpolator 回弹效果)
- 默认倒计时 3→2 秒
- 倒计时文字默认隐藏(showCountdown 参数控制)
- 简化调用:show(status, title) 即可,2秒后自动消失

NFC 打卡加回 QuTipDialog:
- 成功:绿色图标 + "打卡成功" + 2秒消失
- 失败:红色图标 + "打卡失败" + 错误信息

删除 ResultFlashView(方案不合适,统一用优化后的 QuTipDialog)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-06 15:40:07 +09:30
parent 1ef6824c5e
commit 3ab6a94676
9 changed files with 94 additions and 224 deletions

View File

@@ -17,7 +17,6 @@ import com.xiaoqu.watch.service.manager.NfcTaskManager
import com.xiaoqu.watch.service.manager.NotificationManager
import com.xiaoqu.watch.service.manager.SystemStateMonitor
import com.xiaoqu.watch.service.manager.UpdateManager
import com.xiaoqu.watch.ui.widget.ResultFlashView
import com.xiaoqu.watch.ui.widget.UpdateDialogView
import com.xiaoqu.watch.ui.widget.NotificationBannerView
import dagger.hilt.android.AndroidEntryPoint
@@ -51,8 +50,6 @@ class MainActivity : AppCompatActivity() {
/** NFC 任务打卡管理器 */
@Inject lateinit var nfcTaskManager: NfcTaskManager
@Inject lateinit var userPrefs: UserPrefs
/** 操作结果指示器Apple Watch 风格) */
lateinit var resultFlash: ResultFlashView
/** OTA 更新弹窗 */
lateinit var updateDialog: UpdateDialogView
lateinit var notificationBanner: NotificationBannerView
@@ -88,9 +85,6 @@ class MainActivity : AppCompatActivity() {
// 初始化通知横幅
notificationBanner = binding.notificationBanner
// 初始化结果指示器
resultFlash = binding.resultFlash
// 初始化 OTA 更新弹窗
updateDialog = binding.updateDialog
setupUpdateDialog()
@@ -211,10 +205,8 @@ class MainActivity : AppCompatActivity() {
Timber.d("返回键: 触发主动打卡")
nfcTaskManager.startActivePunch { success, message ->
if (success) {
resultFlash.showSuccess()
} else if (message.isNotEmpty()) {
resultFlash.showFailure()
if (message.isNotEmpty()) {
android.widget.Toast.makeText(this@MainActivity, message, android.widget.Toast.LENGTH_SHORT).show()
}
}
}