DeliveryUncertaintyRecoveryViewModel.swift 968 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. //
  2. // DeliveryUncertaintyRecoveryViewModel.swift
  3. // OmniKit
  4. //
  5. // Created by Pete Schwamb on 8/25/20.
  6. // Copyright © 2021 LoopKit Authors. All rights reserved.
  7. //
  8. import Foundation
  9. import LoopKit
  10. class DeliveryUncertaintyRecoveryViewModel: PumpManagerStatusObserver {
  11. let appName: String
  12. let uncertaintyStartedAt: Date
  13. var respondToRecovery: Bool
  14. var onDismiss: (() -> Void)?
  15. var didRecover: (() -> Void)?
  16. var onDeactivate: (() -> Void)?
  17. init(appName: String, uncertaintyStartedAt: Date) {
  18. self.appName = appName
  19. self.uncertaintyStartedAt = uncertaintyStartedAt
  20. respondToRecovery = false
  21. }
  22. func pumpManager(_ pumpManager: PumpManager, didUpdate status: PumpManagerStatus, oldStatus: PumpManagerStatus) {
  23. if !status.deliveryIsUncertain && respondToRecovery {
  24. didRecover?()
  25. }
  26. }
  27. func podDeactivationChosen() {
  28. self.onDeactivate?()
  29. }
  30. }