From 0b61527112e710b2b03fc3e9ae37dd925423711c Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Fri, 13 Dec 2024 06:40:19 -0800 Subject: [PATCH] Add tdeck SVG --- .../TDECK.imageset/Contents.json | 12 +++++ .../Assets.xcassets/TDECK.imageset/t-deck.svg | 1 + Meshtastic/Enums/LoraConfigEnums.swift | 48 +++++++++++++++++++ .../Settings/Config/Module/MQTTConfig.swift | 8 ++-- 4 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 Meshtastic/Assets.xcassets/TDECK.imageset/Contents.json create mode 100644 Meshtastic/Assets.xcassets/TDECK.imageset/t-deck.svg diff --git a/Meshtastic/Assets.xcassets/TDECK.imageset/Contents.json b/Meshtastic/Assets.xcassets/TDECK.imageset/Contents.json new file mode 100644 index 00000000..b8451344 --- /dev/null +++ b/Meshtastic/Assets.xcassets/TDECK.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "t-deck.svg", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Meshtastic/Assets.xcassets/TDECK.imageset/t-deck.svg b/Meshtastic/Assets.xcassets/TDECK.imageset/t-deck.svg new file mode 100644 index 00000000..cdc53c5d --- /dev/null +++ b/Meshtastic/Assets.xcassets/TDECK.imageset/t-deck.svg @@ -0,0 +1 @@ +QWERTYIUPOASDFGHKJLaltZXCVBMN \ No newline at end of file diff --git a/Meshtastic/Enums/LoraConfigEnums.swift b/Meshtastic/Enums/LoraConfigEnums.swift index 2a2d7090..deccde0f 100644 --- a/Meshtastic/Enums/LoraConfigEnums.swift +++ b/Meshtastic/Enums/LoraConfigEnums.swift @@ -176,6 +176,54 @@ enum RegionCodes: Int, CaseIterable, Identifiable { return 100 } } + var isCountry: Bool { + switch self { + case .unset: + return false + case .us: + return true + case .eu433: + return false + case .eu868: + return false + case .cn: + return true + case .jp: + return true + case .anz: + return false + case .kr: + return true + case .tw: + return true + case .ru: + return true + case .in: + return true + case .nz865: + return true + case .th: + return true + case .ua433: + return true + case .ua868: + return true + case .lora24: + return false + case .my433: + return true + case .my919: + return true + case .sg923: + return true + case .ph433: + return true + case .ph868: + return true + case .ph915: + return true + } + } func protoEnumValue() -> Config.LoRaConfig.RegionCode { switch self { diff --git a/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift b/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift index 6694097f..fc93e6f9 100644 --- a/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift +++ b/Meshtastic/Views/Settings/Config/Module/MQTTConfig.swift @@ -347,8 +347,8 @@ struct MQTTConfig: View { nearbyTopics = [] let geocoder = CLGeocoder() if LocationsHandler.shared.locationsArray.count > 0 { - let region = RegionCodes(rawValue: Int(node?.loRaConfig?.regionCode ?? 0))?.topic - defaultTopic = "msh/" + (region ?? "UNSET") + let region = RegionCodes(rawValue: Int(node?.loRaConfig?.regionCode ?? 0)) + defaultTopic = "msh/" + (region?.topic ?? "UNSET") geocoder.reverseGeocodeLocation(LocationsHandler.shared.locationsArray.first!, completionHandler: {(placemarks, error) in if let error { Logger.services.error("Failed to reverse geocode location: \(error.localizedDescription)") @@ -357,8 +357,8 @@ struct MQTTConfig: View { if let placemarks = placemarks, let placemark = placemarks.first { let cc = locale.region?.identifier ?? "UNK" - /// Country Topic unless you are US - if placemark.isoCountryCode ?? "unknown" != cc { + /// Country Topic unless your region is a country + if !(region?.isCountry ?? false) { let countryTopic = defaultTopic + "/" + (placemark.isoCountryCode ?? "") if !countryTopic.isEmpty { nearbyTopics.append(countryTopic)