Parcourir la source

Add: Option to Auto-Snooze CGM Start for 2 Hours

Jon Fawcett il y a 4 ans
Parent
commit
f5494b615b

+ 10 - 0
LoopFollow/Controllers/NightScout.swift

@@ -733,6 +733,16 @@ extension MainViewController {
                                    .withDashSeparatorInDate,
                                    .withColonSeparatorInTime]
         UserDefaultsRepository.alertSageInsertTime.value = formatter.date(from: (lastSageString))?.timeIntervalSince1970 as! TimeInterval
+
+        if UserDefaultsRepository.alertAutoSnoozeCGMStart.value && (dateTimeUtils.getNowTimeIntervalUTC() - UserDefaultsRepository.alertSageInsertTime.value < 7200){
+            let snoozeTime = Date(timeIntervalSince1970: UserDefaultsRepository.alertSageInsertTime.value + 7200)
+            UserDefaultsRepository.alertSnoozeAllTime.value = snoozeTime
+            UserDefaultsRepository.alertSnoozeAllIsSnoozed.value = true
+            guard let alarms = self.tabBarController!.viewControllers?[1] as? AlarmViewController else { return }
+            alarms.reloadIsSnoozed(key: "alertSnoozeAllIsSnoozed", value: true)
+            alarms.reloadSnoozeTime(key: "alertSnoozeAllTime", setNil: false, value: snoozeTime)
+        }
+        
         if let sageTime = formatter.date(from: (lastSageString as! String))?.timeIntervalSince1970 {
             let now = dateTimeUtils.getNowTimeIntervalUTC()
             let secondsAgo = now - sageTime

+ 8 - 1
LoopFollow/ViewControllers/AlarmViewController.swift

@@ -3186,7 +3186,7 @@ class AlarmViewController: FormViewController {
 
     func buildAlarmSettings() {
            form
-            +++ Section(header: "Alarm Sound Settings", footer: "")
+            +++ Section(header: "Alarm Settings", footer: "")
            
             <<< SwitchRow("overrideSystemOutputVolume"){ row in
                 row.title = "Override System Volume"
@@ -3224,6 +3224,13 @@ class AlarmViewController: FormViewController {
                         guard let value = row.value else { return }
                         UserDefaultsRepository.alertIgnoreZero.value = value
                 }
+        <<< SwitchRow("alertAutoSnoozeCGMStart"){ row in
+            row.title = "Auto-Snooze CGM Start"
+            row.value = UserDefaultsRepository.alertAutoSnoozeCGMStart.value
+        }.onChange { [weak self] row in
+                    guard let value = row.value else { return }
+                    UserDefaultsRepository.alertAutoSnoozeCGMStart.value = value
+            }
             
              +++ Section(header: "Night Time Settings", footer: "Night time hours are used to differ how alerts are managed during the day and at night.  For instance, automatically snooze, at night time, non-critical alerts that you do not wish to be awakened for such as a sensor change pre-alert.")  { row in
                 row.tag = "quietHourSection"

+ 1 - 0
LoopFollow/repository/UserDefaults.swift

@@ -121,6 +121,7 @@ class UserDefaultsRepository {
     
     static let alertIgnoreZero = UserDefaultsValue<Bool>(key: "alertIgnoreZero", default: true)
     static let alertAudioDuringPhone = UserDefaultsValue<Bool>(key: "alertAudioDuringPhone", default: true)
+    static let alertAutoSnoozeCGMStart = UserDefaultsValue<Bool>(key: "alertAutoSnoozeCGMStart", default: false)
     
     static let alertCageInsertTime = UserDefaultsValue<TimeInterval>(key: "alertCageInsertTime", default: 0)
     static let alertSageInsertTime = UserDefaultsValue<TimeInterval>(key: "alertSageInsertTime", default: 0)