From cb06af0b6ca7e7a1f73c1592d29c2b5d239cc509 Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Tue, 9 Apr 2024 22:04:37 -0700 Subject: [PATCH] Bump version, add notification settings to settings bundle. --- Meshtastic.xcodeproj/project.pbxproj | 8 +++--- Meshtastic/Extensions/UserDefaults.swift | 6 ++++- Meshtastic/Helpers/MeshPackets.swift | 2 +- Meshtastic/Views/Settings/AppSettings.swift | 10 +++---- Settings.bundle/Root.plist | 29 ++++++++++++++++++++- 5 files changed, 43 insertions(+), 12 deletions(-) diff --git a/Meshtastic.xcodeproj/project.pbxproj b/Meshtastic.xcodeproj/project.pbxproj index 49c33914..a816ab6f 100644 --- a/Meshtastic.xcodeproj/project.pbxproj +++ b/Meshtastic.xcodeproj/project.pbxproj @@ -1627,7 +1627,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.4; + MARKETING_VERSION = 2.3.5; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1661,7 +1661,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 2.3.4; + MARKETING_VERSION = 2.3.5; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1783,7 +1783,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.4; + MARKETING_VERSION = 2.3.5; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1816,7 +1816,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 2.3.4; + MARKETING_VERSION = 2.3.5; PRODUCT_BUNDLE_IDENTIFIER = gvh.MeshtasticClient.Widgets; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Meshtastic/Extensions/UserDefaults.swift b/Meshtastic/Extensions/UserDefaults.swift index 6af3a3fd..1a3e05b2 100644 --- a/Meshtastic/Extensions/UserDefaults.swift +++ b/Meshtastic/Extensions/UserDefaults.swift @@ -67,6 +67,7 @@ extension UserDefaults { case detectionSensorRole case enableSmartPosition case newNodeNotifications + case lowBatteryNotifications case modemPreset case firmwareVersion case testIntEnum @@ -145,8 +146,11 @@ extension UserDefaults { @UserDefault(.enableSmartPosition, defaultValue: false) static var enableSmartPosition: Bool - @UserDefault(.newNodeNotifications, defaultValue: false) + @UserDefault(.newNodeNotifications, defaultValue: true) static var newNodeNotifications: Bool + + @UserDefault(.lowBatteryNotifications, defaultValue: true) + static var lowBatteryNotifications: Bool @UserDefault(.modemPreset, defaultValue: 0) static var modemPreset: Int diff --git a/Meshtastic/Helpers/MeshPackets.swift b/Meshtastic/Helpers/MeshPackets.swift index bbc57937..b422848e 100644 --- a/Meshtastic/Helpers/MeshPackets.swift +++ b/Meshtastic/Helpers/MeshPackets.swift @@ -723,7 +723,7 @@ func telemetryPacket(packet: MeshPacket, connectedNode: Int64, context: NSManage // Connected Device Metrics // ------------------------ // Low Battery notification - if telemetry.batteryLevel > 0 && telemetry.batteryLevel < 4 { + if UserDefaults.lowBatteryNotifications && telemetry.batteryLevel > 0 && telemetry.batteryLevel < 4 { let manager = LocalNotificationManager() manager.notifications = [ Notification( diff --git a/Meshtastic/Views/Settings/AppSettings.swift b/Meshtastic/Views/Settings/AppSettings.swift index b5135a62..3693df1e 100644 --- a/Meshtastic/Views/Settings/AppSettings.swift +++ b/Meshtastic/Views/Settings/AppSettings.swift @@ -54,11 +54,11 @@ struct AppSettings: View { .toggleStyle(SwitchToggleStyle(tint: .accentColor)) } - Section(header: Text("Notifications")){ - Toggle(isOn: $newNodeNotifications){ - Label("appsettings.newNodeNotifications", systemImage: "bell.fill") - } - } +// Section(header: Text("Notifications")){ +// Toggle(isOn: $newNodeNotifications){ +// Label("appsettings.newNodeNotifications", systemImage: "bell.fill") +// } +// } Section(header: Text("phone.gps")) { if #available(iOS 17.0, macOS 14.0, *) { GPSStatus() diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist index c2ab90b8..1591d7b2 100644 --- a/Settings.bundle/Root.plist +++ b/Settings.bundle/Root.plist @@ -5,6 +5,33 @@ StringsTable Root PreferenceSpecifiers - + + + Type + PSGroupSpecifier + Title + Notifications + + + Type + PSToggleSwitchSpecifier + Title + New Nodes + Key + newNodeNotifications + DefaultValue + + + + Type + PSToggleSwitchSpecifier + Title + Low Battery + Key + lowBatteryNotifications + DefaultValue + + +