Skip to content

Commit 616d01a

Browse files
committed
[LOOP-4649] Loop Marketing Demo
1 parent e896f9e commit 616d01a

File tree

3 files changed

+22
-14
lines changed

3 files changed

+22
-14
lines changed

Loop/Managers/DeviceDataManager.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ final class DeviceDataManager {
8686

8787
public private(set) var displayGlucosePreference: DisplayGlucosePreference
8888

89-
var onlyAllowSimulators: Bool = false
89+
var deviceWhitelist = DeviceWhitelist()
9090

9191
// MARK: - CGM
9292

@@ -465,11 +465,11 @@ final class DeviceDataManager {
465465
var pumpManagers = pluginManager.availablePumpManagers + availableStaticPumpManagers
466466

467467
pumpManagers = pumpManagers.filter({ pumpManager in
468-
if onlyAllowSimulators {
469-
return pumpManager.identifier == "MockPumpManager"
470-
} else {
471-
return true
468+
guard !deviceWhitelist.pumpDevices.isEmpty else {
469+
return false
472470
}
471+
472+
return deviceWhitelist.pumpDevices.contains(pumpManager.identifier)
473473
})
474474

475475
return pumpManagers
@@ -585,11 +585,11 @@ final class DeviceDataManager {
585585
}
586586

587587
availableCGMManagers = availableCGMManagers.filter({ cgmManager in
588-
if onlyAllowSimulators {
589-
return cgmManager.identifier == "MockCGMManager"
590-
} else {
591-
return true
588+
guard !deviceWhitelist.cgmDevices.isEmpty else {
589+
return false
592590
}
591+
592+
return deviceWhitelist.cgmDevices.contains(cgmManager.identifier)
593593
})
594594

595595
return availableCGMManagers

Loop/Managers/LoopAppManager.swift

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,7 @@ class LoopAppManager: NSObject {
220220
servicesManager: deviceDataManager.servicesManager,
221221
alertIssuer: alertManager)
222222

223-
if supportManager.availableSupports.contains(where: { $0.onlyAllowSimulatorDevices }) {
224-
deviceDataManager.onlyAllowSimulators = true
225-
}
223+
setWhitelistedDevices()
226224

227225
onboardingManager = OnboardingManager(pluginManager: pluginManager,
228226
bluetoothProvider: bluetoothStateManager,
@@ -401,6 +399,18 @@ class LoopAppManager: NSObject {
401399
}
402400

403401
// MARK: - Private
402+
403+
private func setWhitelistedDevices() {
404+
var whitelistedCGMs: Set<String> = []
405+
var whitelistedPumps: Set<String> = []
406+
407+
supportManager.availableSupports.forEach {
408+
$0.deviceIdentifierWhitelist.cgmDevices.forEach({ whitelistedCGMs.insert($0) })
409+
$0.deviceIdentifierWhitelist.pumpDevices.forEach({ whitelistedPumps.insert($0) })
410+
}
411+
412+
deviceDataManager.deviceWhitelist = DeviceWhitelist(cgmDevices: Array(whitelistedCGMs), pumpDevices: Array(whitelistedPumps))
413+
}
404414

405415
private func isProtectedDataAvailable() -> Bool {
406416
let fileManager = FileManager.default

LoopTests/Managers/SupportManagerTests.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ class SupportManagerTests: XCTestCase {
3939
required init?(rawState: RawStateValue) { super.init() }
4040
var rawState: RawStateValue = [:]
4141

42-
let onlyAllowSimulatorDevices: Bool = false
4342
let showsDeleteTestDataUI: Bool = true
4443

4544
func getScenarios(from scenarioURLs: [URL]) -> [LoopScenario] { [] }
@@ -55,7 +54,6 @@ class SupportManagerTests: XCTestCase {
5554
required init?(rawState: RawStateValue) { super.init() }
5655
var rawState: RawStateValue = [:]
5756

58-
let onlyAllowSimulatorDevices: Bool = false
5957
let showsDeleteTestDataUI: Bool = true
6058

6159
func getScenarios(from scenarioURLs: [URL]) -> [LoopScenario] { [] }

0 commit comments

Comments
 (0)