@@ -1262,7 +1262,6 @@ extension DeviceDataManager: InsulinDeliveryStoreDelegate {
1262
1262
// MARK: - TestingPumpManager
1263
1263
extension DeviceDataManager {
1264
1264
func deleteTestingPumpData( completion: ( ( Error ? ) -> Void ) ? = nil ) {
1265
-
1266
1265
guard let testingPumpManager = pumpManager as? TestingPumpManager else {
1267
1266
completion ? ( nil )
1268
1267
return
@@ -1278,8 +1277,16 @@ extension DeviceDataManager {
1278
1277
return
1279
1278
}
1280
1279
1281
- healthStore. deleteObjects ( of: self . doseStore. sampleType, predicate: devicePredicate) { success, deletedObjectCount, error in
1282
- if success {
1280
+ guard !self . doseStore. sharingDenied else {
1281
+ // only clear cache since access to health kit is denied
1282
+ insulinDeliveryStore. purgeCachedInsulinDeliveryObjects ( ) { error in
1283
+ completion ? ( error)
1284
+ }
1285
+ return
1286
+ }
1287
+
1288
+ insulinDeliveryStore. purgeAllDoseEntries ( healthKitPredicate: devicePredicate) { error in
1289
+ if error == nil {
1283
1290
insulinDeliveryStore. test_lastImmutableBasalEndDate = nil
1284
1291
}
1285
1292
completion ? ( error)
@@ -1288,11 +1295,18 @@ extension DeviceDataManager {
1288
1295
}
1289
1296
1290
1297
func deleteTestingCGMData( completion: ( ( Error ? ) -> Void ) ? = nil ) {
1291
-
1292
1298
guard let testingCGMManager = cgmManager as? TestingCGMManager else {
1293
1299
assertionFailure ( " \( #function) should be invoked only when a testing CGM manager is in use " )
1294
1300
return
1295
1301
}
1302
+
1303
+ guard !glucoseStore. sharingDenied else {
1304
+ // only clear cache since access to health kit is denied
1305
+ glucoseStore. purgeCachedGlucoseObjects ( ) { error in
1306
+ completion ? ( error)
1307
+ }
1308
+ return
1309
+ }
1296
1310
1297
1311
let predicate = HKQuery . predicateForObjects ( from: [ testingCGMManager. testingDevice] )
1298
1312
glucoseStore. purgeAllGlucoseSamples ( healthKitPredicate: predicate) { error in
0 commit comments