|
|
@ -27,6 +27,10 @@ class AgentServiceImpl: NSObject { |
|
|
|
|
|
|
|
|
static let shared = AgentServiceImpl() |
|
|
static let shared = AgentServiceImpl() |
|
|
|
|
|
|
|
|
|
|
|
// UserDefaults 相关常量 |
|
|
|
|
|
private let PREF_NAME = "agent_service_prefs" |
|
|
|
|
|
private let KEY_IS_INTERRUPT = "is_interrupt" |
|
|
|
|
|
|
|
|
private var listeners = [AgentServiceListener]() |
|
|
private var listeners = [AgentServiceListener]() |
|
|
private let listenersLock = NSLock() |
|
|
private let listenersLock = NSLock() |
|
|
|
|
|
|
|
|
@ -252,6 +256,8 @@ class AgentServiceImpl: NSObject { |
|
|
|
|
|
|
|
|
if isInitialized { |
|
|
if isInitialized { |
|
|
loadChatHistory() |
|
|
loadChatHistory() |
|
|
|
|
|
// 从 UserDefaults 加载 isInterrupt 状态 |
|
|
|
|
|
loadIsInterruptFromCache() |
|
|
} |
|
|
} |
|
|
LocationService.shared.getCurrentLocation() { location in |
|
|
LocationService.shared.getCurrentLocation() { location in |
|
|
// self.locationInfo = location |
|
|
// self.locationInfo = location |
|
|
@ -2238,4 +2244,25 @@ extension AgentServiceImpl: AzureAsrHelper.ContinuousRecognizeCallback { |
|
|
stopRequestedDuringStart = false |
|
|
stopRequestedDuringStart = false |
|
|
stopIdleCheck() |
|
|
stopIdleCheck() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// MARK: - isInterrupt 缓存方法 |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 从 UserDefaults 加载 isInterrupt 状态 |
|
|
|
|
|
*/ |
|
|
|
|
|
private func loadIsInterruptFromCache() { |
|
|
|
|
|
let userDefaults = UserDefaults.standard |
|
|
|
|
|
let cachedValue = userDefaults.bool(forKey: KEY_IS_INTERRUPT) // 默认值为 false |
|
|
|
|
|
isInterrupt = cachedValue |
|
|
|
|
|
os_log("从缓存加载 isInterrupt 状态: %{public}@", log: logger, type: .info, String(isInterrupt)) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 保存 isInterrupt 状态到 UserDefaults |
|
|
|
|
|
*/ |
|
|
|
|
|
func saveIsInterruptToCache(_ isInterrupt: Bool) { |
|
|
|
|
|
let userDefaults = UserDefaults.standard |
|
|
|
|
|
userDefaults.set(isInterrupt, forKey: KEY_IS_INTERRUPT) |
|
|
|
|
|
os_log("保存 isInterrupt 状态到缓存: %{public}@", log: logger, type: .info, String(isInterrupt)) |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|