stepCounterListener

private val stepCounterListener: SamsungHealthConnector.<no name provided>

Listener para eventos del sensor contador de pasos.

Este SensorEventListener está diseñado específicamente para el sensor Sensor.TYPE_STEP_COUNTER. Se encarga de recibir actualizaciones de pasos y cambios en la precisión del sensor.

Responsabilidades:

  • Recepción de Datos de Pasos: Captura el número total de pasos desde el último reinicio del dispositivo cuando onSensorChanged es invocado con un evento Sensor.TYPE_STEP_COUNTER.

  • Validación de Precisión: Antes de procesar los datos de pasos, verifica que la precisión del evento (event.accuracy) sea al menos SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM. Las lecturas con precisión baja o no confiable son ignoradas para asegurar la calidad de los datos.

  • Manejo de Cambios de Precisión: El método onAccuracyChanged registra cualquier cambio en la precisión del sensor. Advierte si la precisión se degrada a SensorManager.SENSOR_STATUS_UNRELIABLE.

  • Delegación de Procesamiento: Una vez que una lectura de pasos es considerada válida (precisión aceptable), delega el valor bruto de pasos a la función handleStepCounterData para su procesamiento posterior (cálculo de pasos de sesión, manejo de reinicios del sensor, etc.).

  • Sincronización: Utiliza synchronized(dataProcessingLock) para asegurar que el procesamiento de eventos del sensor se realice de forma secuencial y segura en entornos multihilo.

Flujo en onSensorChanged:

  1. Sincronizar el acceso.

  2. Verificar si el evento es de Sensor.TYPE_STEP_COUNTER.

  3. Validar Precisión:

    • Si event.accuracy >= SensorManager.SENSOR_STATUS_ACCURACY_MEDIUM: