createTrackerListener

private fun createTrackerListener(trackerType: HealthTrackerType): HealthTracker.TrackerEventListener

Crea un listener específico para cada tipo de tracker.

Implementa un procesamiento específico para:

  • Frecuencia cardíaca (FC + IBI)

  • Temperatura de la piel

  • Acelerómetro

Este método construye y devuelve un objeto anónimo HealthTracker.TrackerEventListener. Este listener está diseñado para manejar datos, eventos de finalización y errores para un trackerType dado.

Manejo de Datos (onDataReceived)

  • Registra la recepción de puntos de datos.

  • Itera a través de la List<DataPoint> recibida.

  • Utiliza una declaración when para delegar el procesamiento a métodos específicos basados en trackerType:

    • HealthTrackerType.HEART_RATE_CONTINUOUS: Llama a processHeartRateData.

    • HealthTrackerType.SKIN_TEMPERATURE_CONTINUOUS: Llama a processSkinTemperatureData.

    • HealthTrackerType.ACCELEROMETER_CONTINUOUS: Llama a processAccelerometerData.

    • Otros tipos: Registra una advertencia.

  • Todo el procesamiento de datos se sincroniza usando dataProcessingLock para asegurar el manejo secuencial de los datos entrantes.

Finalización de Flush (onFlushCompleted)

  • Registra que una operación de flush ha finalizado para el trackerType.

Manejo de Errores (onError)

  • Registra el error recibido del tracker.

  • Notifica al observer mediante onSamsungSdkError con detalles sobre el error y el trackerType afectado.

  • Elimina el trackerType problemático del mapa activeTrackers.

  • Registra la eliminación del tracker.

Return

Una instancia configurada de HealthTracker.TrackerEventListener.

Parameters

trackerType

El tipo de tracker para el cual crear el listener.