From 19141f6f58e0f2677ee43daa7428a87644337ef8 Mon Sep 17 00:00:00 2001 From: Robert Date: Thu, 7 Nov 2024 12:48:33 +0100 Subject: [PATCH] merge fixes merge additions --- Config.xcconfig | 2 +- .../xcshareddata/swiftpm/Package.resolved | 7 ++-- FreeAPS/Sources/APS/APSManager.swift | 14 ++++++++ .../Sources/APS/Storage/CoreDataStorage.swift | 1 + FreeAPS/Sources/Application/FreeAPSApp.swift | 14 ++++++++ FreeAPS/Sources/Models/Configs.swift | 4 +++ .../Modules/Bolus/BolusStateModel.swift | 12 +++++++ .../Settings/View/SettingsRootView.swift | 34 +++++++++---------- FreeAPS/Sources/Views/ViewModifiers.swift | 16 ++++----- 9 files changed, 74 insertions(+), 30 deletions(-) diff --git a/Config.xcconfig b/Config.xcconfig index 2c59b71910..669b94f4b8 100644 --- a/Config.xcconfig +++ b/Config.xcconfig @@ -1,5 +1,5 @@ APP_DISPLAY_NAME = iAPS -APP_VERSION = 3.7 +APP_VERSION = 3.7.1 APP_BUILD_NUMBER = 1 COPYRIGHT_NOTICE = autoISF 3.0 DEVELOPER_TEAM = ##TEAM_ID## diff --git a/FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved b/FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved index 90dcc18600..1a483f3091 100644 --- a/FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/FreeAPS.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -1,12 +1,13 @@ { + "originHash" : "52d77fc35af7fe71614051dee0b291e2a0d38522eac7ae4d37d2442e81c7530c", "pins" : [ { "identity" : "cryptoswift", "kind" : "remoteSourceControl", "location" : "https://github.com/krzyzanowskim/CryptoSwift", "state" : { - "revision" : "c9c3df6ab812de32bae61fc0cd1bf6d45170ebf0", - "version" : "1.8.2" + "revision" : "678d442c6f7828def400a70ae15968aef67ef52d", + "version" : "1.8.3" } }, { @@ -91,5 +92,5 @@ } } ], - "version" : 2 + "version" : 3 } diff --git a/FreeAPS/Sources/APS/APSManager.swift b/FreeAPS/Sources/APS/APSManager.swift index 3a6ad12374..7df641f43a 100644 --- a/FreeAPS/Sources/APS/APSManager.swift +++ b/FreeAPS/Sources/APS/APSManager.swift @@ -41,6 +41,9 @@ enum APSError: LocalizedError { case apsError(message: String) case deviceSyncError(message: String) case manualBasalTemp(message: String) + case activeBolusViewBolus + case activeBolusViewBasal + case activeBolusViewBasalandBolus var errorDescription: String? { switch self { @@ -56,6 +59,12 @@ enum APSError: LocalizedError { return "Sync error: \(message)" case let .manualBasalTemp(message): return "Manual Basal Temp : \(message)" + case .activeBolusViewBolus: + return "Suggested SMB not enacted while in Bolus View" + case .activeBolusViewBasal: + return "Suggested Temp Basal (when > 0) not enacted while in Bolus View" + case .activeBolusViewBasalandBolus: + return "Suggested Temp Basal (when > 0) and SMB not enacted while in Bolus View" } } } @@ -1300,6 +1309,11 @@ final class BaseAPSManager: APSManager, Injectable { } } + private func activeBolusView() -> Bool { + let defaults = UserDefaults.standard + return defaults.bool(forKey: IAPSconfig.inBolusView) + } + private func loopStats(loopStatRecord: LoopStats) { coredataContext.perform { let nLS = LoopStatRecord(context: self.coredataContext) diff --git a/FreeAPS/Sources/APS/Storage/CoreDataStorage.swift b/FreeAPS/Sources/APS/Storage/CoreDataStorage.swift index e13f3bcbf4..ba8f470f55 100644 --- a/FreeAPS/Sources/APS/Storage/CoreDataStorage.swift +++ b/FreeAPS/Sources/APS/Storage/CoreDataStorage.swift @@ -90,6 +90,7 @@ final class CoreDataStorage { } return insulinDistribution } + func insulinConcentration() -> (concentration: Double, increment: Double) { var conc = [InsulinConcentration]() coredataContext.performAndWait { diff --git a/FreeAPS/Sources/Application/FreeAPSApp.swift b/FreeAPS/Sources/Application/FreeAPSApp.swift index f488c6c7bf..71d3e540aa 100644 --- a/FreeAPS/Sources/Application/FreeAPSApp.swift +++ b/FreeAPS/Sources/Application/FreeAPSApp.swift @@ -81,4 +81,18 @@ import Swinject default: break } } + + private func isNewVersion() { + let userDefaults = UserDefaults.standard + var version = userDefaults.string(forKey: IAPSconfig.version) ?? "" + userDefaults.set(false, forKey: IAPSconfig.inBolusView) + + guard version.count > 1, version == (Bundle.main.releaseVersionNumber ?? "") else { + version = Bundle.main.releaseVersionNumber ?? "" + userDefaults.set(version, forKey: IAPSconfig.version) + userDefaults.set(true, forKey: IAPSconfig.newVersion) + debug(.default, "Running new version: \(version)") + return + } + } } diff --git a/FreeAPS/Sources/Models/Configs.swift b/FreeAPS/Sources/Models/Configs.swift index d206e82c1a..4825eeb875 100644 --- a/FreeAPS/Sources/Models/Configs.swift +++ b/FreeAPS/Sources/Models/Configs.swift @@ -21,6 +21,10 @@ public enum IAPSconfig { static let glassShadowOpacity: CGFloat = 0.6 static let shadowFraction: CGFloat = 2 static let minimumCarbEquivalent: Decimal = 0.6 + static let id = "iAPS.identifier" + static let version = "iAPS.version" + static let newVersion = "iAPS.newVersion" + static let inBolusView = "iAPS.inBolusView" } extension Font { diff --git a/FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift b/FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift index 7be2b3c259..50b20980fe 100644 --- a/FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift +++ b/FreeAPS/Sources/Modules/Bolus/BolusStateModel.swift @@ -285,6 +285,18 @@ extension Bolus { } return nil } + + func notActive() { + let defaults = UserDefaults.standard + defaults.set(false, forKey: IAPSconfig.inBolusView) + // print("Active: NO") // For testing + } + + func viewActive() { + let defaults = UserDefaults.standard + defaults.set(true, forKey: IAPSconfig.inBolusView) + // print("Active: YES") // For testing + } } } diff --git a/FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift b/FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift index 3a638b9fa6..89c8aaf761 100644 --- a/FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift +++ b/FreeAPS/Sources/Modules/Settings/View/SettingsRootView.swift @@ -93,24 +93,22 @@ extension Settings { Toggle("Debug options", isOn: $state.debugOptions) if state.debugOptions { Group { - HStack { - Text("NS Upload Profile and Settings") - Button("Upload") { state.uploadProfileAndSettings(true) } - .frame(maxWidth: .infinity, alignment: .trailing) - .buttonStyle(.borderedProminent) - } - - HStack { - Text("Delete All NS Overrides") - Button("Delete") { state.deleteOverrides() } - .frame(maxWidth: .infinity, alignment: .trailing) - .buttonStyle(.borderedProminent) - .tint(.red) - } /* - - HStack { - Toggle("Ignore flat CGM readings", isOn: $state.disableCGMError) - } +// HStack { +// Text("NS Upload Profile and Settings") +// Button("Upload") { state.uploadProfileAndSettings(true) } +// .frame(maxWidth: .infinity, alignment: .trailing) +// .buttonStyle(.borderedProminent) +// } +// HStack { +// Text("Delete All NS Overrides") +// Button("Delete") { state.deleteOverrides() } +// .frame(maxWidth: .infinity, alignment: .trailing) +// .buttonStyle(.borderedProminent) +// .tint(.red) +// } +// HStack { +// Toggle("Ignore flat CGM readings", isOn: $state.disableCGMError) +// } HStack { Toggle("Allow diluted insulin concentration settings", isOn: $state.allowDilution) diff --git a/FreeAPS/Sources/Views/ViewModifiers.swift b/FreeAPS/Sources/Views/ViewModifiers.swift index 8f18af4c44..c879ef845c 100644 --- a/FreeAPS/Sources/Views/ViewModifiers.swift +++ b/FreeAPS/Sources/Views/ViewModifiers.swift @@ -92,14 +92,14 @@ struct AddShadow: ViewModifier { } } -struct RaisedRectangle: View { - @Environment(\.colorScheme) var colorScheme - var body: some View { - Rectangle().fill(colorScheme == .dark ? .black : .white) - .frame(height: 1) - .addShadows() - } -} +// struct RaisedRectangle: View { +// @Environment(\.colorScheme) var colorScheme +// var body: some View { +// Rectangle().fill(colorScheme == .dark ? .black : .white) +// .frame(height: 1) +// .addShadows() +// } +// } struct TestTube: View { let opacity: CGFloat