|
|
@@ -1,3 +1,4 @@
|
|
|
+import CoreData
|
|
|
import Foundation
|
|
|
import Swinject
|
|
|
import WatchConnectivity
|
|
|
@@ -18,6 +19,8 @@ final class BaseWatchManager: NSObject, WatchManager, Injectable {
|
|
|
@Injected() private var tempTargetsStorage: TempTargetsStorage!
|
|
|
@Injected() private var garmin: GarminManager!
|
|
|
|
|
|
+ let coredataContext = CoreDataStack.shared.persistentContainer.viewContext // newBackgroundContext()
|
|
|
+
|
|
|
private var lifetime = Lifetime()
|
|
|
|
|
|
init(resolver: Resolver, session: WCSession = .default) {
|
|
|
@@ -102,6 +105,21 @@ final class BaseWatchManager: NSObject, WatchManager, Injectable {
|
|
|
|
|
|
self.state.isf = self.suggestion?.isf
|
|
|
|
|
|
+ var overrideArray = [Override]()
|
|
|
+ let requestOverrides = Override.fetchRequest() as NSFetchRequest<Override>
|
|
|
+ let sortOverride = NSSortDescriptor(key: "date", ascending: false)
|
|
|
+ requestOverrides.sortDescriptors = [sortOverride]
|
|
|
+ requestOverrides.fetchLimit = 1
|
|
|
+ try? overrideArray = self.coredataContext.fetch(requestOverrides)
|
|
|
+
|
|
|
+ if overrideArray.first?.enabled ?? false {
|
|
|
+ let percentString = "\((overrideArray.first?.percentage ?? 100).formatted(.number)) %"
|
|
|
+ self.state.override = percentString
|
|
|
+
|
|
|
+ } else {
|
|
|
+ self.state.override = "100 %"
|
|
|
+ }
|
|
|
+
|
|
|
self.sendState()
|
|
|
}
|
|
|
}
|