mirror of
https://github.com/kkebo/DNSecure.git
synced 2026-03-11 08:54:36 +00:00
Revert #21
This commit is contained in:
parent
f6f4155648
commit
17bfcd4546
1 changed files with 51 additions and 47 deletions
|
|
@ -47,6 +47,7 @@ struct ContentView {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
self.servers.remove(atOffsets: indexSet)
|
self.servers.remove(atOffsets: indexSet)
|
||||||
|
self.saveSettings()
|
||||||
}
|
}
|
||||||
|
|
||||||
func moveServers(from src: IndexSet, to dst: Int) {
|
func moveServers(from src: IndexSet, to dst: Int) {
|
||||||
|
|
@ -55,55 +56,60 @@ struct ContentView {
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateStatus() {
|
func updateStatus() {
|
||||||
let manager = NEDNSSettingsManager.shared()
|
#if !targetEnvironment(simulator)
|
||||||
manager.loadFromPreferences {
|
let manager = NEDNSSettingsManager.shared()
|
||||||
if let err = $0 {
|
manager.loadFromPreferences {
|
||||||
logger.error("\(err.localizedDescription)")
|
if let err = $0 {
|
||||||
self.alert("Load Error", err.localizedDescription)
|
logger.error("\(err.localizedDescription)")
|
||||||
} else {
|
self.alert("Load Error", err.localizedDescription)
|
||||||
self.isEnabled = manager.isEnabled
|
} else {
|
||||||
|
self.isEnabled = manager.isEnabled
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
func saveSettings() {
|
func saveSettings() {
|
||||||
let manager = NEDNSSettingsManager.shared()
|
#if !targetEnvironment(simulator)
|
||||||
manager.loadFromPreferences { loadError in
|
let manager = NEDNSSettingsManager.shared()
|
||||||
if let loadError = loadError {
|
manager.loadFromPreferences { loadError in
|
||||||
logger.error("\(loadError.localizedDescription)")
|
if let loadError = loadError {
|
||||||
self.alert("Load Error", loadError.localizedDescription)
|
logger.error("\(loadError.localizedDescription)")
|
||||||
return
|
self.alert("Load Error", loadError.localizedDescription)
|
||||||
}
|
|
||||||
if let usedID = self.usedID,
|
|
||||||
let uuid = UUID(uuidString: usedID),
|
|
||||||
let server = self.servers.find(by: uuid) {
|
|
||||||
manager.dnsSettings = server.configuration.toDNSSettings()
|
|
||||||
manager.saveToPreferences { saveError in
|
|
||||||
if let saveError = saveError as NSError? {
|
|
||||||
guard saveError.domain != "NEConfigurationErrorDomain"
|
|
||||||
|| saveError.code != 9 else {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
logger.error("\(saveError.localizedDescription)")
|
|
||||||
self.alert("Save Error", saveError.localizedDescription)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
logger.debug("DNS settings was saved")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
guard manager.dnsSettings != nil else {
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
manager.removeFromPreferences { removeError in
|
if let usedID = self.usedID,
|
||||||
if let removeError = removeError {
|
let uuid = UUID(uuidString: usedID),
|
||||||
logger.error("\(removeError.localizedDescription)")
|
let server = self.servers.find(by: uuid) {
|
||||||
self.alert("Remove Error", removeError.localizedDescription)
|
manager.dnsSettings = server.configuration.toDNSSettings()
|
||||||
return
|
manager.saveToPreferences { saveError in
|
||||||
|
self.updateStatus()
|
||||||
|
if let saveError = saveError as NSError? {
|
||||||
|
guard saveError.domain != "NEConfigurationErrorDomain"
|
||||||
|
|| saveError.code != 9 else {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
self.usedID = nil
|
||||||
|
logger.error("\(saveError.localizedDescription)")
|
||||||
|
self.alert("Save Error", saveError.localizedDescription)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.debug("DNS settings was saved")
|
||||||
|
}
|
||||||
|
} else if manager.dnsSettings != nil {
|
||||||
|
self.usedID = nil
|
||||||
|
manager.removeFromPreferences { removeError in
|
||||||
|
self.updateStatus()
|
||||||
|
if let removeError = removeError {
|
||||||
|
logger.error("\(removeError.localizedDescription)")
|
||||||
|
self.alert("Remove Error", removeError.localizedDescription)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
logger.debug("DNS settings was removed")
|
||||||
}
|
}
|
||||||
logger.debug("DNS settings was removed")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
func alert(_ title: String, _ message: String) {
|
func alert(_ title: String, _ message: String) {
|
||||||
|
|
@ -125,6 +131,7 @@ extension ContentView: View {
|
||||||
get: { server },
|
get: { server },
|
||||||
set: {
|
set: {
|
||||||
self.servers[i] = $0
|
self.servers[i] = $0
|
||||||
|
self.saveSettings()
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
isOn: .init(
|
isOn: .init(
|
||||||
|
|
@ -133,6 +140,7 @@ extension ContentView: View {
|
||||||
},
|
},
|
||||||
set: {
|
set: {
|
||||||
self.usedID = $0 ? server.id.uuidString : nil
|
self.usedID = $0 ? server.id.uuidString : nil
|
||||||
|
self.saveSettings()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
@ -202,13 +210,9 @@ extension ContentView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.onChange(of: self.scenePhase) { phase in
|
.onChange(of: self.scenePhase) { phase in
|
||||||
#if !targetEnvironment(simulator)
|
if phase == .active {
|
||||||
if phase == .active {
|
self.updateStatus()
|
||||||
self.updateStatus()
|
}
|
||||||
} else {
|
|
||||||
self.saveSettings()
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue