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 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 detectConfirmJob: Job? = null
|
||||
private var idleConfirmJob: Job? = null
|
||||
@@ -141,18 +133,16 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
||||
navCon = NavController(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) {
|
||||
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")
|
||||
}
|
||||
if (initialTask == "special") {
|
||||
initialTask = ""
|
||||
}
|
||||
|
||||
prefs = getSharedPreferences("app_prefs", Context.MODE_PRIVATE)
|
||||
prefs.registerOnSharedPreferenceChangeListener(this)
|
||||
@@ -230,12 +220,12 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
||||
}
|
||||
)
|
||||
taskController.restoreState(
|
||||
initialTask,
|
||||
initialReceptionLocation,
|
||||
initialReceptionText,
|
||||
initialReceptionDestination,
|
||||
initialNotificationLocation,
|
||||
initialNotificationText
|
||||
restoredTask,
|
||||
restoredReceptionLocation,
|
||||
restoredReceptionText,
|
||||
restoredReceptionDestination,
|
||||
restoredNotificationLocation,
|
||||
restoredNotificationText
|
||||
)
|
||||
|
||||
binding.btnReception.setOnClickListener {
|
||||
@@ -440,9 +430,6 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
||||
val behavior = resolveBehaviorDecision()
|
||||
if (behavior.skipArrivalAnnouncement) {
|
||||
Log.i("MainActivity", "Special state: arrival announcement skipped at $location.")
|
||||
if (behavior.allowAutoRecharge) {
|
||||
scheduleAutoRechargeAfterIdleArrival()
|
||||
}
|
||||
return
|
||||
}
|
||||
val text = "已到达$location"
|
||||
@@ -784,11 +771,7 @@ class MainActivity : AppCompatActivity(), OnRobotReadyListener, TtsListener, OnG
|
||||
}
|
||||
|
||||
private fun shouldAutoRechargeAfterIdleArrival(): Boolean {
|
||||
if (isSpecialStateEnabled()) {
|
||||
return false
|
||||
}
|
||||
val task = taskController.currentTask.trim().lowercase()
|
||||
return task.isEmpty() || task == "speech"
|
||||
return resolveBehaviorDecision().allowAutoRecharge
|
||||
}
|
||||
|
||||
private fun resolveBehaviorDecision(): BehaviorDecision {
|
||||
|
||||
Reference in New Issue
Block a user