Skip to content

Commit 4775711

Browse files
authored
LOOP-4960 Upload settings on restart (#697)
* Upload settings on restart * Comments from review
1 parent 4e3a0d6 commit 4775711

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

Loop/Managers/DeviceDataManager.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,11 +1263,11 @@ struct CancelTempBasalFailedMaximumBasalRateChangedError: LocalizedError {
12631263
//MARK: - RemoteDataServicesManagerDelegate protocol conformance
12641264

12651265
extension DeviceDataManager : RemoteDataServicesManagerDelegate {
1266-
var shouldSyncToRemoteService: Bool {
1266+
var shouldSyncGlucoseToRemoteService: Bool {
12671267
guard let cgmManager = cgmManager else {
1268-
return onboardingManager?.isComplete == true
1268+
return true
12691269
}
1270-
return cgmManager.shouldSyncToRemoteService && (onboardingManager?.isComplete == true)
1270+
return cgmManager.shouldSyncToRemoteService
12711271
}
12721272
}
12731273

Loop/Managers/LoopAppManager.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,8 @@ class LoopAppManager: NSObject {
341341

342342
settingsManager.remoteDataServicesManager = remoteDataServicesManager
343343

344+
remoteDataServicesManager.triggerAllUploads()
345+
344346
servicesManager = ServicesManager(
345347
pluginManager: pluginManager,
346348
alertManager: alertManager,

Loop/Managers/LoopDataManager.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,8 @@ final class LoopDataManager: ObservableObject {
455455

456456
var dosingDecision = StoredDosingDecision(
457457
date: loopBaseTime,
458-
reason: "loop"
458+
reason: "loop",
459+
settings: StoredDosingDecision.Settings(settingsProvider.settings)
459460
)
460461

461462
do {

Loop/Managers/RemoteDataServicesManager.swift

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,15 @@ final class RemoteDataServicesManager {
187187
}
188188
}
189189
}
190-
190+
191+
func triggerAllUploads() {
192+
Task {
193+
for type in RemoteDataType.allCases {
194+
await performUpload(for: type)
195+
}
196+
}
197+
}
198+
191199
func triggerUpload(for triggeringType: RemoteDataType) {
192200
Task {
193201
await performUpload(for: triggeringType)
@@ -241,8 +249,6 @@ final class RemoteDataServicesManager {
241249

242250
extension RemoteDataServicesManager {
243251
private func uploadAlertData(to remoteDataService: RemoteDataService) {
244-
guard delegate?.shouldSyncToRemoteService == true else { return }
245-
246252
uploadGroup.enter()
247253

248254
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .alert)
@@ -278,8 +284,6 @@ extension RemoteDataServicesManager {
278284

279285
extension RemoteDataServicesManager {
280286
private func uploadCarbData(to remoteDataService: RemoteDataService) {
281-
guard delegate?.shouldSyncToRemoteService == true else { return }
282-
283287
uploadGroup.enter()
284288

285289
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .carb)
@@ -322,8 +326,6 @@ extension RemoteDataServicesManager {
322326

323327
extension RemoteDataServicesManager {
324328
private func uploadDoseData(to remoteDataService: RemoteDataService) {
325-
guard delegate?.shouldSyncToRemoteService == true else { return }
326-
327329
uploadGroup.enter()
328330

329331
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .dose)
@@ -366,8 +368,6 @@ extension RemoteDataServicesManager {
366368

367369
extension RemoteDataServicesManager {
368370
private func uploadDosingDecisionData(to remoteDataService: RemoteDataService) {
369-
guard delegate?.shouldSyncToRemoteService == true else { return }
370-
371371
uploadGroup.enter()
372372

373373
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .dosingDecision)
@@ -411,7 +411,7 @@ extension RemoteDataServicesManager {
411411

412412
extension RemoteDataServicesManager {
413413
private func uploadGlucoseData(to remoteDataService: RemoteDataService) {
414-
guard delegate?.shouldSyncToRemoteService == true else { return }
414+
guard delegate?.shouldSyncGlucoseToRemoteService != false else { return }
415415

416416
uploadGroup.enter()
417417

@@ -455,8 +455,6 @@ extension RemoteDataServicesManager {
455455

456456
extension RemoteDataServicesManager {
457457
private func uploadPumpEventData(to remoteDataService: RemoteDataService) {
458-
guard delegate?.shouldSyncToRemoteService == true else { return }
459-
460458
uploadGroup.enter()
461459

462460
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .pumpEvent)
@@ -499,8 +497,6 @@ extension RemoteDataServicesManager {
499497

500498
extension RemoteDataServicesManager {
501499
private func uploadSettingsData(to remoteDataService: RemoteDataService) {
502-
guard delegate?.shouldSyncToRemoteService == true else { return }
503-
504500
uploadGroup.enter()
505501

506502
let key = UploadTaskKey(serviceIdentifier: remoteDataService.pluginIdentifier, remoteDataType: .settings)
@@ -653,7 +649,7 @@ extension RemoteDataServicesManager {
653649
extension RemoteDataServicesManager: UploadEventListener { }
654650

655651
protocol RemoteDataServicesManagerDelegate: AnyObject {
656-
var shouldSyncToRemoteService: Bool { get }
652+
var shouldSyncGlucoseToRemoteService: Bool { get }
657653
}
658654

659655

0 commit comments

Comments
 (0)