refactor: 移除未使用的初始状态变量并简化恢复逻辑
- 删除未使用的 `initialTask` 等成员变量 - 直接从 savedInstanceState 恢复状态并立即处理特殊值 - 简化 `shouldAutoRechargeAfterIdleArrival` 方法,直接使用行为决策 - 移除特殊状态下已跳过的到达播报中的冗余充电调度调用
This commit is contained in:
@@ -88,14 +88,6 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
|||||||
private var lastArrivalLocation: String? = null
|
private var lastArrivalLocation: String? = null
|
||||||
private var lastArrivalAt: Long = 0L
|
private var lastArrivalAt: Long = 0L
|
||||||
|
|
||||||
private var initialTask: String = ""
|
|
||||||
private var initialReceptionLocation: String = ""
|
|
||||||
private var initialReceptionText: String = ""
|
|
||||||
private var initialReceptionDestination: String = ""
|
|
||||||
private var initialNotificationLocation: String = ""
|
|
||||||
private var initialNotificationText: String = ""
|
|
||||||
|
|
||||||
|
|
||||||
private var closeDoorJob: Job? = null
|
private var closeDoorJob: Job? = null
|
||||||
private var detectConfirmJob: Job? = null
|
private var detectConfirmJob: Job? = null
|
||||||
private var idleConfirmJob: Job? = null
|
private var idleConfirmJob: Job? = null
|
||||||
@@ -141,18 +133,16 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
|||||||
navCon = NavController(robot)
|
navCon = NavController(robot)
|
||||||
permissionManager = PermissionManager(robot)
|
permissionManager = PermissionManager(robot)
|
||||||
|
|
||||||
|
val restoredTask = (savedInstanceState?.getString("currentTask", "") ?: "")
|
||||||
|
.let { if (it == "special") "" else it }
|
||||||
|
val restoredReceptionLocation = savedInstanceState?.getString("receptionLocation", "") ?: ""
|
||||||
|
val restoredReceptionText = savedInstanceState?.getString("receptionText", "") ?: ""
|
||||||
|
val restoredReceptionDestination = savedInstanceState?.getString("receptionDestination", "") ?: ""
|
||||||
|
val restoredNotificationLocation = savedInstanceState?.getString("notificationLocation", "") ?: ""
|
||||||
|
val restoredNotificationText = savedInstanceState?.getString("notificationText", "") ?: ""
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
initialTask = savedInstanceState.getString("currentTask", "") ?: ""
|
|
||||||
initialReceptionLocation = savedInstanceState.getString("receptionLocation", "") ?: ""
|
|
||||||
initialReceptionText = savedInstanceState.getString("receptionText", "") ?: ""
|
|
||||||
initialReceptionDestination = savedInstanceState.getString("receptionDestination", "") ?: ""
|
|
||||||
initialNotificationLocation = savedInstanceState.getString("notificationLocation", "") ?: ""
|
|
||||||
initialNotificationText = savedInstanceState.getString("notificationText", "") ?: ""
|
|
||||||
lastArrivalLocation = savedInstanceState.getString("lastArrivalLocation")
|
lastArrivalLocation = savedInstanceState.getString("lastArrivalLocation")
|
||||||
}
|
}
|
||||||
if (initialTask == "special") {
|
|
||||||
initialTask = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
prefs = getSharedPreferences("app_prefs", Context.MODE_PRIVATE)
|
prefs = getSharedPreferences("app_prefs", Context.MODE_PRIVATE)
|
||||||
prefs.registerOnSharedPreferenceChangeListener(this)
|
prefs.registerOnSharedPreferenceChangeListener(this)
|
||||||
@@ -230,12 +220,12 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
taskController.restoreState(
|
taskController.restoreState(
|
||||||
initialTask,
|
restoredTask,
|
||||||
initialReceptionLocation,
|
restoredReceptionLocation,
|
||||||
initialReceptionText,
|
restoredReceptionText,
|
||||||
initialReceptionDestination,
|
restoredReceptionDestination,
|
||||||
initialNotificationLocation,
|
restoredNotificationLocation,
|
||||||
initialNotificationText
|
restoredNotificationText
|
||||||
)
|
)
|
||||||
|
|
||||||
binding.btnReception.setOnClickListener {
|
binding.btnReception.setOnClickListener {
|
||||||
@@ -440,9 +430,6 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
|||||||
val behavior = resolveBehaviorDecision()
|
val behavior = resolveBehaviorDecision()
|
||||||
if (behavior.skipArrivalAnnouncement) {
|
if (behavior.skipArrivalAnnouncement) {
|
||||||
Log.i("MainActivity", "Special state: arrival announcement skipped at $location.")
|
Log.i("MainActivity", "Special state: arrival announcement skipped at $location.")
|
||||||
if (behavior.allowAutoRecharge) {
|
|
||||||
scheduleAutoRechargeAfterIdleArrival()
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
val text = "已到达$location"
|
val text = "已到达$location"
|
||||||
@@ -784,11 +771,7 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun shouldAutoRechargeAfterIdleArrival(): Boolean {
|
private fun shouldAutoRechargeAfterIdleArrival(): Boolean {
|
||||||
if (isSpecialStateEnabled()) {
|
return resolveBehaviorDecision().allowAutoRecharge
|
||||||
return false
|
|
||||||
}
|
|
||||||
val task = taskController.currentTask.trim().lowercase()
|
|
||||||
return task.isEmpty() || task == "speech"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun resolveBehaviorDecision(): BehaviorDecision {
|
private fun resolveBehaviorDecision(): BehaviorDecision {
|
||||||
|
|||||||
Reference in New Issue
Block a user