Add GLS feature

This commit is contained in:
Sylwester Zieliński
2021-09-30 13:37:45 +02:00
parent 7a171a1402
commit b2da2f20eb
37 changed files with 1036 additions and 102 deletions

View File

@@ -1,6 +1,6 @@
package no.nordicsemi.android.hrs.events
package no.nordicsemi.android.hrs.data
internal data class HRSAggregatedData(
internal data class HRSData(
val heartRates: List<Int> = emptyList(),
val batteryLevel: Int = 0,
val sensorLocation: Int = 0

View File

@@ -1,9 +1,9 @@
package no.nordicsemi.android.hrs.service
import no.nordicsemi.android.hrs.events.HRSAggregatedData
import no.nordicsemi.android.hrs.data.HRSData
import no.nordicsemi.android.service.BluetoothDataReadBroadcast
import javax.inject.Inject
import javax.inject.Singleton
@Singleton
internal class HRSDataBroadcast @Inject constructor() : BluetoothDataReadBroadcast<HRSAggregatedData>()
internal class HRSDataBroadcast @Inject constructor() : BluetoothDataReadBroadcast<HRSData>()

View File

@@ -3,7 +3,7 @@ package no.nordicsemi.android.hrs.service
import android.bluetooth.BluetoothDevice
import dagger.hilt.android.AndroidEntryPoint
import no.nordicsemi.android.ble.BleManagerCallbacks
import no.nordicsemi.android.hrs.events.HRSAggregatedData
import no.nordicsemi.android.hrs.data.HRSData
import no.nordicsemi.android.service.ForegroundBleService
import no.nordicsemi.android.service.LoggableBleManager
import javax.inject.Inject
@@ -11,7 +11,7 @@ import javax.inject.Inject
@AndroidEntryPoint
internal class HRSService : ForegroundBleService<HRSManager>(), HRSManagerCallbacks {
private var data = HRSAggregatedData()
private var data = HRSData()
private val points = mutableListOf<Int>()
@Inject
@@ -46,7 +46,7 @@ internal class HRSService : ForegroundBleService<HRSManager>(), HRSManagerCallba
sendNewData(data.copy(heartRates = points))
}
private fun sendNewData(newData: HRSAggregatedData) {
private fun sendNewData(newData: HRSData) {
data = newData
localBroadcast.offer(newData)
}

View File

@@ -71,7 +71,7 @@ internal fun ContentView(state: HRSViewState, onEvent: (HRSScreenViewEvent) -> U
}
@Composable
fun LineChartView(state: HRSViewState) {
internal fun LineChartView(state: HRSViewState) {
AndroidView(
modifier = Modifier
.fillMaxWidth()
@@ -81,7 +81,7 @@ fun LineChartView(state: HRSViewState) {
)
}
fun createLineChartView(context: Context, state: HRSViewState): LineChart {
internal fun createLineChartView(context: Context, state: HRSViewState): LineChart {
return LineChart(context).apply {
setBackgroundColor(Color.WHITE)

View File

@@ -8,7 +8,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.withContext
import no.nordicsemi.android.hrs.events.HRSAggregatedData
import no.nordicsemi.android.hrs.data.HRSData
import no.nordicsemi.android.hrs.service.HRSDataBroadcast
import no.nordicsemi.android.hrs.view.DisconnectEvent
import no.nordicsemi.android.hrs.view.HRSScreenViewEvent
@@ -27,7 +27,7 @@ internal class HRSViewModel @Inject constructor(
}.launchIn(viewModelScope)
}
private fun consumeEvent(event: HRSAggregatedData) {
private fun consumeEvent(event: HRSData) {
state.value = state.value.copy(
points = event.heartRates,
batteryLevel = event.batteryLevel,