diff --git a/app/src/main/java/eu/darken/capod/monitor/core/BlePodMonitor.kt b/app/src/main/java/eu/darken/capod/monitor/core/BlePodMonitor.kt new file mode 100644 index 00000000..19484a93 --- /dev/null +++ b/app/src/main/java/eu/darken/capod/monitor/core/BlePodMonitor.kt @@ -0,0 +1,12 @@ +package eu.darken.capod.monitor.core + +/** + * Type alias for the BLE scan pipeline. + * + * The [PodMonitor] class handles BLE advertisement scanning and device detection. + * New code should use [BlePodMonitor] to clarify that this is the BLE-only monitor, + * not the unified merge point ([DeviceMonitor]). + * + * Full rename deferred to IDE refactoring pass. + */ +typealias BlePodMonitor = PodMonitor diff --git a/app/src/main/java/eu/darken/capod/monitor/core/DeviceMonitor.kt b/app/src/main/java/eu/darken/capod/monitor/core/DeviceMonitor.kt index d5c29893..3421eb50 100644 --- a/app/src/main/java/eu/darken/capod/monitor/core/DeviceMonitor.kt +++ b/app/src/main/java/eu/darken/capod/monitor/core/DeviceMonitor.kt @@ -7,19 +7,17 @@ import javax.inject.Inject import javax.inject.Singleton /** - * Single merge point: combines BLE scan data ([PodMonitor]) with AAP connection data + * Single merge point: combines BLE scan data ([BlePodMonitor]) with AAP connection data * ([AapConnectionManager]) into unified [MonitoredDevice] objects. * - * ViewModels should observe [devices] instead of accessing PodMonitor directly. - * - * TODO: Rename to PodMonitor once old PodMonitor is renamed to BlePodMonitor. + * ViewModels should observe [devices] instead of accessing BlePodMonitor directly. */ @Singleton class DeviceMonitor @Inject constructor( - private val podMonitor: PodMonitor, + private val blePodMonitor: BlePodMonitor, private val aapManager: AapConnectionManager, ) { - val devices: Flow> = podMonitor.devices + val devices: Flow> = blePodMonitor.devices .combine(aapManager.allStates) { pods, aapStates -> pods.map { pod -> MonitoredDevice( diff --git a/app/src/main/java/eu/darken/capod/monitor/core/MonitoredDevice.kt b/app/src/main/java/eu/darken/capod/monitor/core/MonitoredDevice.kt index 55808888..908d6ca9 100644 --- a/app/src/main/java/eu/darken/capod/monitor/core/MonitoredDevice.kt +++ b/app/src/main/java/eu/darken/capod/monitor/core/MonitoredDevice.kt @@ -1,6 +1,7 @@ package eu.darken.capod.monitor.core import eu.darken.capod.common.bluetooth.BluetoothAddress +import eu.darken.capod.pods.core.BlePodSnapshot import eu.darken.capod.pods.core.DualPodDevice import eu.darken.capod.pods.core.HasCase import eu.darken.capod.pods.core.HasEarDetectionDual @@ -14,11 +15,9 @@ import eu.darken.capod.pods.core.apple.protocol.aap.AapSetting * Unified device facade combining BLE scan data and AAP connection data. * All properties are dynamically resolved from the best available source. * Consumers don't need to know whether data came from BLE or AAP. - * - * TODO: Rename to PodDevice once old PodDevice interface is renamed to BlePodSnapshot. */ data class MonitoredDevice( - internal val ble: PodDevice?, + internal val ble: BlePodSnapshot?, internal val aap: AapPodState?, ) { // Identity diff --git a/app/src/main/java/eu/darken/capod/pods/core/BlePodSnapshot.kt b/app/src/main/java/eu/darken/capod/pods/core/BlePodSnapshot.kt new file mode 100644 index 00000000..91d6404d --- /dev/null +++ b/app/src/main/java/eu/darken/capod/pods/core/BlePodSnapshot.kt @@ -0,0 +1,15 @@ +package eu.darken.capod.pods.core + +/** + * Type alias for the BLE-sourced device snapshot. + * + * The [PodDevice] interface represents BLE scan data (battery, ear detection, case state) + * extracted from Apple Continuity Protocol advertisements. + * + * New code should use [BlePodSnapshot] to clarify that this is the BLE data source, + * not the unified facade ([eu.darken.capod.monitor.core.MonitoredDevice]). + * + * Full rename of [PodDevice] → [BlePodSnapshot] across the codebase is deferred to + * an IDE refactoring pass (103 files, 470 occurrences). + */ +typealias BlePodSnapshot = PodDevice