polscm32 2 лет назад
Родитель
Сommit
ba9e6018bd

+ 6 - 3
FreeAPS/Sources/APS/APSManager.swift

@@ -1258,7 +1258,8 @@ final class BaseAPSManager: APSManager, Injectable {
                 saveStatsCoreData.lastrun = Date()
 
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.privateContext.hasChanges else { return }
+                    try self.privateContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -1277,7 +1278,8 @@ final class BaseAPSManager: APSManager, Injectable {
             nLS.interval = loopStatRecord.interval ?? 0.0
 
             do {
-                try CoreDataStack.shared.saveContext()
+                guard self.privateContext.hasChanges else { return }
+                try self.privateContext.save()
             } catch {
                 print(error.localizedDescription)
             }
@@ -1419,7 +1421,8 @@ extension BaseAPSManager: PumpManagerStatusObserver {
             batteryToStore.status = percent > 10 ? "normal" : "low"
             batteryToStore.display = status.pumpBatteryChargeRemaining != nil
             do {
-                try CoreDataStack.shared.saveContext()
+                guard self.privateContext.hasChanges else { return }
+                try self.privateContext.save()
             } catch {
                 print(error.localizedDescription)
             }

+ 2 - 1
FreeAPS/Sources/APS/DeviceDataManager.swift

@@ -357,7 +357,8 @@ extension BaseDeviceDataManager: PumpManagerDelegate {
             batteryToStore.display = status.pumpBatteryChargeRemaining != nil
 
             do {
-                try CoreDataStack.shared.saveContext()
+                guard self.privateContext.hasChanges else { return }
+                try self.privateContext.save()
             } catch {
                 print(error.localizedDescription)
             }

+ 8 - 4
FreeAPS/Sources/APS/OpenAPS/OpenAPS.swift

@@ -265,7 +265,8 @@ final class OpenAPS {
                             saveToTDD.timestamp = determination.timestamp ?? Date()
                             saveToTDD.tdd = (determination.tdd ?? 0) as NSDecimalNumber?
                             do {
-                                try CoreDataStack.shared.saveContext()
+                                guard self.context.hasChanges else { return }
+                                try self.context.save()
                             } catch {
                                 print(error.localizedDescription)
                             }
@@ -273,7 +274,8 @@ final class OpenAPS {
                             let saveTarget = Target(context: self.context)
                             saveTarget.current = (determination.current_target ?? 100) as NSDecimalNumber?
                             do {
-                                try CoreDataStack.shared.saveContext()
+                                guard self.context.hasChanges else { return }
+                                try self.context.save()
                             } catch {
                                 print(error.localizedDescription)
                             }
@@ -378,7 +380,8 @@ final class OpenAPS {
                     saveToCoreData.indefinite = false
                     saveToCoreData.percentage = 100
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.context.hasChanges else { return "{}" }
+                        try self.context.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -852,7 +855,8 @@ final class OpenAPS {
             }
 
             do {
-                try CoreDataStack.shared.saveContext()
+                guard self.context.hasChanges else { return }
+                try self.context.save()
             } catch {
                 print(error.localizedDescription)
             }

+ 14 - 7
FreeAPS/Sources/Modules/AddTempTarget/AddTempTargetStateModel.swift

@@ -47,7 +47,8 @@ extension AddTempTarget {
                     saveToCoreData.startDate = Date()
 
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.coredataContext.hasChanges else { return }
+                        try self.coredataContext.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -59,7 +60,8 @@ extension AddTempTarget {
                     saveToCoreData.active = false
                     saveToCoreData.date = Date()
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.coredataContext.hasChanges else { return }
+                        try self.coredataContext.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -94,7 +96,8 @@ extension AddTempTarget {
                 saveToCoreData.active = false
                 saveToCoreData.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -103,7 +106,8 @@ extension AddTempTarget {
                 setHBT.enabled = false
                 setHBT.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -151,7 +155,8 @@ extension AddTempTarget {
                     saveToCoreData.date = Date()
                     saveToCoreData.duration = duration as NSDecimalNumber
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.coredataContext.hasChanges else { return }
+                        try self.coredataContext.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -184,7 +189,8 @@ extension AddTempTarget {
                         saveToCoreData.duration = whichID?.duration ?? 0
 
                         do {
-                            try CoreDataStack.shared.saveContext()
+                            guard self.coredataContext.hasChanges else { return }
+                            try self.coredataContext.save()
                         } catch {
                             print(error.localizedDescription)
                         }
@@ -193,7 +199,8 @@ extension AddTempTarget {
                         saveToCoreData.active = false
                         saveToCoreData.date = Date()
                         do {
-                            try CoreDataStack.shared.saveContext()
+                            guard self.coredataContext.hasChanges else { return }
+                            try self.coredataContext.save()
                         } catch {
                             print(error.localizedDescription)
                         }

+ 2 - 1
FreeAPS/Sources/Modules/Home/HomeStateModel.swift

@@ -313,7 +313,8 @@ extension Home {
                 profiles.date = Date()
 
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.context.hasChanges else { return }
+                    try self.context.save()
                 } catch {
                     print(error.localizedDescription)
                 }

+ 2 - 1
FreeAPS/Sources/Modules/NightscoutConfig/NightscoutConfigStateModel.swift

@@ -318,7 +318,8 @@ extension NightscoutConfig {
                 saveToCoreData.error = string
 
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }

+ 20 - 10
FreeAPS/Sources/Modules/OverrideProfilesConfig/OverrideProfilesStateModel.swift

@@ -96,7 +96,8 @@ extension OverrideProfilesConfig {
                     saveOverride.uamMinutes = uamMinutes as NSDecimalNumber
                 }
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -141,7 +142,8 @@ extension OverrideProfilesConfig {
                     saveOverride.uamMinutes = uamMinutes as NSDecimalNumber
                 }
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -185,7 +187,8 @@ extension OverrideProfilesConfig {
                     saveOverride.uamMinutes = (profile.uamMinutes ?? 0) as NSDecimalNumber
                 }
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -275,7 +278,8 @@ extension OverrideProfilesConfig {
                 profiles.enabled = false
                 profiles.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -311,7 +315,8 @@ extension OverrideProfilesConfig {
                     saveToCoreData.active = false
                     saveToCoreData.date = Date()
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.coredataContext.hasChanges else { return }
+                        try self.coredataContext.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -346,7 +351,8 @@ extension OverrideProfilesConfig {
                 saveToCoreData.active = false
                 saveToCoreData.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -355,7 +361,8 @@ extension OverrideProfilesConfig {
                 setHBT.enabled = false
                 setHBT.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard self.coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -403,7 +410,8 @@ extension OverrideProfilesConfig {
                     saveToCoreData.date = Date()
                     saveToCoreData.duration = durationTT as NSDecimalNumber
                     do {
-                        try CoreDataStack.shared.saveContext()
+                        guard self.coredataContext.hasChanges else { return }
+                        try self.coredataContext.save()
                     } catch {
                         print(error.localizedDescription)
                     }
@@ -436,7 +444,8 @@ extension OverrideProfilesConfig {
                         saveToCoreData.duration = whichID?.duration ?? 0
 
                         do {
-                            try CoreDataStack.shared.saveContext()
+                            guard self.coredataContext.hasChanges else { return }
+                            try self.coredataContext.save()
                         } catch {
                             print(error.localizedDescription)
                         }
@@ -445,7 +454,8 @@ extension OverrideProfilesConfig {
                         saveToCoreData.active = false
                         saveToCoreData.date = Date()
                         do {
-                            try CoreDataStack.shared.saveContext()
+                            guard self.coredataContext.hasChanges else { return }
+                            try self.coredataContext.save()
                         } catch {
                             print(error.localizedDescription)
                         }

+ 4 - 2
FreeAPS/Sources/Shortcuts/TempPresets/TempPresetsIntentRequest.swift

@@ -57,7 +57,8 @@ import Foundation
                 saveToCoreData.duration = whichID?.duration ?? 0
 
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }
@@ -66,7 +67,8 @@ import Foundation
                 saveToCoreData.active = false
                 saveToCoreData.date = Date()
                 do {
-                    try CoreDataStack.shared.saveContext()
+                    guard coredataContext.hasChanges else { return }
+                    try self.coredataContext.save()
                 } catch {
                     print(error.localizedDescription)
                 }