Forráskód Böngészése

iOS 16 and stale bg

Jonas Björkert 1 éve
szülő
commit
7309f162b0

+ 2 - 0
LoopFollow.xcodeproj/project.pbxproj

@@ -1948,6 +1948,7 @@
 				DEFINES_MODULE = YES;
 				DEVELOPMENT_TEAM = "$(LF_DEVELOPMENT_TEAM)";
 				INFOPLIST_FILE = LoopFollow/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 16.6;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -1970,6 +1971,7 @@
 				DEFINES_MODULE = YES;
 				DEVELOPMENT_TEAM = "$(LF_DEVELOPMENT_TEAM)";
 				INFOPLIST_FILE = LoopFollow/Info.plist;
+				IPHONEOS_DEPLOYMENT_TARGET = 16.6;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",

+ 3 - 3
LoopFollow/Controllers/Alarms.swift

@@ -672,7 +672,7 @@ extension MainViewController {
         if !UserDefaultsRepository.alertAudioDuringPhone.value && isOnPhoneCall() { audioDuringCall = false }
         
         guard let snoozer = self.tabBarController!.viewControllers?[2] as? SnoozeViewController else { return }
-        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: latestDeltaString, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
+        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: Observable.shared.deltaText.value, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
         if audio && !UserDefaultsRepository.alertMuteAllIsMuted.value && audioDuringCall{
             AlarmSound.setSoundFile(str: sound)
             AlarmSound.play(overrideVolume: overrideVolume, numLoops: numLoops)
@@ -688,7 +688,7 @@ extension MainViewController {
         if !UserDefaultsRepository.alertAudioDuringPhone.value && isOnPhoneCall() { audioDuringCall = false }
         
         guard let snoozer = self.tabBarController!.viewControllers?[2] as? SnoozeViewController else { return }
-        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: latestDeltaString, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
+        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: Observable.shared.deltaText.value, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
         snoozer.SnoozeButton.isHidden = false
         snoozer.AlertLabel.isHidden = false
         snoozer.clockLabel.isHidden = true
@@ -721,7 +721,7 @@ extension MainViewController {
         
         AlarmSound.whichAlarm = "none"
         guard let snoozer = self.tabBarController!.viewControllers?[2] as? SnoozeViewController else { return }
-        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: latestDeltaString, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
+        snoozer.updateDisplayWhenTriggered(bgVal: Localizer.toDisplayUnits(String(bgData[bgData.count - 1].sgv)), directionVal: Observable.shared.directionText.value, deltaVal: Observable.shared.deltaText.value, minAgoVal: Observable.shared.minAgoText.value, alertLabelVal: AlarmSound.whichAlarm)
         snoozer.SnoozeButton.isHidden = true
         snoozer.AlertLabel.isHidden = true
         if AlarmSound.isPlaying {

+ 3 - 15
LoopFollow/Controllers/Nightscout/BGData.swift

@@ -240,8 +240,6 @@ extension MainViewController {
             let deltaTime = (TimeInterval(Date().timeIntervalSince1970) - lastBGTime) / 60
             self.updateServerText(with: sourceName)
 
-            var snoozerDelta = ""
-
             // Set BGText with the latest BG value
             self.setBGTextColor()
 
@@ -257,13 +255,10 @@ extension MainViewController {
 
             // Delta handling
             if deltaBG < 0 {
-                self.latestDeltaString = Localizer.toDisplayUnits(String(deltaBG))
-
+                Observable.shared.deltaText.value = Localizer.toDisplayUnits(String(deltaBG))
             } else {
-                self.latestDeltaString = "+" + Localizer.toDisplayUnits(String(deltaBG))
+                Observable.shared.deltaText.value = "+" + Localizer.toDisplayUnits(String(deltaBG))
             }
-            self.DeltaText.text = self.latestDeltaString
-            snoozerDelta = self.latestDeltaString
 
             // Apply strikethrough to BGText based on the staleness of the data
             let bgTextStr = self.BGText.text ?? ""
@@ -278,20 +273,13 @@ extension MainViewController {
             }
             self.BGText.attributedText = attributeString
 
-            // Snoozer Display
-            /*
-             TODO
-            guard let snoozer = self.tabBarController!.viewControllers?[2] as? SnoozeViewController else { return }
-            snoozer.DirectionLabel.text = snoozerDirection
-            snoozer.DeltaLabel.text = snoozerDelta
-*/
             // Update contact
             if Storage.shared.contactEnabled.value {
                 self.contactImageUpdater
                     .updateContactImage(
                         bgValue: bgTextStr,
                         trend: Observable.shared.directionText.value,
-                        delta: snoozerDelta,
+                        delta: Observable.shared.deltaText.value,
                         stale: deltaTime >= 12
                     )
             }

+ 10 - 4
LoopFollow/Snoozer/SnoozerView.swift

@@ -11,8 +11,10 @@ import SwiftUI
 struct SnoozerView: View {
     @ObservedObject var minAgoText = Observable.shared.minAgoText
     @ObservedObject var bgText = Observable.shared.bgText
-    @ObservedObject var bgTextcolor = Observable.shared.bgTextColor
+    @ObservedObject var bgTextColor = Observable.shared.bgTextColor
     @ObservedObject var directionText = Observable.shared.directionText
+    @ObservedObject var deltaText = Observable.shared.deltaText
+    @ObservedObject var bgStale = Observable.shared.bgStale
 
     @Binding var snoozeMinutes: Int
     var onSnooze: () -> Void
@@ -23,12 +25,16 @@ struct SnoozerView: View {
                 .edgesIgnoringSafeArea(.all)
 
             VStack(spacing: 0) {
-                // MARK: Main numbers block
                 VStack(spacing: 0) {
                     Text(bgText.value)
                         .font(.system(size: 220, weight: .black))
                         .minimumScaleFactor(0.5)
-                        .foregroundColor(Observable.shared.bgTextColor.value)
+                        .foregroundColor(bgTextColor.value)
+                        .strikethrough(
+                            bgStale.value,
+                            pattern: .solid,
+                            color: bgStale.value ? .red : .clear
+                        )
                         .frame(maxWidth: .infinity, maxHeight: 167)
 
                     Text(directionText.value)
@@ -37,7 +43,7 @@ struct SnoozerView: View {
                         .foregroundColor(.white)
                         .frame(maxWidth: .infinity, maxHeight: 96)
 
-                    Text(""/*deltaValue.value*/)
+                    Text(deltaText.value)
                         .font(.system(size: 70))
                         .minimumScaleFactor(0.5)
                         .foregroundColor(.white.opacity(0.8))

+ 1 - 2
LoopFollow/Storage/Observable.swift

@@ -19,8 +19,7 @@ class Observable {
 
     var minAgoText = ObservableValue<String>(default: "?? min ago")
     var bgText = ObservableValue<String>(default: "BG")
-    //TODO
-    var bgTextStale = ObservableValue<Bool>(default: true)
+    var bgStale = ObservableValue<Bool>(default: true)
     var bgTextColor = ObservableValue<Color>(default: .yellow)
     var directionText = ObservableValue<String>(default: "-")
     var deltaText = ObservableValue<String>(default: "+0")

+ 8 - 3
LoopFollow/ViewControllers/MainViewController.swift

@@ -107,7 +107,6 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele
     var deviceBatteryData: [DataStructs.batteryStruct] = []
     var newBGPulled = false
     var lastCalDate: Double = 0
-    var latestDeltaString = ""
     var latestLoopStatusString = ""
     var latestCOB: CarbMetric?
     var latestBasal = ""
@@ -246,13 +245,19 @@ class MainViewController: UIViewController, UITableViewDataSource, ChartViewDele
             }
             .store(in: &cancellables)
 
-        Observable.shared.directionText
-            .$value
+        Observable.shared.directionText.$value
             .receive(on: DispatchQueue.main)
             .sink { [weak self] newValue in
                 self?.DirectionText.text = newValue
             }
             .store(in: &cancellables)
+
+        Observable.shared.deltaText.$value
+            .receive(on: DispatchQueue.main)
+            .sink { [weak self] newValue in
+                self?.DeltaText.text = newValue
+            }
+            .store(in: &cancellables)
     }
 
     deinit {