Samsung Health Connector
Conector avanzado para Samsung Health SDK y sensores Android.
Esta clase gestiona la conexión completa con el ecosistema de sensores de Samsung:
Samsung Health SDK: Sensores biométricos avanzados
Android Sensors: Sensores estándar del sistema
Gestión de Estados: Control de conexión y errores
Optimización de Batería: Pausar/reanudar según contexto
Arquitectura del Conector
SamsungHealthConnector
├── Samsung Health SDK
│ ├── HealthTrackingService
│ ├── HeartRateTracker (HR + IBI)
│ ├── SkinTemperatureTracker
│ └── AccelerometerTracker
├── Android Sensors
│ ├── STEP_COUNTER
│ └── LOW_LATENCY_OFFBODY_DETECT
└── State Management
├── Connection States
├── Sensor Registration
└── Error HandlingCaracterísticas Principales
1. Gestión Híbrida de Sensores
Combina Samsung Health SDK con sensores Android estándar
Fallback automático si ciertos sensores no están disponibles
Validación de datos específica por sensor
2. Contador de Pasos Simplificado
Utiliza
STEP_COUNTERpara máxima precisiónInicio desde cero en cada sesión
Manejo de reinicios del sensor
No persistencia entre sesiones
3. Detección Off-Body Inteligente
Sensor de baja latencia cuando disponible
Pausar mediciones automáticamente
Conservación de batería
Reactivación automática
4. Validación de Datos IBI
Implementa lógica oficial de Samsung
Filtrado por estado (status == 0)
Validación de valores no nulos
Consistencia entre listas IBI y estados
Flujo de Inicialización
connect() → HealthTrackingService.connectService()
↓
onConnectionSuccess() → getTrackingCapability()
↓
initializeAndSetListener() → tracker.setEventListener()
↓
onDataReceived() → processData() → observer.onXxxReceived()Gestión de Errores
Resolución Automática: Excepciones con
hasResolution()Reconexión: Intentos automáticos en desconexión
Degradación Controlada: Fallback a sensores básicos
Notificación: Errores reportados al observer
Optimizaciones de Batería
Pausar Off-Body: Detener mediciones cuando no se usa
Reactivación Inteligente: Reanudación automática
Gestión de Recursos: Liberación apropiada de listeners
Configuración Adaptativa: Ajuste según contexto de uso
Author
WiLoc Team
Since
1.0.0
Parameters
Contexto de la aplicación
Observer para recibir callbacks de datos y eventos
See also
Properties
Mapa de trackers activos
Valor inicial del sensor al iniciar
Referencia a la actividad para resolución de excepciones
Simulador para leer datos de sensores desde un archivo CSV.
Pasos de la sesión actual (siempre desde 0)
Lock para asegurar que los datos entrantes se procesan de forma secuencial. Evita que se invoque onDataReceived de nuevo antes de terminar con el lote anterior.
Lista de trackers deseados
Servicio principal de Samsung Health
Estado de registro de sensores
Listener para eventos del sensor de detección off-body.
Sensor de detección off-body
Estado de conexión del SDK
Gestor de sensores del sistema
Listener para los eventos de conexión del SDK de Samsung Health.
Listener para eventos del sensor contador de pasos.
Sensor contador de pasos
Flag de inicialización del contador
Functions
Limpia todos los trackers activos del Samsung Health SDK.
Crea un listener específico para cada tipo de tracker.
Desconecta del servicio y limpia recursos.
Obtiene el estado actual del modo de bucle del simulador CSV.
Obtiene estadísticas del contador de pasos.
Maneja los datos del sensor STEP_COUNTER.
Inicializa y establece un listener para un rastreador específico.
Inicializa el sensor de detección off-body.
Inicializa el contador de pasos utilizando el sensor STEP_COUNTER de Android y, si está habilitado, el sensor LOW_LATENCY_OFFBODY_DETECT.
Inicializa la línea base del contador de pasos.
Verifica si el SDK está conectado.
Pausa las mediciones activas de los sensores del Samsung Health SDK cuando el dispositivo se detecta fuera de la muñeca.
Procesa datos de acelerómetro del Samsung Health SDK.
Procesa datos de frecuencia cardíaca (HR) y de intervalo entre latidos (IBI).
Procesa datos de temperatura de piel.
Reinicializa el contador de pasos después de que el sensor se haya reiniciado.
Reanuda las mediciones de los Samsung Health SDK trackers.
Establece el número máximo de veces que el simulador repetirá el archivo CSV.
Cambia el modo loop dinámicamente durante la simulación
Intenta inicializar el modo de simulación de datos desde un archivo CSV.
Desregistra el listener del sensor contador de pasos.