瀏覽代碼

Add CGM app Glucose Direct (https://github.com/creepymonster/GlucoseDirectApp.git) to CGM list. Is uses same default app group as xdripswift and FreeAPS X, so no further settings are required. (#138)

* Glucose Direct

* Glucose Direct source URL and a typo
Jon B Mårtensson 4 年之前
父節點
當前提交
c3bb67b146
共有 3 個文件被更改,包括 15 次插入2 次删除
  1. 1 0
      FreeAPS/Resources/Info.plist
  2. 12 2
      FreeAPS/Sources/APS/CGM/CGMType.swift
  3. 2 0
      FreeAPS/Sources/APS/FetchGlucoseManager.swift

+ 1 - 0
FreeAPS/Resources/Info.plist

@@ -40,6 +40,7 @@
 		<string>dexcomcgm</string>
 		<string>diabox</string>
 		<string>spikeapp</string>
+		<string>libredirect</string>
 	</array>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>

+ 12 - 2
FreeAPS/Sources/APS/CGM/CGMType.swift

@@ -9,6 +9,7 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
     case dexcomG5
     case simulator
     case libreTransmitter
+    case glucoseDirect
 
     var displayName: String {
         switch self {
@@ -16,6 +17,8 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
             return "Nightscout"
         case .xdrip:
             return "xDrip"
+        case .glucoseDirect:
+            return "Glucose Direct"
         case .dexcomG6:
             return "Dexcom G6"
         case .dexcomG5:
@@ -33,6 +36,8 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
             return nil
         case .xdrip:
             return URL(string: "xdripswift://")!
+        case .glucoseDirect:
+            return URL(string: "libredirect://")!
         case .dexcomG6:
             return URL(string: "dexcomg6://")!
         case .dexcomG5:
@@ -49,6 +54,9 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
         case .xdrip:
             return URL(string: "https://github.com/JohanDegraeve/xdripswift")!
         default: return nil
+        case .glucoseDirect:
+            return URL(string: "https://github.com/creepymonster/GlucoseDirectApp")!
+        default: return nil
         }
     }
 
@@ -66,8 +74,10 @@ enum CGMType: String, JSON, CaseIterable, Identifiable {
             return NSLocalizedString("Simple simulator", comment: "Simple simulator")
         case .libreTransmitter:
             return NSLocalizedString(
-                "Direct connection with Libre 1 transmiters or Libre 2",
-                comment: "Direct connection with Libre 1 transmiters or Libre 2"
+                "Direct connection with Libre 1 transmitters or Libre 2",
+                comment: "Direct connection with Libre 1 transmitters or Libre 2"
+        case .glucoseDirect:
+            return NSLocalizedString("Shared app group", comment: "Shared app group")
             )
         }
     }

+ 2 - 0
FreeAPS/Sources/APS/FetchGlucoseManager.swift

@@ -42,6 +42,8 @@ final class BaseFetchGlucoseManager: FetchGlucoseManager, Injectable {
             glucoseSource = simulatorSource
         case .libreTransmitter:
             glucoseSource = libreTransmitter
+        case .glucoseDirect:
+            glucoseSource = appGroupSource
         }
 
         if settingsManager.settings.cgm != .libreTransmitter {