mirror of
https://github.com/home-assistant/android
synced 2024-10-15 20:43:06 +00:00
Let heart rate sensor get up to 10 events in case first is invalid (#3125)
* Let heart rate sensor get up to 5 events in case first is invalid * Increase to 10 events to try and get a reading
This commit is contained in:
parent
e7c18b870c
commit
49849d4587
|
@ -28,6 +28,7 @@ class HeartRateSensorManager : SensorManager, SensorEventListener {
|
|||
SENSOR_STATUS_UNRELIABLE,
|
||||
SENSOR_STATUS_NO_CONTACT
|
||||
)
|
||||
private var eventCount = 0
|
||||
private val heartRate = SensorManager.BasicSensor(
|
||||
"heart_rate",
|
||||
"sensor",
|
||||
|
@ -101,14 +102,14 @@ class HeartRateSensorManager : SensorManager, SensorEventListener {
|
|||
}
|
||||
|
||||
override fun onSensorChanged(event: SensorEvent?) {
|
||||
eventCount++
|
||||
val validReading = event?.sensor?.type == Sensor.TYPE_HEART_RATE && event.accuracy !in skipAccuracy &&
|
||||
event.values[0].roundToInt() >= 0
|
||||
if (event?.sensor?.type == Sensor.TYPE_HEART_RATE) {
|
||||
Log.d(TAG, "HR event received with accuracy: ${getAccuracy(event.accuracy)} and value: ${event.values[0]}")
|
||||
Log.d(TAG, "HR event received with accuracy: ${getAccuracy(event.accuracy)} and value: ${event.values[0]} with event count: $eventCount")
|
||||
} else
|
||||
Log.d(TAG, "No HR event received")
|
||||
if (
|
||||
event?.sensor?.type == Sensor.TYPE_HEART_RATE && event.accuracy !in skipAccuracy &&
|
||||
event.values[0].roundToInt() >= 0
|
||||
) {
|
||||
if (event != null && validReading) {
|
||||
onSensorUpdated(
|
||||
latestContext,
|
||||
heartRate,
|
||||
|
@ -119,9 +120,12 @@ class HeartRateSensorManager : SensorManager, SensorEventListener {
|
|||
)
|
||||
)
|
||||
}
|
||||
if (validReading || eventCount >= 10) {
|
||||
mySensorManager.unregisterListener(this)
|
||||
Log.d(TAG, "Heart Rate sensor listener unregistered")
|
||||
isListenerRegistered = false
|
||||
eventCount = 0
|
||||
}
|
||||
}
|
||||
|
||||
private fun getAccuracy(accuracy: Int): String {
|
||||
|
|
Loading…
Reference in a new issue