Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions Loop/Managers/AnalyticsServicesManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,14 @@ final class AnalyticsServicesManager {
identify("CGM Type", value: cgmType)
}

func identifyPumpModel(_ model: String?) {
identify("Pump Model", value: model ?? "Unknown")
}

func identifyCGMModel(_ model: String?) {
identify("CGM Model", value: model ?? "Unknown")
}

// MARK: - Screens

func didDisplayBolusScreen() {
Expand Down Expand Up @@ -157,6 +165,7 @@ final class AnalyticsServicesManager {
func pumpWasRemoved() {
logEvent("Pump Removed")
identifyPumpType("None")
identifyPumpModel("None")
}

func pumpWasAdded(identifier: String) {
Expand All @@ -166,6 +175,7 @@ final class AnalyticsServicesManager {
func cgmWasRemoved() {
logEvent("CGM Removed")
identifyCGMType("None")
identifyCGMModel("None")
}

func cgmWasAdded(identifier: String) {
Expand Down
13 changes: 13 additions & 0 deletions Loop/Managers/DeviceDataManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ final class DeviceDataManager {

@Published var cgmHasValidSensorSession: Bool

private var cgmDeviceModel: String?

@Published var pumpIsAllowingAutomation: Bool

private var lastCGMLoopTrigger: Date = .distantPast
Expand Down Expand Up @@ -684,6 +686,8 @@ private extension DeviceDataManager {
cgmHasValidSensorSession = cgmManager.cgmManagerStatus.hasValidSensorSession

analyticsServicesManager.identifyCGMType(cgmManager.pluginIdentifier)
cgmDeviceModel = cgmManager.cgmManagerStatus.device?.model
analyticsServicesManager.identifyCGMModel(cgmDeviceModel)
}
// Refresh the GlucoseAlertManager's view of whether the active
// CGM does its own alerting. No active CGM ⇒ treat as "no
Expand Down Expand Up @@ -717,6 +721,7 @@ private extension DeviceDataManager {
deliveryUncertaintyAlertManager = DeliveryUncertaintyAlertManager(pumpManager: pumpManager, alertPresenter: alertPresenter)

analyticsServicesManager.identifyPumpType(pumpManager.pluginIdentifier)
analyticsServicesManager.identifyPumpModel(pumpManager.status.device.model)

updatePumpManagerBLEHeartbeatPreference()
}
Expand Down Expand Up @@ -999,6 +1004,10 @@ extension DeviceDataManager: CGMManagerDelegate {
if self.cgmHasValidSensorSession != status.hasValidSensorSession {
self.cgmHasValidSensorSession = status.hasValidSensorSession
}
if self.cgmDeviceModel != status.device?.model {
self.cgmDeviceModel = status.device?.model
self.analyticsServicesManager.identifyCGMModel(self.cgmDeviceModel)
}
}
}
}
Expand Down Expand Up @@ -1075,6 +1084,10 @@ extension DeviceDataManager: PumpManagerDelegate {

doseStore.device = status.device

if status.device.model != oldStatus.device.model {
analyticsServicesManager.identifyPumpModel(status.device.model)
}

if let newBatteryValue = status.pumpBatteryChargeRemaining,
let oldBatteryValue = oldStatus.pumpBatteryChargeRemaining,
newBatteryValue - oldBatteryValue >= LoopConstants.batteryReplacementDetectionThreshold {
Expand Down
2 changes: 2 additions & 0 deletions Loop/Managers/LoopAppManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -494,9 +494,11 @@ class LoopAppManager: NSObject {
analyticsServicesManager.identifyState()
if let pumpManager = deviceDataManager.pumpManager {
analyticsServicesManager.identifyPumpType(pumpManager.pluginIdentifier)
analyticsServicesManager.identifyPumpModel(pumpManager.status.device.model)
}
if let cgmManager = deviceDataManager.cgmManager {
analyticsServicesManager.identifyCGMType(cgmManager.pluginIdentifier)
analyticsServicesManager.identifyCGMModel(cgmManager.cgmManagerStatus.device?.model)
}
let serviceNames = servicesManager.activeServices.map { $0.pluginIdentifier }
analyticsServicesManager.identify("Services", array: serviceNames)
Expand Down