1
- Submodule Loop 5bb5ed9..7ac05ea :
1
+ Submodule Loop 2ed8c7b..8959bf4 :
2
2
diff --git a/Loop/Loop.xcodeproj/project.pbxproj b/Loop/Loop.xcodeproj/project.pbxproj
3
- index a27a4503..ea632e72 100644
3
+ index a27a4503..9c023c06 100644
4
4
--- a/Loop/Loop.xcodeproj/project.pbxproj
5
5
+++ b/Loop/Loop.xcodeproj/project.pbxproj
6
- @@ -519,6 +519,11 @@
6
+ @@ -519,6 +519,10 @@
7
7
C1FB4290217922A100FAB378 /* PumpManagerUI.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1FB428E217921D600FAB378 /* PumpManagerUI.swift */; };
8
8
DD3DBD272A33AEC8000F8B5B /* SettingsView+algorithmExperimentsSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3DBD262A33AEC8000F8B5B /* SettingsView+algorithmExperimentsSection.swift */; };
9
9
DD3DBD292A33AFE9000F8B5B /* IntegralRetrospectiveCorrectionSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD3DBD282A33AFE9000F8B5B /* IntegralRetrospectiveCorrectionSelectionView.swift */; };
10
10
+ DDC389F62A2B61750066E2E8 /* ApplicationFactorStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC389F52A2B61750066E2E8 /* ApplicationFactorStrategy.swift */; };
11
11
+ DDC389F82A2B620B0066E2E8 /* GlucoseBasedApplicationFactorStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC389F72A2B620B0066E2E8 /* GlucoseBasedApplicationFactorStrategy.swift */; };
12
12
+ DDC389FA2A2B62470066E2E8 /* ConstantDosingStrategy.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC389F92A2B62470066E2E8 /* ConstantDosingStrategy.swift */; };
13
- + DDC389FC2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC389FB2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift */; };
14
13
+ DDC389FE2A2C4C830066E2E8 /* GlucoseBasedApplicationFactorSelectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDC389FD2A2C4C830066E2E8 /* GlucoseBasedApplicationFactorSelectionView.swift */; };
15
14
E90909D124E34AC500F963D2 /* high_and_rising_with_cob_momentum_effect.json in Resources */ = {isa = PBXBuildFile; fileRef = E90909CC24E34AC500F963D2 /* high_and_rising_with_cob_momentum_effect.json */; };
16
15
E90909D224E34AC500F963D2 /* high_and_rising_with_cob_insulin_effect.json in Resources */ = {isa = PBXBuildFile; fileRef = E90909CD24E34AC500F963D2 /* high_and_rising_with_cob_insulin_effect.json */; };
17
16
E90909D324E34AC500F963D2 /* high_and_rising_with_cob_predicted_glucose.json in Resources */ = {isa = PBXBuildFile; fileRef = E90909CE24E34AC500F963D2 /* high_and_rising_with_cob_predicted_glucose.json */; };
18
- @@ -1689,6 +1694,11 @@
17
+ @@ -1689,6 +1693,10 @@
19
18
C1FF3D4D29C786A900BDC1EC /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = he.lproj/InfoPlist.strings; sourceTree = "<group>"; };
20
19
DD3DBD262A33AEC8000F8B5B /* SettingsView+algorithmExperimentsSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SettingsView+algorithmExperimentsSection.swift"; sourceTree = "<group>"; };
21
20
DD3DBD282A33AFE9000F8B5B /* IntegralRetrospectiveCorrectionSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntegralRetrospectiveCorrectionSelectionView.swift; sourceTree = "<group>"; };
22
21
+ DDC389F52A2B61750066E2E8 /* ApplicationFactorStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApplicationFactorStrategy.swift; sourceTree = "<group>"; };
23
22
+ DDC389F72A2B620B0066E2E8 /* GlucoseBasedApplicationFactorStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlucoseBasedApplicationFactorStrategy.swift; sourceTree = "<group>"; };
24
23
+ DDC389F92A2B62470066E2E8 /* ConstantDosingStrategy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConstantDosingStrategy.swift; sourceTree = "<group>"; };
25
- + DDC389FB2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SettingsView+algorithmExperimentsSection.swift"; sourceTree = "<group>"; };
26
24
+ DDC389FD2A2C4C830066E2E8 /* GlucoseBasedApplicationFactorSelectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlucoseBasedApplicationFactorSelectionView.swift; sourceTree = "<group>"; };
27
25
E90909CC24E34AC500F963D2 /* high_and_rising_with_cob_momentum_effect.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = high_and_rising_with_cob_momentum_effect.json; sourceTree = "<group>"; };
28
26
E90909CD24E34AC500F963D2 /* high_and_rising_with_cob_insulin_effect.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = high_and_rising_with_cob_insulin_effect.json; sourceTree = "<group>"; };
29
27
E90909CE24E34AC500F963D2 /* high_and_rising_with_cob_predicted_glucose.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = high_and_rising_with_cob_predicted_glucose.json; sourceTree = "<group>"; };
30
- @@ -2316,6 +2326,7 @@
31
- isa = PBXGroup;
32
- children = (
33
- A98556842493F901000FD662 /* AlertStore+SimulatedCoreData.swift */,
34
- + DDC389FB2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift */,
35
- C1D289B422F90A52003FFBD9 /* BasalDeliveryState.swift */,
36
- A9F703722489BC8500C98AD8 /* CarbStore+SimulatedCoreData.swift */,
37
- C17824991E1999FA00D9D25C /* CaseCountable.swift */,
38
- @@ -2404,6 +2415,7 @@
28
+ @@ -2404,6 +2412,7 @@
39
29
4311FB9A1F37FE1B00D4C0A7 /* TitleSubtitleTextFieldTableViewCell.swift */,
40
30
C1AF062229426300002C1B19 /* ManualGlucoseEntryRow.swift */,
41
31
DD3DBD282A33AFE9000F8B5B /* IntegralRetrospectiveCorrectionSelectionView.swift */,
42
32
+ DDC389FD2A2C4C830066E2E8 /* GlucoseBasedApplicationFactorSelectionView.swift */,
43
33
);
44
34
path = Views;
45
35
sourceTree = "<group>";
46
- @@ -2445,6 +2457 ,9 @@
36
+ @@ -2445,6 +2454 ,9 @@
47
37
C1F2075B26D6F9B0007AB7EB /* ProfileExpirationAlerter.swift */,
48
38
A96DAC2B2838F31200D94E38 /* SharedLogging.swift */,
49
39
7E69CFFB2A16A77E00203CBD /* ResetLoopManager.swift */,
@@ -53,39 +43,31 @@ index a27a4503..ea632e72 100644
53
43
);
54
44
path = Managers;
55
45
sourceTree = "<group>";
56
- @@ -3876,6 +3891 ,7 @@
46
+ @@ -3876,6 +3888 ,7 @@
57
47
C1201E2C23ECDBD0002DA84A /* WatchContextRequestUserInfo.swift in Sources */,
58
48
1D49795824E7289700948F05 /* ServicesViewModel.swift in Sources */,
59
49
1D4A3E2D2478628500FD601B /* StoredAlert+CoreDataClass.swift in Sources */,
60
50
+ DDC389FA2A2B62470066E2E8 /* ConstantDosingStrategy.swift in Sources */,
61
51
892D7C5123B54A15008A9656 /* CarbEntryViewController.swift in Sources */,
62
52
B4E202302661063E009421B5 /* AutomaticDosingStatus.swift in Sources */,
63
53
C191D2A125B3ACAA00C26C0B /* DosingStrategySelectionView.swift in Sources */,
64
- @@ -3909,6 +3925 ,7 @@
54
+ @@ -3909,6 +3922 ,7 @@
65
55
1DB619AC270BAD3D006C9D07 /* VersionUpdateViewModel.swift in Sources */,
66
56
A9C62D882331703100535612 /* Service.swift in Sources */,
67
57
89CAB36324C8FE96009EE3CE /* PredictedGlucoseChartView.swift in Sources */,
68
58
+ DDC389F82A2B620B0066E2E8 /* GlucoseBasedApplicationFactorStrategy.swift in Sources */,
69
59
4F6663941E905FD2009E74FC /* ChartColorPalette+Loop.swift in Sources */,
70
60
A9F703732489BC8500C98AD8 /* CarbStore+SimulatedCoreData.swift in Sources */,
71
61
4328E0351CFC0AE100E199AA /* WatchDataManager.swift in Sources */,
72
- @@ -3938,6 +3955,7 @@
73
- E9B080B1253BDA6300BAD8F8 /* UserDefaults+LoopIntents.swift in Sources */,
74
- C1AF062329426300002C1B19 /* ManualGlucoseEntryRow.swift in Sources */,
75
- C148CEE724FD91BD00711B3B /* DeliveryUncertaintyAlertManager.swift in Sources */,
76
- + DDC389FC2A2BC6670066E2E8 /* SettingsView+algorithmExperimentsSection.swift in Sources */,
77
- 1D12D3B92548EFDD00B53E8B /* main.swift in Sources */,
78
- 435400341C9F878D00D5819C /* SetBolusUserInfo.swift in Sources */,
79
- A9DCF32A25B0FABF00C89088 /* LoopUIColorPalette+Default.swift in Sources */,
80
- @@ -3972,6 +3990,7 @@
62
+ @@ -3972,6 +3986,7 @@
81
63
A97F250825E056D500F0EE19 /* OnboardingManager.swift in Sources */,
82
64
438D42F91D7C88BC003244B0 /* PredictionInputEffect.swift in Sources */,
83
65
892A5D692230C41D008961AB /* RangeReplaceableCollection.swift in Sources */,
84
66
+ DDC389F62A2B61750066E2E8 /* ApplicationFactorStrategy.swift in Sources */,
85
67
4F70C2101DE8FAC5006380B7 /* ExtensionDataManager.swift in Sources */,
86
68
43DFB62320D4CAE7008A7BAE /* PumpManager.swift in Sources */,
87
69
A9FB75F1252BE320004C7D3F /* BolusDosingDecision.swift in Sources */,
88
- @@ -3979,6 +3998 ,7 @@
70
+ @@ -3979,6 +3994 ,7 @@
89
71
431A8C401EC6E8AB00823B9C /* CircleMaskView.swift in Sources */,
90
72
1D05219D2469F1F5000EBBDE /* AlertStore.swift in Sources */,
91
73
439897371CD2F80600223065 /* AnalyticsServicesManager.swift in Sources */,
@@ -94,7 +76,7 @@ index a27a4503..ea632e72 100644
94
76
895FE0952201234000FCF18A /* OverrideSelectionViewController.swift in Sources */,
95
77
C1EF747228D6A44A00C8C083 /* CrashRecoveryManager.swift in Sources */,
96
78
diff --git a/Loop/Loop/Extensions/SettingsView+algorithmExperimentsSection.swift b/Loop/Loop/Extensions/SettingsView+algorithmExperimentsSection.swift
97
- index b6f07ba1..f9eb8d47 100644
79
+ index b6f07ba1..b3a5091e 100644
98
80
--- a/Loop/Loop/Extensions/SettingsView+algorithmExperimentsSection.swift
99
81
+++ b/Loop/Loop/Extensions/SettingsView+algorithmExperimentsSection.swift
100
82
@@ -5,6 +5,7 @@
@@ -110,16 +92,24 @@ index b6f07ba1..f9eb8d47 100644
110
92
internal var algorithmExperimentsSection: some View {
111
93
Section(header: SectionHeader(label: NSLocalizedString("Algorithm Experiments ⚠️", comment: "The title of the Algorithm Experiments section in settings"))) {
112
94
-
113
- +
114
95
+ NavigationLink(destination: GlucoseBasedApplicationFactorSelectionView(isGlucoseBasedApplicationFactorEnabled: $isGlucoseBasedApplicationFactorEnabled)) {
115
96
+ HStack {
116
97
+ Text("Glucose Based Partial Application")
117
98
+ Spacer()
118
99
+ Text(isGlucoseBasedApplicationFactorEnabled ? "On" : "Off")
119
- +
100
+ + }
101
+ + }
120
102
NavigationLink(destination: IntegralRetrospectiveCorrectionSelectionView(isIntegralRetrospectiveCorrectionEnabled: $isIntegralRetrospectiveCorrectionEnabled)) {
121
103
HStack {
122
104
Text("Integral Retrospective Correction")
105
+ @@ -20,6 +27,6 @@ extension SettingsView {
106
+ Text(isIntegralRetrospectiveCorrectionEnabled ? "On" : "Off")
107
+ }
108
+ }
109
+ - }
110
+ + }
111
+ }
112
+ }
123
113
diff --git a/Loop/Loop/Managers/ApplicationFactorStrategy.swift b/Loop/Loop/Managers/ApplicationFactorStrategy.swift
124
114
new file mode 100644
125
115
index 00000000..bf67935c
@@ -271,7 +261,7 @@ index 15c593e7..8133aa84 100644
271
261
"",
272
262
diff --git a/Loop/Loop/Views/GlucoseBasedApplicationFactorSelectionView.swift b/Loop/Loop/Views/GlucoseBasedApplicationFactorSelectionView.swift
273
263
new file mode 100644
274
- index 00000000..90d05d0c
264
+ index 00000000..1e78c81e
275
265
--- /dev/null
276
266
+++ b/Loop/Loop/Views/GlucoseBasedApplicationFactorSelectionView.swift
277
267
@@ -0,0 +1,55 @@
@@ -325,19 +315,20 @@ index 00000000..90d05d0c
325
315
+ }
326
316
+ }
327
317
+
328
- + struct EnhancedAutoBolusSelectionView_Previews : PreviewProvider {
318
+ + struct GlucoseBasedApplicationFactorSelectionView_Previews : PreviewProvider {
329
319
+ static var previews: some View {
330
320
+ GlucoseBasedApplicationFactorSelectionView(isGlucoseBasedApplicationFactorEnabled: .constant(true))
331
321
+ }
332
322
+ }
333
323
diff --git a/Loop/Loop/Views/SettingsView.swift b/Loop/Loop/Views/SettingsView.swift
334
- index 2615596c..baedff6e 100644
324
+ index 2615596c..12255a62 100644
335
325
--- a/Loop/Loop/Views/SettingsView.swift
336
326
+++ b/Loop/Loop/Views/SettingsView.swift
337
- @@ -32,6 +32,8 @@ public struct SettingsView: View {
327
+ @@ -31,7 +31,8 @@ public struct SettingsView: View {
328
+ @State private var deletePumpDataAlertIsPresented = false
338
329
@State private var deleteCGMDataAlertIsPresented = false
339
330
@State internal var isIntegralRetrospectiveCorrectionEnabled = UserDefaults.standard.bool(forKey: "isExperimentalIntegralRetrospectiveCorrectionEnabled")
340
-
331
+ -
341
332
+ @State internal var isGlucoseBasedApplicationFactorEnabled = UserDefaults.standard.bool(forKey: "applyExperimentalGlucoseBasedApplicationFactor")
342
333
+
343
334
var localizedAppNameAndVersion: String
0 commit comments