feat(device-interaction): 加速度计抬手亮屏功能
REQ-20260430-0026 - 新增 AccelerometerWakeController 接口 + FiseAccelerometerWake 实现 - 双模式策略:方案D(WRIST_TILT)优先,不支持自动降级方案C(Z轴变化趋势) - 方案C防误触发:检测Z轴从低(<3)到高(≥6)的变化趋势,非简单阈值 - NFC打卡时 pause/resume 暂停检测,防止贴卡姿势误触发 - 熄屏交系统SCREEN_OFF_TIMEOUT管理,加速度计只管亮屏 - DeviceModule 增加 DI 绑定 - MainActivity 增加 start/stop 生命周期管理 - PunchViewModel 增加 NFC 开关时 pause/resume 调用 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||
import com.xiaoqu.watch.databinding.ActivityMainBinding
|
||||
import com.xiaoqu.watch.event.AppEvent
|
||||
import com.xiaoqu.watch.event.EventBus
|
||||
import com.xiaoqu.watch.device.sensor.AccelerometerWakeController
|
||||
import com.xiaoqu.watch.service.manager.NotificationManager
|
||||
import com.xiaoqu.watch.service.manager.SystemStateMonitor
|
||||
import com.xiaoqu.watch.ui.widget.NotificationBannerView
|
||||
@@ -34,6 +35,8 @@ class MainActivity : AppCompatActivity() {
|
||||
@Inject lateinit var systemStateMonitor: SystemStateMonitor
|
||||
@Inject lateinit var notificationManager: NotificationManager
|
||||
@Inject lateinit var eventBus: EventBus
|
||||
/** 加速度计抬手亮屏控制器 */
|
||||
@Inject lateinit var accelerometerWake: AccelerometerWakeController
|
||||
lateinit var notificationBanner: NotificationBannerView
|
||||
private val activityScope = CoroutineScope(Dispatchers.Main + SupervisorJob())
|
||||
|
||||
@@ -59,6 +62,9 @@ class MainActivity : AppCompatActivity() {
|
||||
// 注册系统状态监听(电量、蓝牙)
|
||||
systemStateMonitor.register()
|
||||
|
||||
// 启动加速度计抬手亮屏
|
||||
accelerometerWake.start()
|
||||
|
||||
// 初始化通知横幅
|
||||
notificationBanner = binding.notificationBanner
|
||||
|
||||
@@ -70,6 +76,7 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
accelerometerWake.stop()
|
||||
systemStateMonitor.unregister()
|
||||
notificationBanner.destroy()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user