2025-12-19 23:12:52 +01:00
|
|
|
import Foundation
|
|
|
|
|
|
2026-01-19 04:50:07 +00:00
|
|
|
enum GatewayDiscoveryPreferences {
|
|
|
|
|
private static let preferredStableIDKey = "gateway.preferredStableID"
|
|
|
|
|
private static let legacyPreferredStableIDKey = "bridge.preferredStableID"
|
2025-12-19 23:12:52 +01:00
|
|
|
|
|
|
|
|
static func preferredStableID() -> String? {
|
2026-01-19 04:50:07 +00:00
|
|
|
let defaults = UserDefaults.standard
|
|
|
|
|
let raw = defaults.string(forKey: self.preferredStableIDKey)
|
|
|
|
|
?? defaults.string(forKey: self.legacyPreferredStableIDKey)
|
2025-12-19 23:12:52 +01:00
|
|
|
let trimmed = raw?.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
|
|
|
return trimmed?.isEmpty == false ? trimmed : nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static func setPreferredStableID(_ stableID: String?) {
|
|
|
|
|
let trimmed = stableID?.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
|
|
|
if let trimmed, !trimmed.isEmpty {
|
|
|
|
|
UserDefaults.standard.set(trimmed, forKey: self.preferredStableIDKey)
|
2026-01-19 04:50:07 +00:00
|
|
|
UserDefaults.standard.removeObject(forKey: self.legacyPreferredStableIDKey)
|
2025-12-19 23:12:52 +01:00
|
|
|
} else {
|
|
|
|
|
UserDefaults.standard.removeObject(forKey: self.preferredStableIDKey)
|
2026-01-19 04:50:07 +00:00
|
|
|
UserDefaults.standard.removeObject(forKey: self.legacyPreferredStableIDKey)
|
2025-12-19 23:12:52 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|