From d6a8f4acf99cee7fd9d13667beb94ca5f2dae725 Mon Sep 17 00:00:00 2001 From: dongliang Date: Thu, 30 Apr 2026 19:01:17 +0930 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=85=B3=E9=97=AD=E5=8A=A0=E9=80=9F?= =?UTF-8?q?=E5=BA=A6=E8=AE=A1=E6=8A=AC=E6=89=8B=E4=BA=AE=E5=B1=8F=EF=BC=88?= =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E6=97=A0=E9=99=80=E8=9E=BA=E4=BB=AA=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E9=9D=A0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 设备仅有基础加速度计(MTK),无陀螺仪/重力传感器/旋转向量。 经 v1~v5 五轮实测验证,"看表"与"不看表"的角度差仅~7°, 无法可靠区分抬手和小幅摆动。旧版uni-app也放弃了此功能。 代码保留但默认不启用(start/stop/pause/resume 全部注释), 待更换有陀螺仪的硬件后取消注释即可启用。 保留的文件: - AccelerometerWakeController.kt(接口) - FiseAccelerometerWake.kt(实现,含倾斜角度+低通滤波方案) - DeviceModule.kt(DI绑定) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../java/com/xiaoqu/watch/app/MainActivity.kt | 8 +++++--- .../xiaoqu/watch/ui/punch/PunchViewModel.kt | 20 +++++++++---------- app/src/main/res/drawable/bg_btn_primary.xml | 16 +++++++++++++++ .../main/res/drawable/bg_btn_secondary.xml | 16 +++++++++++++++ 4 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 app/src/main/res/drawable/bg_btn_primary.xml create mode 100644 app/src/main/res/drawable/bg_btn_secondary.xml diff --git a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt index 59ecf1f..35bd98c 100644 --- a/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt +++ b/app/src/main/java/com/xiaoqu/watch/app/MainActivity.kt @@ -62,8 +62,10 @@ class MainActivity : AppCompatActivity() { // 注册系统状态监听(电量、蓝牙) systemStateMonitor.register() - // 启动加速度计抬手亮屏 - accelerometerWake.start() + // 加速度计抬手亮屏:当前硬件仅有基础加速度计(无陀螺仪), + // 无法可靠区分"看表"和"小幅摆动"(角度差仅~7°),暂不启用。 + // 待更换有陀螺仪的硬件后取消注释。 + // accelerometerWake.start() // 初始化通知横幅 notificationBanner = binding.notificationBanner @@ -76,7 +78,7 @@ class MainActivity : AppCompatActivity() { override fun onDestroy() { super.onDestroy() - accelerometerWake.stop() + // accelerometerWake.stop() // 与 start() 对应,暂不启用 systemStateMonitor.unregister() notificationBanner.destroy() } diff --git a/app/src/main/java/com/xiaoqu/watch/ui/punch/PunchViewModel.kt b/app/src/main/java/com/xiaoqu/watch/ui/punch/PunchViewModel.kt index c018fd6..1312124 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/punch/PunchViewModel.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/punch/PunchViewModel.kt @@ -98,10 +98,10 @@ class PunchViewModel @Inject constructor( Timber.d("考勤: 开始NFC打卡, punchType=$punchType") _uiState.update { it.copy(isNfcScanning = true, scanningPunchType = punchType) } - // 1. 暂停加速度计亮屏检测(防止贴卡姿势误触发熄屏) - accelerometerWake.pause() + // 加速度计亮屏暂不启用(硬件无陀螺仪),启用后取消注释 + // accelerometerWake.pause() - // 2. 开启 NFC + 音效 + // 1. 开启 NFC + 音效 nfcController.open() playFeedback(PLAN_NFC_OPEN) @@ -139,8 +139,8 @@ class PunchViewModel @Inject constructor( // 关闭 NFC 硬件(不播关闭音效,成功/失败音效由 API 结果决定) nfcController.stopScan() nfcController.close() - // 恢复加速度计亮屏检测 - accelerometerWake.resume() + // 加速度计亮屏暂不启用,启用后取消注释 + // accelerometerWake.resume() // 清除倒计时 _uiState.update { it.copy(nfcCountdown = 0) } @@ -244,13 +244,13 @@ class PunchViewModel @Inject constructor( _uiState.update { it.copy(punchResult = null, errorMessage = null) } } - /** 关闭 NFC 硬件 + 播放关闭音效 + 恢复加速度计 */ + /** 关闭 NFC 硬件 + 播放关闭音效 */ private fun closeNfc() { nfcController.stopScan() nfcController.close() playFeedback(PLAN_NFC_CLOSE) - // 恢复加速度计亮屏检测 - accelerometerWake.resume() + // 加速度计亮屏暂不启用,启用后取消注释 + // accelerometerWake.resume() } /** 播放震动+音效反馈 */ @@ -268,8 +268,8 @@ class PunchViewModel @Inject constructor( if (nfcController.isOpen()) { nfcController.stopScan() nfcController.close() - // 确保加速度计恢复(防止页面销毁时 NFC 未关闭导致永久暂停) - accelerometerWake.resume() + // 加速度计亮屏暂不启用,启用后取消注释 + // accelerometerWake.resume() } } } diff --git a/app/src/main/res/drawable/bg_btn_primary.xml b/app/src/main/res/drawable/bg_btn_primary.xml new file mode 100644 index 0000000..f696915 --- /dev/null +++ b/app/src/main/res/drawable/bg_btn_primary.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/bg_btn_secondary.xml b/app/src/main/res/drawable/bg_btn_secondary.xml new file mode 100644 index 0000000..6f8455e --- /dev/null +++ b/app/src/main/res/drawable/bg_btn_secondary.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +