Explorar o código

show last autotune date

Ivan Valkou %!s(int64=5) %!d(string=hai) anos
pai
achega
114579960b

+ 1 - 1
FreeAPS/Sources/APS/APSManager.swift

@@ -60,7 +60,7 @@ final class BaseAPSManager: APSManager, Injectable {
     @Injected() private var nightscout: NightscoutManager!
     @Injected() private var settingsManager: SettingsManager!
     @Injected() private var broadcaster: Broadcaster!
-    @Persisted(key: "lastAutotuneDate") private var lastAutotuneDate: Date = .distantPast
+    @Persisted(key: "lastAutotuneDate") private var lastAutotuneDate = Date()
     @Persisted(key: "lastLoopDate") var lastLoopDate: Date = .distantPast {
         didSet {
             lastLoopDateSubject.send(lastLoopDate)

+ 10 - 1
FreeAPS/Sources/Modules/AutotuneConfig/AutotuneConfigViewModel.swift

@@ -8,11 +8,18 @@ extension AutotuneConfig {
         @Published var useAutotune = false
         @Published var autotune: Autotune?
         private(set) var units: GlucoseUnits = .mmolL
+        @Published var publishedDate = Date()
+        @Persisted(key: "lastAutotuneDate") private var lastAutotuneDate = Date() {
+            didSet {
+                publishedDate = lastAutotuneDate
+            }
+        }
 
         override func subscribe() {
             autotune = provider.autotune
             units = settingsManager.settings.units
             useAutotune = settingsManager.settings.useAutotune
+            publishedDate = lastAutotuneDate
 
             $useAutotune
                 .removeDuplicates()
@@ -31,7 +38,9 @@ extension AutotuneConfig {
                     self.autotune = result
                     return self.apsManager.makeProfiles()
                 }
-                .sink { _ in }.store(in: &lifetime)
+                .sink { _ in
+                    self.lastAutotuneDate = Date()
+                }.store(in: &lifetime)
         }
 
         func delete() {

+ 12 - 0
FreeAPS/Sources/Modules/AutotuneConfig/View/AutotuneConfigRootView.swift

@@ -18,6 +18,13 @@ extension AutotuneConfig {
             return formatter
         }
 
+        private var dateFormatter: DateFormatter {
+            let formatter = DateFormatter()
+            formatter.dateStyle = .medium
+            formatter.timeStyle = .short
+            return formatter
+        }
+
         var body: some View {
             Form {
                 Section {
@@ -25,6 +32,11 @@ extension AutotuneConfig {
                 }
 
                 Section {
+                    HStack {
+                        Text("Last run")
+                        Spacer()
+                        Text(dateFormatter.string(from: viewModel.publishedDate))
+                    }
                     Button { viewModel.run() }
                     label: { Text("Run now") }
                 }