Jonas Björkert 2 سال پیش
والد
کامیت
46408f9651
2فایلهای تغییر یافته به همراه38 افزوده شده و 35 حذف شده
  1. 14 11
      LoopFollow/Remote/RemoteView.swift
  2. 24 24
      LoopFollow/Remote/RemoteViewController.swift

+ 14 - 11
LoopFollow/Remote/RemoteView.swift

@@ -143,24 +143,27 @@ struct RemoteView: View {
     private func enactTempTarget() {
         isLoading = true
         sendTempTarget(newHKTarget, duration) { success in
-            isLoading = false
-            if success {
-                statusMessage.value = "Target successfully enacted."
-            } else {
-                statusMessage.value = "Failed to enact target."
+            DispatchQueue.main.async {
+                isLoading = false
+                if success {
+                    statusMessage.value = "Target successfully enacted."
+                } else {
+                    statusMessage.value = "Failed to enact target."
+                }
             }
         }
     }
 
     private func cancelTempTarget() {
         isLoading = true
-        let zeroDuration = HKQuantity(unit: .minute(), doubleValue: 0.0)
         onCancelExistingTarget() { success in
-            isLoading = false
-            if success {
-                statusMessage.value = "Temp target successfully cancelled."
-            } else {
-                statusMessage.value = "Failed to cancel temp target."
+            DispatchQueue.main.async {
+                isLoading = false
+                if success {
+                    statusMessage.value = "Temp target successfully cancelled."
+                } else {
+                    statusMessage.value = "Failed to cancel temp target."
+                }
             }
         }
     }

+ 24 - 24
LoopFollow/Remote/RemoteViewController.swift

@@ -60,19 +60,19 @@ class RemoteViewController: UIViewController {
             "created_at": ISO8601DateFormatter().string(from: Date())
         ]
 
-        NightscoutUtils.executePostRequest(eventType: .treatments, body: tempTargetBody) { (result: Result<[TreatmentCancelResponse], Error>) in
-            switch result {
-            case .success(let response):
-                print("Success: \(response)")
+        DispatchQueue.global(qos: .userInitiated).async {
+            NightscoutUtils.executePostRequest(eventType: .treatments, body: tempTargetBody) { (result: Result<[TreatmentCancelResponse], Error>) in
                 DispatchQueue.main.async {
-                    self.statusMessage.set("Temp target successfully cancelled.")
-                    completion(true)
-                }
-            case .failure(let error):
-                print("Error: \(error)")
-                DispatchQueue.main.async {
-                    self.statusMessage.set("Failed to cancel temp target: \(error.localizedDescription)")
-                    completion(false)
+                    switch result {
+                    case .success(let response):
+                        print("Success: \(response)")
+                        self.statusMessage.set("Temp target successfully cancelled.")
+                        completion(true)
+                    case .failure(let error):
+                        print("Error: \(error)")
+                        self.statusMessage.set("Failed to cancel temp target: \(error.localizedDescription)")
+                        completion(false)
+                    }
                 }
             }
         }
@@ -89,19 +89,19 @@ class RemoteViewController: UIViewController {
             "created_at": ISO8601DateFormatter().string(from: Date())
         ]
 
-        NightscoutUtils.executePostRequest(eventType: .treatments, body: tempTargetBody) { (result: Result<[TreatmentResponse], Error>) in
-            switch result {
-            case .success(let response):
-                print("Success: \(response)")
-                DispatchQueue.main.async {
-                    self.statusMessage.set("Temp target sent successfully.")
-                    completion(true)
-                }
-            case .failure(let error):
-                print("Error: \(error)")
+        DispatchQueue.global(qos: .userInitiated).async {
+            NightscoutUtils.executePostRequest(eventType: .treatments, body: tempTargetBody) { (result: Result<[TreatmentResponse], Error>) in
                 DispatchQueue.main.async {
-                    self.statusMessage.set("Failed to send temp target: \(error.localizedDescription)")
-                    completion(false)
+                    switch result {
+                    case .success(let response):
+                        print("Success: \(response)")
+                        self.statusMessage.set("Temp target sent successfully.")
+                        completion(true)
+                    case .failure(let error):
+                        print("Error: \(error)")
+                        self.statusMessage.set("Failed to send temp target: \(error.localizedDescription)")
+                        completion(false)
+                    }
                 }
             }
         }