diff --git a/Loop Status Extension/Info.plist b/Loop Status Extension/Info.plist
index 457555e233..ab9e66d865 100644
--- a/Loop Status Extension/Info.plist
+++ b/Loop Status Extension/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
XPC!
CFBundleShortVersionString
- 1.1.2
+ 1.2.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
MainAppBundleIdentifier
diff --git a/Loop Status Extension/StatusExtensionContext.swift b/Loop Status Extension/StatusExtensionContext.swift
index bbe312e46a..9b3a71c353 100644
--- a/Loop Status Extension/StatusExtensionContext.swift
+++ b/Loop Status Extension/StatusExtensionContext.swift
@@ -40,7 +40,7 @@ struct GlucoseContext {
let sensor: SensorDisplayable?
}
-final class StatusExtensionContext: NSObject, RawRepresentable {
+final class StatusExtensionContext: RawRepresentable {
typealias RawValue = [String: Any]
private let version = 1
@@ -52,12 +52,9 @@ final class StatusExtensionContext: NSObject, RawRepresentable {
var batteryPercentage: Double?
var eventualGlucose: Double?
- override init() {
- super.init()
- }
+ init() { }
required init?(rawValue: RawValue) {
- super.init()
let raw = rawValue
if let preferredString = raw["preferredUnitDisplayString"] as? String,
@@ -161,3 +158,10 @@ final class StatusExtensionContext: NSObject, RawRepresentable {
return raw
}
}
+
+
+extension StatusExtensionContext: CustomDebugStringConvertible {
+ var debugDescription: String {
+ return String(reflecting: rawValue)
+ }
+}
diff --git a/Loop/Managers/DeviceDataManager.swift b/Loop/Managers/DeviceDataManager.swift
index 1db7f0c5d6..495ef0333e 100644
--- a/Loop/Managers/DeviceDataManager.swift
+++ b/Loop/Managers/DeviceDataManager.swift
@@ -975,11 +975,11 @@ final class DeviceDataManager: CarbStoreDelegate, CarbStoreSyncDelegate, DoseSto
// MARK: - WatchKit
- private(set) var watchManager: WatchDataManager!
+ fileprivate var watchManager: WatchDataManager!
// MARK: - Status Extension
- private(set) var statusExtensionManager: StatusExtensionDataManager!
+ fileprivate var statusExtensionManager: StatusExtensionDataManager!
// MARK: - Initialization
@@ -1075,7 +1075,11 @@ extension DeviceDataManager: CustomDebugStringConvertible {
"workoutModeEnabled: \(workoutModeEnabled)",
"maximumBasalRatePerHour: \(maximumBasalRatePerHour)",
"maximumBolus: \(maximumBolus)",
- String(reflecting: rileyLinkManager)
+ String(reflecting: rileyLinkManager),
+ String(reflecting: statusExtensionManager!),
+ "",
+ "## NSUserDefaults",
+ String(reflecting: UserDefaults.standard.dictionaryRepresentation())
].joined(separator: "\n")
}
}
diff --git a/Loop/Managers/StatusExtensionDataManager.swift b/Loop/Managers/StatusExtensionDataManager.swift
index e0aef3324e..6fd6a4c60f 100644
--- a/Loop/Managers/StatusExtensionDataManager.swift
+++ b/Loop/Managers/StatusExtensionDataManager.swift
@@ -20,13 +20,17 @@ final class StatusExtensionDataManager {
NotificationCenter.default.addObserver(self, selector: #selector(update(_:)), name: .LoopDataUpdated, object: deviceDataManager.loopManager)
}
+ fileprivate var defaults: UserDefaults? {
+ return UserDefaults(suiteName: Bundle.main.appGroupSuiteName)
+ }
+
@objc private func update(_ notification: Notification) {
self.dataManager.glucoseStore?.preferredUnit() { (unit, error) in
if error == nil, let unit = unit {
self.createContext(unit) { (context) in
if let context = context {
- UserDefaults(suiteName: Bundle.main.appGroupSuiteName)?.statusExtensionContext = context
+ self.defaults?.statusExtensionContext = context
}
}
}
@@ -98,3 +102,13 @@ final class StatusExtensionDataManager {
}
}
}
+
+
+extension StatusExtensionDataManager: CustomDebugStringConvertible {
+ var debugDescription: String {
+ return [
+ "## StatusExtensionDataManager",
+ "statusExtensionContext: \(String(reflecting: defaults?.statusExtensionContext))"
+ ].joined(separator: "\n")
+ }
+}