diff --git a/app/src/main/java/com/xiaoqu/watch/device/sensor/FiseVibrationController.kt b/app/src/main/java/com/xiaoqu/watch/device/sensor/FiseVibrationController.kt index 8a3264c..4d3a324 100644 --- a/app/src/main/java/com/xiaoqu/watch/device/sensor/FiseVibrationController.kt +++ b/app/src/main/java/com/xiaoqu/watch/device/sensor/FiseVibrationController.kt @@ -122,8 +122,8 @@ class FiseVibrationController @Inject constructor( */ @Suppress("DEPRECATION") private suspend fun executePatternLoop(pattern: VibrationPattern) { - val vibrateDurationMs = pattern.shockTime * 1000L - val intervalMs = pattern.shockIntervalTime * 1000L + val vibrateDurationMs = (pattern.shockTime * 1000).toLong() + val intervalMs = (pattern.shockIntervalTime * 1000).toLong() // 外层循环:频次循环 for (cycle in 0 until pattern.shockCycleTimes) { diff --git a/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationConfigManager.kt b/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationConfigManager.kt index 43884f0..69f109e 100644 --- a/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationConfigManager.kt +++ b/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationConfigManager.kt @@ -77,9 +77,9 @@ class VibrationConfigManager @Inject constructor() { serverParams[planId] = VibrationPattern( planId = planId, planName = obj.optString("planName", ""), - shockTime = obj.optInt("shockTime", 1), + shockTime = obj.optDouble("shockTime", 1.0).toFloat(), shockTimes = obj.optInt("shockTimes", 1), - shockIntervalTime = obj.optInt("shockIntervalTime", 0), + shockIntervalTime = obj.optDouble("shockIntervalTime", 0.0).toFloat(), shockCycleTimes = obj.optInt("shockCycleTimes", 1), shockState = obj.optInt("shockState", 1) == 1, voiceState = obj.optInt("voiceState", 1) == 1, diff --git a/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationPattern.kt b/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationPattern.kt index 5aecb14..8e29cfc 100644 --- a/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationPattern.kt +++ b/app/src/main/java/com/xiaoqu/watch/device/sensor/VibrationPattern.kt @@ -12,12 +12,12 @@ data class VibrationPattern( val planId: Int, /** 方案名称 */ val planName: String, - /** 单次振动时长(秒) */ - val shockTime: Int, + /** 单次振动时长(秒,支持小数如 0.5) */ + val shockTime: Float, /** 每频次振动次数 */ val shockTimes: Int, - /** 振动间休息时长(秒) */ - val shockIntervalTime: Int, + /** 振动间休息时长(秒,支持小数如 0.5) */ + val shockIntervalTime: Float, /** 频次循环次数 */ val shockCycleTimes: Int, /** 是否启用振动 */