Skip to content

WIP: Microboluses #1205

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 108 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
2c948ec
hide the saved API secret by default in NS services display (#1142)
Kdisimone Oct 13, 2019
255a7de
display - for HUD CGM when value is >15 min old (#1140)
Kdisimone Oct 13, 2019
af99248
Fix issue with PumpManager ble update coming in right after cgm updat…
ps2 Oct 13, 2019
d653500
New strategy for asset overrides. Fixes popup warnings (#1145)
ps2 Oct 13, 2019
fa494fe
Remote overrides (#1131)
ps2 Oct 13, 2019
43e4d8c
NightscoutAPIClient added
ivalkou Oct 23, 2019
d349c8f
Cartfile update
ivalkou Oct 23, 2019
6190e2d
NSAllowsArbitraryLoads
ivalkou Oct 23, 2019
56f151f
Micro Boluses!
ivalkou Oct 24, 2019
c3f0cb8
Microboluses in settings
ivalkou Oct 24, 2019
e40731e
Fix explanation of MB
ivalkou Oct 24, 2019
4205e97
do not show bolus screen if microboluses is enabled
ivalkou Oct 24, 2019
2deafd3
Microbolus refactoring
soniejka Oct 24, 2019
82fc9b6
Max Microbolus Size title
ivalkou Oct 25, 2019
5f9df78
rewrite loop()
ivalkou Oct 25, 2019
3aa8e6e
Merge branch 'dev' of https://github.com/LoopKit/Loop into LoopKit-dev
ivalkou Oct 27, 2019
91a834f
Merge branch 'LoopKit-dev' into dev
ivalkou Oct 27, 2019
b7b1374
Merge branch 'dev' into dev-ivan
ivalkou Oct 27, 2019
c621ec1
Fix version & skip bolus screen on Watch
ivalkou Oct 27, 2019
3d17aa2
spikeapp scheme supported
ivalkou Oct 28, 2019
f7047f3
fix 0 bolus bug
ivalkou Oct 28, 2019
2d843b6
little refactor
ivalkou Oct 28, 2019
13db3d2
misprint fixed
soniejka Oct 29, 2019
5e158aa
disable Microboluses if closed loop disabled
ivalkou Oct 30, 2019
9fdd8c2
build version changed
ivalkou Oct 31, 2019
a4ebeb1
Microbolus screen (#3)
ivalkou Nov 1, 2019
7ee1917
Bump version
ivalkou Nov 1, 2019
785a909
Fix MB without COM
soniejka Nov 2, 2019
f646063
Add 15 min control clucose chek
soniejka Nov 2, 2019
ca202c8
Microboluses Safe Mode
soniejka Nov 2, 2019
1a94f7f
Carb Absorption Model UI
ivalkou Nov 6, 2019
e755e1c
Revert "Carb Absorption Model UI"
soniejka Nov 6, 2019
06021b8
nonlinear-carb-model
ivalkou Nov 7, 2019
1fb94ef
Safe Mode refactored
ivalkou Nov 7, 2019
2a2b02e
Fix texts
ivalkou Nov 9, 2019
abed78f
Add ability to define a lower limit before performing the bolus (#4)
dthornley Nov 11, 2019
430d9ab
Notification names changed in LoopKit (#1165)
ps2 Nov 7, 2019
0194ea2
Cartfile.resolved
ivalkou Nov 12, 2019
c9ee230
Merge branch 'dev' into dev-ivan
ivalkou Nov 12, 2019
ad62a80
revert notification names
ivalkou Nov 12, 2019
959fe30
MB with COB and without COB work independently
ivalkou Nov 13, 2019
f4b6aaa
update cartfile
ivalkou Nov 15, 2019
0c25618
Revert "revert notification names"
ivalkou Nov 15, 2019
10f581e
Current time line on charts (#6)
ivalkou Nov 23, 2019
b0869d0
Merge branch 'dev' of https://github.com/LoopKit/Loop into LoopKit-dev
ivalkou Nov 23, 2019
a24eeb5
Merge branch 'dev' of https://github.com/LoopKit/Loop into LoopKit-dev
ivalkou Nov 23, 2019
e1bcfd4
Current time line on charts (#6)
ivalkou Nov 23, 2019
8cddb00
Merge branch 'current-time-lines' into dev-ivan
ivalkou Nov 23, 2019
22543b8
Fixed loss of settings after reboot.
ivalkou Nov 23, 2019
bc10d13
Merge branch 'empty-settings-fix' into dev-ivan
ivalkou Nov 23, 2019
16edb41
Bolus recommendation notice cancels a microbolus
ivalkou Nov 23, 2019
d2d9487
Merge branch 'dev' of https://github.com/LoopKit/Loop into LoopKit-dev
ivalkou Nov 30, 2019
8d42217
Merge branch 'LoopKit-dev' into dev-ivan
ivalkou Nov 30, 2019
dc8b19e
update version
ivalkou Nov 30, 2019
381d957
Limit MB if current glucose below target
ivalkou Nov 30, 2019
c2e028f
Do not open bolus screen after carbs changed
ivalkou Nov 30, 2019
f464c52
NS Client updated
ivalkou Nov 30, 2019
7fa7357
Microbolus refactoring
ivalkou Nov 30, 2019
82243de
Cancel MB if already bolusing
ivalkou Dec 7, 2019
61308c8
Remove UIApplication.protectedDataDidBecomeAvailableNotification
ivalkou Dec 7, 2019
0d28665
bump version
ivalkou Dec 7, 2019
31974cb
model and view
ivalkou Dec 14, 2019
bbb0538
busines logic and UI
ivalkou Dec 17, 2019
d36f713
Fix binding and update UI
ivalkou Dec 18, 2019
8498438
adaptiveRateNonlinear switch in settings
ivalkou Dec 18, 2019
d4841ed
bump version
ivalkou Dec 18, 2019
09a082d
Disabled pickers fixed
ivalkou Dec 18, 2019
86bff4e
Revert "Current time line on charts (#6)"
ivalkou Dec 20, 2019
03a7f86
Remove NightscoutAPIClient
ivalkou Dec 20, 2019
9888b57
Remove Settings.bundle
ivalkou Dec 20, 2019
c9b97dd
Cleenup unused code
ivalkou Dec 20, 2019
07d63e1
Override `hasFinished` check
ivalkou Dec 21, 2019
275923f
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Dec 21, 2019
f13327a
Revert CURRENT_PROJECT_VERSION
ivalkou Dec 21, 2019
7a24458
Merge branch 'dev' of https://github.com/LoopKit/Loop into dev-ivan
ivalkou Dec 21, 2019
f238db4
Override `hasFinished` check
ivalkou Dec 21, 2019
e79049b
partialApplication parameter (default 0.5)
ivalkou Dec 21, 2019
a40bfa6
Partial bolus application UI setting
ivalkou Dec 21, 2019
641f83f
partialApplication parameter (default 0.5)
ivalkou Dec 21, 2019
56bcbb5
Partial bolus application UI setting
ivalkou Dec 21, 2019
74ef344
bump version
ivalkou Dec 21, 2019
b7d2c43
Clear signing
ivalkou Dec 22, 2019
2abf5db
Clear marketing version
ivalkou Dec 22, 2019
491458d
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Dec 23, 2019
db44386
MicrobolusView refactored
ivalkou Dec 23, 2019
1a991ec
Merge branch 'dev' of https://github.com/LoopKit/Loop into dev-ivan
ivalkou Dec 23, 2019
3f688b1
MicrobolusView refactored
ivalkou Dec 23, 2019
1ff5463
The view is divided into small parts.
ivalkou Dec 23, 2019
626630e
The view is divided into small parts.
ivalkou Dec 23, 2019
310ffac
add 'Not Limited' option to max sizes of MB
ivalkou Dec 23, 2019
62952ae
Set default partial application rate to 0.3
ivalkou Dec 23, 2019
519609c
Merge branch 'dev-ivan' into microboluses
ivalkou Dec 23, 2019
8773d77
Microbolus.Event
ivalkou Dec 25, 2019
a11b593
Show last MB event in settings
ivalkou Dec 26, 2019
cbf1974
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Dec 30, 2019
b9cbc0a
Max MB size removed & Safity things
ivalkou Dec 30, 2019
29185dd
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Jan 7, 2020
8b768ef
Fix tempBasal notification
ivalkou Jan 7, 2020
9e18149
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Jan 21, 2020
49c4497
MicrobolusViewModel
ivalkou Jan 21, 2020
7910613
Basal Rate Multiplier
ivalkou Jan 21, 2020
e0240d4
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Jan 21, 2020
69daafd
Fix notification queue
ivalkou Jan 25, 2020
45f3e75
Status update in the right way
ivalkou Jan 25, 2020
cbb6b4c
Merge branch 'dev' of https://github.com/LoopKit/Loop into microboluses
ivalkou Feb 1, 2020
a601776
Changes for new carbs flow
ivalkou Feb 1, 2020
749c37b
format Basal Rate Multiplier
ivalkou Feb 1, 2020
b988570
Return loop completion to dataAccessQueue
ivalkou Feb 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions Common/Models/WatchContext.swift
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ final class WatchContext: RawRepresentable {
var lastNetTempBasalDose: Double?
var lastNetTempBasalDate: Date?
var recommendedBolusDose: Double?
var doNotOpenBolusScreenWithMicroboluses: Bool?

var cob: Double?
var iob: Double?
Expand Down Expand Up @@ -68,6 +69,7 @@ final class WatchContext: RawRepresentable {
lastNetTempBasalDate = rawValue["bad"] as? Date
recommendedBolusDose = rawValue["rbo"] as? Double
cob = rawValue["cob"] as? Double
doNotOpenBolusScreenWithMicroboluses = rawValue["mb"] as? Bool

cgmManagerState = rawValue["cgmManagerState"] as? CGMManager.RawStateValue

Expand Down Expand Up @@ -100,6 +102,7 @@ final class WatchContext: RawRepresentable {
raw["r"] = reservoir
raw["rbo"] = recommendedBolusDose
raw["rp"] = reservoirPercentage
raw["mb"] = doNotOpenBolusScreenWithMicroboluses

raw["pg"] = predictedGlucose?.rawValue

Expand Down
40 changes: 38 additions & 2 deletions Loop.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
3804343D23747354004BAB52 /* Microbolus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3804343C23747354004BAB52 /* Microbolus.swift */; };
3804343E237474AE004BAB52 /* Microbolus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3804343C23747354004BAB52 /* Microbolus.swift */; };
38BE6D8D236C8A110074CF11 /* MicrobolusViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38BE6D8C236C8A110074CF11 /* MicrobolusViewController.swift */; };
38CE2218236B134F00DFE990 /* MicrobolusView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38CE2217236B134F00DFE990 /* MicrobolusView.swift */; };
38DAF6F223D7203500A3E9E3 /* MicrobolusViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38DAF6F123D7203500A3E9E3 /* MicrobolusViewModel.swift */; };
43027F0F1DFE0EC900C51989 /* HKUnit.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F526D5E1DF2459000A04910 /* HKUnit.swift */; };
4302F4E11D4E9C8900F0FCAF /* TextFieldTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */; };
4302F4E31D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */; };
Expand Down Expand Up @@ -236,7 +241,6 @@
43E2D8F41D20C0DB004DA55F /* recommend_temp_basal_start_high_end_low.json in Resources */ = {isa = PBXBuildFile; fileRef = 43E2D8E91D20C0DB004DA55F /* recommend_temp_basal_start_high_end_low.json */; };
43E2D8F51D20C0DB004DA55F /* recommend_temp_basal_start_low_end_high.json in Resources */ = {isa = PBXBuildFile; fileRef = 43E2D8EA1D20C0DB004DA55F /* recommend_temp_basal_start_low_end_high.json */; };
43E2D8F61D20C0DB004DA55F /* recommend_temp_basal_start_low_end_in_range.json in Resources */ = {isa = PBXBuildFile; fileRef = 43E2D8EB1D20C0DB004DA55F /* recommend_temp_basal_start_low_end_in_range.json */; };
43E2D9151D20C5A2004DA55F /* KeychainManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43E2D8C91D20B9E7004DA55F /* KeychainManagerTests.swift */; };
43E2D9191D222759004DA55F /* LoopKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 43F78D4B1C914197002152D1 /* LoopKit.framework */; };
43E3449F1B9D68E900C85C07 /* StatusTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43E3449E1B9D68E900C85C07 /* StatusTableViewController.swift */; };
43E93FB51E4675E800EAB8DB /* NumberFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43BFF0B31E45C1BE00FF19A9 /* NumberFormatter.swift */; };
Expand Down Expand Up @@ -567,6 +571,12 @@
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
3804343C23747354004BAB52 /* Microbolus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Microbolus.swift; sourceTree = "<group>"; };
38589861235E0A4200919FD4 /* NightscoutAPIClient.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NightscoutAPIClient.framework; sourceTree = BUILT_PRODUCTS_DIR; };
38589864235E0A4C00919FD4 /* NightscoutAPIClientUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NightscoutAPIClientUI.framework; sourceTree = BUILT_PRODUCTS_DIR; };
38BE6D8C236C8A110074CF11 /* MicrobolusViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MicrobolusViewController.swift; sourceTree = "<group>"; };
38CE2217236B134F00DFE990 /* MicrobolusView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MicrobolusView.swift; sourceTree = "<group>"; };
38DAF6F123D7203500A3E9E3 /* MicrobolusViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MicrobolusViewModel.swift; sourceTree = "<group>"; };
4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldTableViewController.swift; sourceTree = "<group>"; };
4302F4E21D4EA54200F0FCAF /* InsulinDeliveryTableViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InsulinDeliveryTableViewController.swift; sourceTree = "<group>"; };
430B29892041F54A00BA9F93 /* NSUserDefaults.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSUserDefaults.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1218,6 +1228,15 @@
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
38DAF6F023D71FFE00A3E9E3 /* Microboluses */ = {
isa = PBXGroup;
children = (
38CE2217236B134F00DFE990 /* MicrobolusView.swift */,
38DAF6F123D7203500A3E9E3 /* MicrobolusViewModel.swift */,
);
path = Microboluses;
sourceTree = "<group>";
};
4328E0121CFBE1B700E199AA /* Controllers */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1520,6 +1539,7 @@
43D848AF1E7DCBE100DADCBC /* Result.swift */,
43D9FFD121EAE05D00AF44BF /* LoopCore.h */,
43D9FFD221EAE05D00AF44BF /* Info.plist */,
3804343C23747354004BAB52 /* Microbolus.swift */,
);
path = LoopCore;
sourceTree = "<group>";
Expand Down Expand Up @@ -1606,6 +1626,7 @@
43E3449E1B9D68E900C85C07 /* StatusTableViewController.swift */,
4302F4E01D4E9C8900F0FCAF /* TextFieldTableViewController.swift */,
89CA2B31226C18B8004D9350 /* TestingScenariosTableViewController.swift */,
38BE6D8C236C8A110074CF11 /* MicrobolusViewController.swift */,
);
path = "View Controllers";
sourceTree = "<group>";
Expand All @@ -1626,6 +1647,7 @@
4311FB9A1F37FE1B00D4C0A7 /* TitleSubtitleTextFieldTableViewCell.swift */,
89D6953D23B6DF8A002B3066 /* PotentialCarbEntryTableViewCell.swift */,
439706E522D2E84900C81566 /* PredictionSettingTableViewCell.swift */,
38DAF6F023D71FFE00A3E9E3 /* Microboluses */,
);
path = Views;
sourceTree = "<group>";
Expand Down Expand Up @@ -1841,6 +1863,8 @@
968DCD53F724DE56FFE51920 /* Frameworks */ = {
isa = PBXGroup;
children = (
38589864235E0A4C00919FD4 /* NightscoutAPIClientUI.framework */,
38589861235E0A4200919FD4 /* NightscoutAPIClient.framework */,
434FB6451D68F1CD007B9C70 /* Amplitude.framework */,
4344628420A7A3BE00C4BE6F /* CGMBLEKit.framework */,
43A8EC6E210E622600A81379 /* CGMBLEKitUI.framework */,
Expand Down Expand Up @@ -2637,6 +2661,7 @@
43B260491ED248FB008CAA77 /* CarbEntryTableViewCell.swift in Sources */,
4302F4E11D4E9C8900F0FCAF /* TextFieldTableViewController.swift in Sources */,
43F64DD91D9C92C900D24DC6 /* TitleSubtitleTableViewCell.swift in Sources */,
38CE2218236B134F00DFE990 /* MicrobolusView.swift in Sources */,
C15713821DAC6983005BC4D2 /* MealBolusNightscoutTreatment.swift in Sources */,
43FCEEA9221A615B0013DD30 /* StatusChartsManager.swift in Sources */,
43511CE321FD80E400566C63 /* StandardRetrospectiveCorrection.swift in Sources */,
Expand All @@ -2657,6 +2682,7 @@
43D9003321EB258C00AF44BF /* InsulinModelSettings+Loop.swift in Sources */,
434FF1EE1CF27EEF000DB779 /* UITableViewCell.swift in Sources */,
439BED2A1E76093C00B0AED5 /* CGMManager.swift in Sources */,
38DAF6F223D7203500A3E9E3 /* MicrobolusViewModel.swift in Sources */,
C18C8C511D5A351900E043FB /* NightscoutDataManager.swift in Sources */,
C165B8CE23302C5D0004112E /* RemoteCommand.swift in Sources */,
438849EA1D297CB6003B3F23 /* NightscoutService.swift in Sources */,
Expand Down Expand Up @@ -2696,6 +2722,7 @@
89ADE13B226BFA0F0067222B /* TestingScenariosManager.swift in Sources */,
4F7E8ACB20E2ACB500AEA65E /* WatchPredictedGlucose.swift in Sources */,
436A0DA51D236A2A00104B24 /* LoopError.swift in Sources */,
38BE6D8D236C8A110074CF11 /* MicrobolusViewController.swift in Sources */,
4F11D3C220DD80B3006E072C /* WatchHistoricalGlucose.swift in Sources */,
435CB6231F37967800C320C7 /* InsulinModelSettingsViewController.swift in Sources */,
4372E490213CFCE70068E043 /* LoopSettingsUserInfo.swift in Sources */,
Expand Down Expand Up @@ -2784,6 +2811,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3804343E237474AE004BAB52 /* Microbolus.swift in Sources */,
43C05CB821EBEA54006FB252 /* HKUnit.swift in Sources */,
4345E3F421F036FC009E00E5 /* Result.swift in Sources */,
43D9002021EB209400AF44BF /* NSTimeInterval.swift in Sources */,
Expand Down Expand Up @@ -2836,6 +2864,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
3804343D23747354004BAB52 /* Microbolus.swift in Sources */,
43C05CB921EBEA54006FB252 /* HKUnit.swift in Sources */,
4345E3F521F036FC009E00E5 /* Result.swift in Sources */,
43D9FFFB21EAF3D300AF44BF /* NSTimeInterval.swift in Sources */,
Expand Down Expand Up @@ -2870,7 +2899,6 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
43E2D9151D20C5A2004DA55F /* KeychainManagerTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down Expand Up @@ -3530,6 +3558,7 @@
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = YES;
INFOPLIST_FILE = Loop/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
"OTHER_SWIFT_FLAGS[arch=*]" = "-DDEBUG";
"OTHER_SWIFT_FLAGS[sdk=iphonesimulator*]" = "-D IOS_SIMULATOR";
Expand All @@ -3549,6 +3578,7 @@
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = YES;
INFOPLIST_FILE = Loop/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "$(MAIN_APP_BUNDLE_IDENTIFIER)";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -3576,6 +3606,7 @@
SWIFT_OBJC_BRIDGING_HEADER = "WatchApp Extension/Extensions/WatchApp Extension-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 6.0;
};
name = Debug;
};
Expand All @@ -3598,6 +3629,7 @@
SKIP_INSTALL = YES;
SWIFT_OBJC_BRIDGING_HEADER = "WatchApp Extension/Extensions/WatchApp Extension-Bridging-Header.h";
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 6.0;
};
name = Release;
};
Expand All @@ -3619,6 +3651,7 @@
SDKROOT = watchos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 6.0;
};
name = Debug;
};
Expand All @@ -3640,6 +3673,7 @@
SDKROOT = watchos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = 4;
WATCHOS_DEPLOYMENT_TARGET = 6.0;
};
name = Release;
};
Expand Down Expand Up @@ -3912,6 +3946,7 @@
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Loop Status Extension/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "$(MAIN_APP_BUNDLE_IDENTIFIER).statuswidget";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -3934,6 +3969,7 @@
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = "Loop Status Extension/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = "$(MAIN_APP_BUNDLE_IDENTIFIER).statuswidget";
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
9 changes: 9 additions & 0 deletions Loop/Managers/DeviceDataManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -618,6 +618,15 @@ extension DeviceDataManager: LoopDataManagerDelegate {
}
)
}

func loopDataManager(_ manager: LoopDataManager, didRecommendMicroBolus bolus: (amount: Double, date: Date), completion: @escaping (_ error: Error?) -> Void) -> Void {
enactBolus(
units: bolus.amount,
at: bolus.date,
completion: completion)
}

var bolusState: PumpManagerStatus.BolusState? { pumpManager?.status.bolusState }
}


Expand Down
Loading