Skip to content
28 changes: 28 additions & 0 deletions Loop.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,13 @@
C16DA84222E8E112008624C2 /* PluginManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C16DA84122E8E112008624C2 /* PluginManager.swift */; };
C16F51192B891DB600EFD7A1 /* StoredDataAlgorithmInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = C16F51182B891DB600EFD7A1 /* StoredDataAlgorithmInput.swift */; };
52ECDA0F09B4C8F23A4B450E /* InsulinDeliveryHistory.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4C16D18C8806FF48331134C /* InsulinDeliveryHistory.swift */; };
8879F70ABCDF1E10619547A4 /* SetupChange.swift in Sources */ = {isa = PBXBuildFile; fileRef = 12CD655083D4816F87B13463 /* SetupChange.swift */; };
2622474F63F391C3E102B5E5 /* SetupComparisonTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE36167100E59D7413C50F63 /* SetupComparisonTests.swift */; };
16097A41A1EF24BCF2F670DB /* Statistics/SetupComparisonCharts.swift in Sources */ = {isa = PBXBuildFile; fileRef = 174DD37A96993576E0E573C6 /* Statistics/SetupComparisonCharts.swift */; };
414E7082E6A6B9DA8CD11EF3 /* CurrentSetupViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C7C2227FAC0A9F7F570A01 /* CurrentSetupViewModel.swift */; };
D7DECBB118052B85680A241B /* SetupComparison.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E7CDB17CCE70885EE93850 /* SetupComparison.swift */; };
6D16FF26E7F84F97B5DB6A88 /* CurrentSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CFD4A26A23202AF2EA506FCF /* CurrentSetupView.swift */; };
D70F014FFB67BA58678452E9 /* SetupChangeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03EC166B8AD05800AFCD474E /* SetupChangeTests.swift */; };
C16F511B2B89363A00EFD7A1 /* SimpleInsulinDose.swift in Sources */ = {isa = PBXBuildFile; fileRef = C16F511A2B89363A00EFD7A1 /* SimpleInsulinDose.swift */; };
C16FC0B02A99392F0025E239 /* live_capture_input.json in Resources */ = {isa = PBXBuildFile; fileRef = C16FC0AF2A99392F0025E239 /* live_capture_input.json */; };
C1735B1E2A0809830082BB8A /* ZIPFoundation in Frameworks */ = {isa = PBXBuildFile; productRef = C1735B1D2A0809830082BB8A /* ZIPFoundation */; };
Expand Down Expand Up @@ -1374,6 +1381,13 @@
C16DA84122E8E112008624C2 /* PluginManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginManager.swift; sourceTree = "<group>"; };
C16F51182B891DB600EFD7A1 /* StoredDataAlgorithmInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StoredDataAlgorithmInput.swift; sourceTree = "<group>"; };
C4C16D18C8806FF48331134C /* InsulinDeliveryHistory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InsulinDeliveryHistory.swift; sourceTree = "<group>"; };
12CD655083D4816F87B13463 /* SetupChange.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupChange.swift; sourceTree = "<group>"; };
BE36167100E59D7413C50F63 /* SetupComparisonTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupComparisonTests.swift; sourceTree = "<group>"; };
174DD37A96993576E0E573C6 /* Statistics/SetupComparisonCharts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Statistics/SetupComparisonCharts.swift; sourceTree = "<group>"; };
17C7C2227FAC0A9F7F570A01 /* CurrentSetupViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentSetupViewModel.swift; sourceTree = "<group>"; };
D5E7CDB17CCE70885EE93850 /* SetupComparison.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupComparison.swift; sourceTree = "<group>"; };
CFD4A26A23202AF2EA506FCF /* CurrentSetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrentSetupView.swift; sourceTree = "<group>"; };
03EC166B8AD05800AFCD474E /* SetupChangeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SetupChangeTests.swift; sourceTree = "<group>"; };
C16F511A2B89363A00EFD7A1 /* SimpleInsulinDose.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleInsulinDose.swift; sourceTree = "<group>"; };
C16FC0AF2A99392F0025E239 /* live_capture_input.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = live_capture_input.json; sourceTree = "<group>"; };
C1742331259BEADC00399C9D /* ManualEntryDoseView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ManualEntryDoseView.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1819,6 +1833,8 @@
A987CD4824A58A0100439ADC /* ZipArchive.swift */,
C16F51182B891DB600EFD7A1 /* StoredDataAlgorithmInput.swift */,
C4C16D18C8806FF48331134C /* InsulinDeliveryHistory.swift */,
12CD655083D4816F87B13463 /* SetupChange.swift */,
D5E7CDB17CCE70885EE93850 /* SetupComparison.swift */,
C16F511A2B89363A00EFD7A1 /* SimpleInsulinDose.swift */,
C152B9F42C9C7D4A00ACBC06 /* AutomationHistoryEntry.swift */,
84213C882D94941000642E78 /* InsulinDeliveryLogEvent.swift */,
Expand Down Expand Up @@ -2146,9 +2162,11 @@
B43B5C532EAFBF110096A6AE /* RecentGlucoseTableViewCell.xib */,
C151634D2FA2C9C800FEECE8 /* RequiredVersionUpdateView.swift */,
1DE09BA824A3E23F009EE9F9 /* SettingsView.swift */,
CFD4A26A23202AF2EA506FCF /* CurrentSetupView.swift */,
FEEDF0000000000000000004 /* Statistics/TimeInRangeBar.swift */,
747DA22B61531CCAAC79E86D /* Statistics/DailyInsulinChartView.swift */,
FEEDF0000000000000000003 /* Statistics/AGPChartView.swift */,
174DD37A96993576E0E573C6 /* Statistics/SetupComparisonCharts.swift */,
FEEDF0000000000000000002 /* Statistics/StatisticsView.swift */,
E4854073AAE5C2CB97167F63 /* HealthAccessView.swift */,
DDC389FB2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift */,
Expand Down Expand Up @@ -2655,6 +2673,7 @@
C11BD0542523CFED00236B08 /* SimpleBolusViewModel.swift */,
1DB1CA4E24A56D7600B3B94C /* SettingsViewModel.swift */,
FEEDF0000000000000000001 /* StatisticsViewModel.swift */,
17C7C2227FAC0A9F7F570A01 /* CurrentSetupViewModel.swift */,
1D49795724E7289700948F05 /* ServicesViewModel.swift */,
C174233B259BEB0F00399C9D /* ManualEntryDoseViewModel.swift */,
1DB619AB270BAD3D006C9D07 /* VersionUpdateViewModel.swift */,
Expand Down Expand Up @@ -2757,6 +2776,8 @@
children = (
C152B9F62C9C7EF100ACBC06 /* AutomationHistoryEntryTests.swift */,
F69CE2EE3714858772FE7A26 /* InsulinDeliveryHistoryTests.swift */,
03EC166B8AD05800AFCD474E /* SetupChangeTests.swift */,
BE36167100E59D7413C50F63 /* SetupComparisonTests.swift */,
FEEDF0000000000000000005 /* GlucoseStatisticsTests.swift */,
A9DFAFB224F0415E00950D1E /* CarbBackfillRequestUserInfoTests.swift */,
A963B279252CEBAE0062AA12 /* SetBolusUserInfoTests.swift */,
Expand Down Expand Up @@ -3704,6 +3725,7 @@
B4F3D25124AF890C0095CE44 /* BluetoothStateManager.swift in Sources */,
1DDE273D24AEA4B000796622 /* SettingsViewModel.swift in Sources */,
FEEDB0000000000000000001 /* StatisticsViewModel.swift in Sources */,
414E7082E6A6B9DA8CD11EF3 /* CurrentSetupViewModel.swift in Sources */,
DD3DBD292A33AFE9000F8B5B /* IntegralRetrospectiveCorrectionSelectionView.swift in Sources */,
A1B2C3D42E8F000100000002 /* GuardAndRunwaySelectionView.swift in Sources */,
842E40A72F22F7E2000CCCE0 /* TintedContent.swift in Sources */,
Expand Down Expand Up @@ -3757,6 +3779,8 @@
14C970842C5C2FB400E8A01B /* HowCarbEffectsWorksView.swift in Sources */,
1D6B1B6726866D89009AC446 /* AlertPermissionsChecker.swift in Sources */,
52ECDA0F09B4C8F23A4B450E /* InsulinDeliveryHistory.swift in Sources */,
8879F70ABCDF1E10619547A4 /* SetupChange.swift in Sources */,
D7DECBB118052B85680A241B /* SetupComparison.swift in Sources */,
C16F511B2B89363A00EFD7A1 /* SimpleInsulinDose.swift in Sources */,
4F08DE8F1E7BB871006741EA /* CollectionType+Loop.swift in Sources */,
A9F703772489D8AA00C98AD8 /* PersistentDeviceLog+SimulatedCoreData.swift in Sources */,
Expand All @@ -3772,9 +3796,11 @@
1D12D3B92548EFDD00B53E8B /* main.swift in Sources */,
A9DCF32A25B0FABF00C89088 /* LoopUIColorPalette+Default.swift in Sources */,
1DDE273E24AEA4B000796622 /* SettingsView.swift in Sources */,
6D16FF26E7F84F97B5DB6A88 /* CurrentSetupView.swift in Sources */,
FEEDB0000000000000000004 /* Statistics/TimeInRangeBar.swift in Sources */,
A3C9F155FD92DC188BD9A21F /* Statistics/DailyInsulinChartView.swift in Sources */,
FEEDB0000000000000000003 /* Statistics/AGPChartView.swift in Sources */,
16097A41A1EF24BCF2F670DB /* Statistics/SetupComparisonCharts.swift in Sources */,
FEEDB0000000000000000002 /* Statistics/StatisticsView.swift in Sources */,
BAF043BF0BC70EC99AE79F71 /* HealthAccessView.swift in Sources */,
A9B607B0247F000F00792BE4 /* UserNotifications+Loop.swift in Sources */,
Expand Down Expand Up @@ -4027,6 +4053,8 @@
A9A63F8E246B271600588D5B /* NSTimeInterval.swift in Sources */,
C152B9F72C9C7EF100ACBC06 /* AutomationHistoryEntryTests.swift in Sources */,
30E4A68B8C914C5E4B245555 /* InsulinDeliveryHistoryTests.swift in Sources */,
D70F014FFB67BA58678452E9 /* SetupChangeTests.swift in Sources */,
2622474F63F391C3E102B5E5 /* SetupComparisonTests.swift in Sources */,
FEEDB0000000000000000005 /* GlucoseStatisticsTests.swift in Sources */,
A9DFAFB324F0415E00950D1E /* CarbBackfillRequestUserInfoTests.swift in Sources */,
A963B27A252CEBAE0062AA12 /* SetBolusUserInfoTests.swift in Sources */,
Expand Down
9 changes: 9 additions & 0 deletions Loop/Managers/LoopAppManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -609,6 +609,15 @@ class LoopAppManager: NSObject {
guard let loopDataManager else { throw CancellationError() }
return try await loopDataManager.insulinDeliveryHistory(days: days)
}
viewModel.setupHistory = { [weak settingsManager, weak dosingDecisionStore] in
let settings = try await settingsManager?.settingsStore?.getStoredSettings() ?? []
let now = Date()
let start = settings.map(\.date).min() ?? now
let experiments = try await ExperimentsHistoryCache().records(since: start, now: now) { readFrom in
try await dosingDecisionStore?.getDosingDecisions(start: readFrom, end: now, as: ExperimentsRecord.self) ?? []
}
return SetupHistory(settings: settings, experiments: experiments)
}

return viewModel
}()
Expand Down
Loading