Просмотр исходного кода

Hardened dexcom share and removed dead code

Jonas Björkert 2 лет назад
Родитель
Сommit
5dba18ded8

+ 24 - 30
LoopFollow/Controllers/Nightscout/BGData.swift

@@ -17,37 +17,35 @@ extension MainViewController {
         let count = graphHours * 12
         let count = graphHours * 12
         dexShare?.fetchData(count) { (err, result) -> () in
         dexShare?.fetchData(count) { (err, result) -> () in
             
             
-            // TODO: add error checking
-            if(err == nil) {
-                let data = result!
+            if let error = err {
+                print("Error fetching Dexcom data: \(error.localizedDescription)")
                 
                 
-                // If Dex data is old, load from NS instead
-                let latestDate = data[0].date
-                let now = dateTimeUtils.getNowTimeIntervalUTC()
-                if (latestDate + 330) < now && UserDefaultsRepository.url.value != "" {
-                    self.webLoadNSBGData()
-                    print("dex didn't load, triggered NS attempt")
-                    return
-                }
-                
-                // Dexcom only returns 24 hrs of data. If we need more, call NS.
-                if graphHours > 24 && UserDefaultsRepository.url.value != "" {
-                    self.webLoadNSBGData(dexData: data)
-                } else {
-                    self.ProcessDexBGData(data: data, sourceName: "Dexcom")
-                }
-            } else {
                 // If we get an error, immediately try to pull NS BG Data
                 // If we get an error, immediately try to pull NS BG Data
                 if UserDefaultsRepository.url.value != "" {
                 if UserDefaultsRepository.url.value != "" {
                     self.webLoadNSBGData()
                     self.webLoadNSBGData()
                 }
                 }
-                
-                if globalVariables.dexVerifiedAlert < dateTimeUtils.getNowTimeIntervalUTC() + 300 {
-                    globalVariables.dexVerifiedAlert = dateTimeUtils.getNowTimeIntervalUTC()
-                    DispatchQueue.main.async {
-                        //self.sendNotification(title: "Dexcom Share Error", body: "Please double check user name and password, internet connection, and sharing status.")
-                    }
-                }
+                return
+            }
+            
+            guard let data = result else {
+                print("Received nil data from Dexcom")
+                return
+            }
+            
+            // If Dex data is old, load from NS instead
+            let latestDate = data[0].date
+            let now = dateTimeUtils.getNowTimeIntervalUTC()
+            if (latestDate + 330) < now && UserDefaultsRepository.url.value != "" {
+                self.webLoadNSBGData()
+                print("Dex data is old, loading from NS instead")
+                return
+            }
+            
+            // Dexcom only returns 24 hrs of data. If we need more, call NS.
+            if graphHours > 24 && UserDefaultsRepository.url.value != "" {
+                self.webLoadNSBGData(dexData: data)
+            } else {
+                self.ProcessDexBGData(data: data, sourceName: "Dexcom")
             }
             }
         }
         }
     }
     }
@@ -115,10 +113,6 @@ extension MainViewController {
                 }
                 }
             case .failure(let error):
             case .failure(let error):
                 print("Failed to fetch data: \(error)")
                 print("Failed to fetch data: \(error)")
-                if globalVariables.nsVerifiedAlert < dateTimeUtils.getNowTimeIntervalUTC() + 300 {
-                    globalVariables.nsVerifiedAlert = dateTimeUtils.getNowTimeIntervalUTC()
-                    //self.sendNotification(title: "Nightscout Error", body: "Please double check url, token, and internet connection. This may also indicate a temporary Nightscout issue")
-                }
                 DispatchQueue.main.async {
                 DispatchQueue.main.async {
                     if self.bgTimer.isValid {
                     if self.bgTimer.isValid {
                         self.bgTimer.invalidate()
                         self.bgTimer.invalidate()

+ 0 - 4
LoopFollow/Controllers/Nightscout/DeviceStatus.swift

@@ -36,10 +36,6 @@ extension MainViewController {
     }
     }
     
     
     private func handleDeviceStatusError() {
     private func handleDeviceStatusError() {
-        if globalVariables.nsVerifiedAlert < dateTimeUtils.getNowTimeIntervalUTC() + 300 {
-            globalVariables.nsVerifiedAlert = dateTimeUtils.getNowTimeIntervalUTC()
-            //self.sendNotification(title: "Nightscout Error", body: "Please double check url, token, and internet connection. This may also indicate a temporary Nightscout issue")
-        }
         DispatchQueue.main.async {
         DispatchQueue.main.async {
             if self.deviceStatusTimer.isValid {
             if self.deviceStatusTimer.isValid {
                 self.deviceStatusTimer.invalidate()
                 self.deviceStatusTimer.invalidate()

+ 0 - 2
LoopFollow/ViewControllers/MainViewController.swift

@@ -69,7 +69,6 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele
     var defaults : UserDefaults?
     var defaults : UserDefaults?
     let consoleLogging = true
     let consoleLogging = true
     var timeofLastBGUpdate = 0 as TimeInterval
     var timeofLastBGUpdate = 0 as TimeInterval
-    var nsVerifiedAlerted = false
     var currentSage : sageData?
     var currentSage : sageData?
     var currentCage : cageData?
     var currentCage : cageData?
 
 
@@ -137,7 +136,6 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele
     // share
     // share
     var bgDataShare: [ShareGlucoseData] = []
     var bgDataShare: [ShareGlucoseData] = []
     var dexShare: ShareClient?;
     var dexShare: ShareClient?;
-    var dexVerifiedAlerted = false
     
     
     // calendar setup
     // calendar setup
     let store = EKEventStore()
     let store = EKEventStore()

+ 0 - 4
LoopFollow/ViewControllers/SettingsViewController.swift

@@ -126,7 +126,6 @@ class SettingsViewController: FormViewController {
            }
            }
 
 
            self.showHideNSDetails()
            self.showHideNSDetails()
-           globalVariables.nsVerifiedAlert = 0
 
 
            // Verify Nightscout URL and token
            // Verify Nightscout URL and token
            self.checkNightscoutStatus()
            self.checkNightscoutStatus()
@@ -148,7 +147,6 @@ class SettingsViewController: FormViewController {
            }
            }
            guard let value = row.value else { return }
            guard let value = row.value else { return }
            UserDefaultsRepository.token.value = value
            UserDefaultsRepository.token.value = value
-           globalVariables.nsVerifiedAlert = 0
            
            
            // Verify Nightscout URL and token
            // Verify Nightscout URL and token
            self.checkNightscoutStatus()
            self.checkNightscoutStatus()
@@ -179,7 +177,6 @@ class SettingsViewController: FormViewController {
             }
             }
             guard let value = row.value else { return }
             guard let value = row.value else { return }
             UserDefaultsRepository.shareUserName.value = value
             UserDefaultsRepository.shareUserName.value = value
-            globalVariables.dexVerifiedAlert = 0
         }
         }
         <<< TextRow(){ row in
         <<< TextRow(){ row in
             row.title = "Password"
             row.title = "Password"
@@ -195,7 +192,6 @@ class SettingsViewController: FormViewController {
             }
             }
             guard let value = row.value else { return }
             guard let value = row.value else { return }
             UserDefaultsRepository.sharePassword.value = value
             UserDefaultsRepository.sharePassword.value = value
-            globalVariables.dexVerifiedAlert = 0
         }
         }
         <<< SegmentedRow<String>("shareServer") { row in
         <<< SegmentedRow<String>("shareServer") { row in
             row.title = "Server"
             row.title = "Server"

+ 0 - 5
LoopFollow/helpers/Globals.swift

@@ -12,14 +12,9 @@ import Foundation
 struct globalVariables {
 struct globalVariables {
     static var debugLog = ""
     static var debugLog = ""
     
     
-    static var dexVerifiedAlert: TimeInterval = 0
-    static var nsVerifiedAlert: TimeInterval = 0
-    
     // Graph Settings
     // Graph Settings
     static let dotBG: Float = 3
     static let dotBG: Float = 3
     static let dotCarb: Float = 5
     static let dotCarb: Float = 5
     static let dotBolus: Float = 5
     static let dotBolus: Float = 5
     static let dotOther: Float = 5
     static let dotOther: Float = 5
-    
-    
 }
 }