@@ -370,45 +370,14 @@ class LoopAppManager: NSObject {
370
370
return false
371
371
}
372
372
373
- private func resetLoop( ) {
374
- deviceDataManager. pumpManager? . prepareForDeactivation ( { _ in } )
375
-
376
- resetLoopUserDefaults ( )
377
- resetLoopDocuments ( )
378
- }
379
-
380
- private func resetLoopUserDefaults( ) {
381
- // Store values to persist
382
- let allowDebugFeatures = UserDefaults . appGroup? . allowDebugFeatures
383
- let studyProductSelection = UserDefaults . appGroup? . studyProductSelection
384
-
385
- // Wipe away whole domain
386
- UserDefaults . appGroup? . removePersistentDomain ( forName: Bundle . main. appGroupSuiteName)
387
-
388
- // Restore values to persist
389
- UserDefaults . appGroup? . allowDebugFeatures = allowDebugFeatures ?? false
390
- UserDefaults . appGroup? . studyProductSelection = studyProductSelection
391
- }
392
-
393
- private func resetLoopDocuments( ) {
394
- let appGroup = Bundle . main. appGroupSuiteName
395
- guard let directoryURL = FileManager . default. containerURL ( forSecurityApplicationGroupIdentifier: appGroup) else {
396
- preconditionFailure ( " Could not get a container directory URL. Please ensure App Groups are set up correctly in entitlements. " )
397
- }
398
-
399
- let documents : URL = directoryURL. appendingPathComponent ( " com.loopkit.LoopKit " , isDirectory: true )
400
- try ? FileManager . default. removeItem ( at: documents)
401
-
402
- guard let localDocuments = try ? FileManager . default. url ( for: . documentDirectory, in: . userDomainMask, appropriateFor: nil , create: true ) else {
403
- preconditionFailure ( " Could not get a documents directory URL. " )
404
- }
405
- try ? FileManager . default. removeItem ( at: localDocuments)
406
- }
407
-
408
373
func askUserToConfirmCrashIfNecessary( ) {
409
- if UserDefaults . appGroup? . resetLoop == true {
410
- alertManager. presentConfirmCrashAlert ( ) { [ weak self] in
411
- self ? . resetLoop ( )
374
+ deviceDataManager. pluginManager. availableSupports. forEach { supportUI in
375
+ if supportUI. loopNeedsReset {
376
+ supportUI. loopNeedsReset = false
377
+ alertManager. presentConfirmCrashAlert ( ) { [ weak self] in
378
+ self ? . deviceDataManager. pumpManager? . prepareForDeactivation ( { _ in } )
379
+ supportUI. resetLoop ( )
380
+ }
412
381
}
413
382
}
414
383
}
0 commit comments