initializeStepCounter

Inicializa el contador de pasos utilizando el sensor STEP_COUNTER de Android y, si está habilitado, el sensor LOW_LATENCY_OFFBODY_DETECT.

Este método realiza las siguientes acciones:

  1. Verifica Registro Existente: Si el contador de pasos ya está registrado, lo desregistra primero para asegurar un estado limpio.

  2. Adquiere SensorManager: Obtiene una instancia de SensorManager.

  3. Busca Sensor STEP_COUNTER: Intenta obtener el sensor Sensor.TYPE_STEP_COUNTER predeterminado.

    • Si se encuentra, registra detalles del sensor (nombre, proveedor, versión, consumo, resolución).

    • Registra el stepCounterListener para recibir datos de pasos.

    • Establece isStepCounterRegistered según el resultado del registro.

    • Si el registro es exitoso:

      • Reinicia stepCountInitialized a false (para activar la inicialización de la línea base con los primeros datos).

      • Notifica al observer que el listener del contador de pasos ha comenzado.

    • Si el registro falla, registra un error y notifica al observer.

    • Si no se encuentra el sensor, registra un error, notifica al observer y retorna.

  4. Inicializa Sensor Off-Body: Si HealthMonitoringConfig.OFFBODY_DETECTION_ENABLED es verdadero, llama a initializeOffBodySensor() para configurar la detección fuera del cuerpo.

  5. Manejo de Errores: Captura cualquier excepción durante la inicialización, la registra y notifica al observer a través de onSamsungSdkError.

La lógica de conteo de pasos en sí (línea base, pasos de sesión) se maneja dentro de handleStepCounterData e initializeStepCounterBaseline cuando se reciben datos reales del sensor.

See also