Skip to content

Commit 16d3b93

Browse files
committed
Add polling of data after sucessful remote command
1 parent 26fa91f commit 16d3b93

12 files changed

Lines changed: 123 additions & 0 deletions

LoopFollow/Controllers/Nightscout/DeviceStatus.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ extension MainViewController {
220220
)
221221

222222
} else if secondsAgo >= (5 * 60) {
223+
self.evaluateRemoteCommandPollingCompletion()
223224
TaskScheduler.shared.rescheduleTask(
224225
id: .deviceStatus,
225226
to: Date().addingTimeInterval(10)

LoopFollow/Controllers/Nightscout/Treatments.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,5 +184,6 @@ extension MainViewController {
184184
}
185185
}
186186
processCage(entries: pumpSiteChange)
187+
evaluateRemoteCommandPollingCompletion()
187188
}
188189
}

LoopFollow/Remote/LoopAPNS/LoopAPNSBolusView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,7 @@ struct LoopAPNSBolusView: View {
373373
TOTPService.shared.markTOTPAsUsed(qrCodeURL: Storage.shared.loopAPNSQrCodeURL.value)
374374
self.alertMessage = "Insulin sent successfully!"
375375
self.alertType = .success
376+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
376377
LogManager.shared.log(
377378
category: .apns,
378379
message: "Insulin sent - Amount: \(insulinAmount.doubleValue(for: .internationalUnit()))U"

LoopFollow/Remote/LoopAPNS/LoopAPNSCarbsView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ struct LoopAPNSCarbsView: View {
505505
timeFormatter.timeStyle = .short
506506
self.alertMessage = "Carbs sent successfully for \(timeFormatter.string(from: adjustedConsumedDate))!"
507507
self.alertType = .success
508+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
508509
LogManager.shared.log(
509510
category: .apns,
510511
message: "Carbs sent - Amount: \(carbsAmount.doubleValue(for: .gram()))g, Absorption: \(absorptionConfirmationText)h, Time: \(adjustedConsumedDate)"

LoopFollow/Remote/LoopAPNS/OverridePresetsView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ class OverridePresetsViewModel: ObservableObject {
407407
self.isActivating = false
408408
self.statusMessage = "\(preset.name) override activated successfully."
409409
self.alertType = .statusSuccess
410+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
410411
self.showAlert = true
411412
}
412413
} catch {
@@ -430,6 +431,7 @@ class OverridePresetsViewModel: ObservableObject {
430431
self.isActivating = false
431432
self.statusMessage = "Active override cancelled successfully."
432433
self.alertType = .statusSuccess
434+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
433435
self.showAlert = true
434436
}
435437
} catch {

LoopFollow/Remote/RemoteType.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,7 @@ enum RemoteType: String, Codable {
99
case trc = "Trio Remote Control"
1010
case loopAPNS = "Loop APNS"
1111
}
12+
13+
extension Notification.Name {
14+
static let remoteCommandSucceeded = Notification.Name("remoteCommandSucceeded")
15+
}

LoopFollow/Remote/TRC/BolusView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ struct BolusView: View {
272272
category: .apns,
273273
message: "sendBolusPushNotification succeeded - Bolus: \(InsulinFormatter.shared.string(bolusAmount)) U"
274274
)
275+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
275276
bolusAmount = HKQuantity(unit: .internationalUnit(), doubleValue: 0.0)
276277
alertType = .statusSuccess
277278
} else {

LoopFollow/Remote/TRC/MealView.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ struct MealView: View {
305305
category: .apns,
306306
message: "sendMealPushNotification succeeded - Carbs: \(carbs.doubleValue(for: .gram())) g, Protein: \(protein.doubleValue(for: .gram())) g, Fat: \(fat.doubleValue(for: .gram())) g, Bolus: \(bolusAmount.doubleValue(for: .internationalUnit())) U, Scheduled: \(scheduledDate != nil ? formatDate(scheduledDate!) : "now")"
307307
)
308+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
308309

309310
// Reset meal values and scheduled data after success
310311
carbs = HKQuantity(unit: .gram(), doubleValue: 0.0)

LoopFollow/Remote/TRC/OverrideView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ struct OverrideView: View {
175175
self.statusMessage = "Override command sent successfully."
176176
self.alertType = .statusSuccess
177177
LogManager.shared.log(category: .apns, message: "sendOverridePushNotification succeeded for override: \(override.name)")
178+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
178179
} else {
179180
self.statusMessage = errorMessage ?? "Failed to send override command."
180181
self.alertType = .statusFailure
@@ -195,6 +196,7 @@ struct OverrideView: View {
195196
self.statusMessage = "Cancel override command sent successfully."
196197
self.alertType = .statusSuccess
197198
LogManager.shared.log(category: .apns, message: "sendCancelOverridePushNotification succeeded")
199+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
198200
} else {
199201
self.statusMessage = errorMessage ?? "Failed to send cancel override command."
200202
self.alertType = .statusFailure

LoopFollow/Remote/TRC/TempTargetView.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ struct TempTargetView: View {
255255
self.statusMessage = "Temp target command successfully sent."
256256
self.alertType = .statusSuccess
257257
LogManager.shared.log(category: .apns, message: "sendTempTargetPushNotification succeeded with target: \(newHKTarget), duration: \(duration)")
258+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
258259
} else {
259260
self.statusMessage = errorMessage ?? "Failed to send temp target command."
260261
self.alertType = .statusFailure
@@ -275,6 +276,7 @@ struct TempTargetView: View {
275276
self.statusMessage = "Cancel temp target command successfully sent."
276277
self.alertType = .statusSuccess
277278
LogManager.shared.log(category: .apns, message: "sendCancelTempTargetPushNotification succeeded")
279+
NotificationCenter.default.post(name: .remoteCommandSucceeded, object: nil)
278280
} else {
279281
self.statusMessage = errorMessage ?? "Failed to send cancel temp target command."
280282
self.alertType = .statusFailure

0 commit comments

Comments
 (0)