|
@@ -4,15 +4,20 @@ import SwiftUI
|
|
|
extension Home {
|
|
extension Home {
|
|
|
class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: HomeProvider {
|
|
class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: HomeProvider {
|
|
|
@Injected() var broadcaster: Broadcaster!
|
|
@Injected() var broadcaster: Broadcaster!
|
|
|
|
|
+ @Injected() var settingsManager: SettingsManager!
|
|
|
|
|
|
|
|
@Published var glucose: [BloodGlucose] = []
|
|
@Published var glucose: [BloodGlucose] = []
|
|
|
@Published var suggestion: Suggestion?
|
|
@Published var suggestion: Suggestion?
|
|
|
|
|
|
|
|
|
|
+ @Published var allowManualTemp = false
|
|
|
|
|
+
|
|
|
override func subscribe() {
|
|
override func subscribe() {
|
|
|
glucose = provider.filteredGlucose()
|
|
glucose = provider.filteredGlucose()
|
|
|
suggestion = provider.suggestion
|
|
suggestion = provider.suggestion
|
|
|
|
|
+ allowManualTemp = !settingsManager.settings.closedLoop
|
|
|
broadcaster.register(GlucoseObserver.self, observer: self)
|
|
broadcaster.register(GlucoseObserver.self, observer: self)
|
|
|
broadcaster.register(SuggestionObserver.self, observer: self)
|
|
broadcaster.register(SuggestionObserver.self, observer: self)
|
|
|
|
|
+ broadcaster.register(SettingsObserver.self, observer: self)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func addCarbs() {
|
|
func addCarbs() {
|
|
@@ -41,7 +46,7 @@ extension Home {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-extension Home.ViewModel: GlucoseObserver, SuggestionObserver {
|
|
|
|
|
|
|
+extension Home.ViewModel: GlucoseObserver, SuggestionObserver, SettingsObserver {
|
|
|
func glucoseDidUpdate(_: [BloodGlucose]) {
|
|
func glucoseDidUpdate(_: [BloodGlucose]) {
|
|
|
glucose = provider.filteredGlucose()
|
|
glucose = provider.filteredGlucose()
|
|
|
}
|
|
}
|
|
@@ -49,4 +54,8 @@ extension Home.ViewModel: GlucoseObserver, SuggestionObserver {
|
|
|
func suggestionDidUpdate(_ suggestion: Suggestion) {
|
|
func suggestionDidUpdate(_ suggestion: Suggestion) {
|
|
|
self.suggestion = suggestion
|
|
self.suggestion = suggestion
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ func settingsDidChange(_ settings: FreeAPSSettings) {
|
|
|
|
|
+ allowManualTemp = !settings.closedLoop
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|