Issue #3: Load selected blocklist from Settings. Load configured DoH from system. Update UI accordingly.
This commit is contained in:
parent
6cbad66a87
commit
8c1716de77
1 changed files with 34 additions and 0 deletions
|
|
@ -36,6 +36,40 @@ class ViewModel: NSObject, ObservableObject {
|
||||||
private let log = Logger(subsystem: String(describing: ViewModel.self), category: String(describing: ViewModel.self))
|
private let log = Logger(subsystem: String(describing: ViewModel.self), category: String(describing: ViewModel.self))
|
||||||
|
|
||||||
|
|
||||||
|
override init() {
|
||||||
|
super.init()
|
||||||
|
|
||||||
|
isProgrammaticChange = true
|
||||||
|
blocklist = Settings.blocklist
|
||||||
|
|
||||||
|
Task {
|
||||||
|
do {
|
||||||
|
try await manager.loadFromPreferences()
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
log.error("Error loading preferences: \(error)")
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if let settings = manager.dnsSettings {
|
||||||
|
for dnsServer in BlocklistOption.allCases {
|
||||||
|
if settings.servers.contains(dnsServer.ipv4) {
|
||||||
|
await MainActor.run {
|
||||||
|
isProgrammaticChange = true
|
||||||
|
blocklist = dnsServer
|
||||||
|
isProgrammaticChange = true
|
||||||
|
isDnsEnabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
func toggleDns() {
|
func toggleDns() {
|
||||||
guard !isProgrammaticChange else {
|
guard !isProgrammaticChange else {
|
||||||
// Reset, so next one is recognized as coming from the user again.
|
// Reset, so next one is recognized as coming from the user again.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue