diff --git a/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt b/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt index 57a803c..983b3ce 100644 --- a/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt +++ b/app/src/main/java/com/example/lzwcai_terminal_temi/MainActivity.kt @@ -749,7 +749,7 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG } private fun scheduleAutoRechargeAfterIdleArrival() { - if (taskController.currentTask.isNotEmpty()) { + if (!isAutoRechargeAllowedTask()) { return } if (robotEventHandler.normalizeLocation(lastArrivalLocation) == "homebase") { @@ -758,7 +758,7 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG autoRechargeJob?.cancel() autoRechargeJob = mainScope.launch { delay(10_000L) - if (taskController.currentTask.isNotEmpty()) { + if (!isAutoRechargeAllowedTask()) { return@launch } if (robotEventHandler.normalizeLocation(lastArrivalLocation) == "homebase") { @@ -769,6 +769,11 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG } } + private fun isAutoRechargeAllowedTask(): Boolean { + val task = taskController.currentTask.trim().lowercase() + return task.isEmpty() || task == "speech" + } + private fun cancelAutoRecharge(reason: String) { if (autoRechargeJob?.isActive == true) { Log.i("MainActivity", "Auto recharge canceled: $reason")