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
+
+
+