|
|
@@ -14,8 +14,8 @@ protocol FetchGlucoseManager: SourceInfoProvider {
|
|
|
func removeCalibrations()
|
|
|
var glucoseSource: GlucoseSource! { get }
|
|
|
var cgmManager: CGMManagerUI? { get }
|
|
|
- var cgmGlucoseSourceType: CGMType? { get set }
|
|
|
- var cgmGlucosePluginId: String? { get }
|
|
|
+ var cgmGlucoseSourceType: CGMType { get set }
|
|
|
+ var cgmGlucosePluginId: String { get }
|
|
|
var settingsManager: SettingsManager! { get }
|
|
|
var shouldSyncToRemoteService: Bool { get }
|
|
|
}
|
|
|
@@ -40,8 +40,8 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
|
|
|
|
|
|
private var lifetime = Lifetime()
|
|
|
private let timer = DispatchTimer(timeInterval: 1.minutes.timeInterval)
|
|
|
- var cgmGlucoseSourceType: CGMType?
|
|
|
- var cgmGlucosePluginId: String?
|
|
|
+ var cgmGlucoseSourceType: CGMType = .none
|
|
|
+ var cgmGlucosePluginId: String = ""
|
|
|
var cgmManager: CGMManagerUI? {
|
|
|
didSet {
|
|
|
rawCGMManager = cgmManager?.rawValue
|
|
|
@@ -123,8 +123,7 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
|
|
|
}
|
|
|
|
|
|
switch self.cgmGlucoseSourceType {
|
|
|
- case nil,
|
|
|
- .none?:
|
|
|
+ case .none:
|
|
|
glucoseSource = nil
|
|
|
case .xdrip:
|
|
|
glucoseSource = AppGroupSource(from: "xDrip", cgmType: .xdrip)
|
|
|
@@ -145,7 +144,6 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
|
|
|
/// Upload cgmManager from raw value
|
|
|
func cgmManagerFromRawValue(_ rawValue: [String: Any]) -> CGMManagerUI? {
|
|
|
guard let rawState = rawValue["state"] as? CGMManager.RawStateValue,
|
|
|
- let cgmGlucosePluginId = self.cgmGlucosePluginId,
|
|
|
let Manager = pluginCGMManager.getCGMManagerTypeByIdentifier(cgmGlucosePluginId)
|
|
|
else {
|
|
|
return nil
|
|
|
@@ -262,9 +260,8 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
|
|
|
private func subscribe() {
|
|
|
timer.publisher
|
|
|
.receive(on: processQueue)
|
|
|
- .flatMap { _ -> AnyPublisher<[BloodGlucose], Never> in
|
|
|
+ .flatMap { [self] _ -> AnyPublisher<[BloodGlucose], Never> in
|
|
|
debug(.nightscout, "FetchGlucoseManager timer heartbeat")
|
|
|
- // self.updateGlucoseSource(manager: nil)
|
|
|
if let glucoseSource = self.glucoseSource {
|
|
|
return glucoseSource.fetch(self.timer).eraseToAnyPublisher()
|
|
|
} else {
|