소스 검색

Add OmnipodKit submodule, support use of OmnipodKit as PM

Deniz Cengiz 2 일 전
부모
커밋
c83e346658
2개의 변경된 파일135개의 추가작업 그리고 1개의 파일을 삭제
  1. 16 1
      Trio/Sources/APS/DeviceDataManager.swift
  2. 119 0
      Trio/Sources/Localizations/Main/Localizable.xcstrings

+ 16 - 1
Trio/Sources/APS/DeviceDataManager.swift

@@ -302,6 +302,10 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
         self.recommendsLoop.send()
         self.recommendsLoop.send()
     }
     }
 
 
+    public func pumpManagerTypeByIdentifier(_ identifier: String) -> PumpManagerUI.Type? {
+        staticPumpManagersByIdentifier[identifier]
+    }
+
     private func pumpManagerFromRawValue(_ rawValue: [String: Any]) -> PumpManagerUI? {
     private func pumpManagerFromRawValue(_ rawValue: [String: Any]) -> PumpManagerUI? {
         guard let rawState = rawValue["state"] as? PumpManager.RawStateValue,
         guard let rawState = rawValue["state"] as? PumpManager.RawStateValue,
               let Manager = pumpManagerTypeFromRawValue(rawValue)
               let Manager = pumpManagerTypeFromRawValue(rawValue)
@@ -317,7 +321,18 @@ final class BaseDeviceDataManager: DeviceDataManager, Injectable {
             return nil
             return nil
         }
         }
 
 
-        return staticPumpManagersByIdentifier[managerIdentifier]
+        if let pumpManager = pumpManagerTypeByIdentifier(managerIdentifier) {
+            return pumpManager
+        }
+
+        /// The pumpManager was not found for managerIdentifier. If this was for an "Omnipod" (OmniKit) or
+        /// "Omnipod-DASH" (OmniBLE), have the universal "Omni" pumpManager (OmnipodKit) handle instead.
+        let OmniStr = "Omni"
+        if managerIdentifier.hasPrefix(OmniStr) {
+            return pumpManagerTypeByIdentifier(OmniStr)
+        }
+
+        return nil
     }
     }
 
 
     // MARK: - GlucoseSource
     // MARK: - GlucoseSource

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 119 - 0
Trio/Sources/Localizations/Main/Localizable.xcstrings