Skip to content

Commit 9835d66

Browse files
authored
Merge pull request #578 from tidepool-org/cameron/LOOP-4649-marketing-demo
2 parents a6593b3 + 01024f4 commit 9835d66

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

Loop/Managers/DeviceDataManager.swift

Lines changed: 7 additions & 7 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 {
468+
guard !deviceWhitelist.pumpDevices.isEmpty else {
471469
return true
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 {
588+
guard !deviceWhitelist.cgmDevices.isEmpty else {
591589
return true
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

0 commit comments

Comments
 (0)