Implement screens for DFU

This commit is contained in:
Sylwester Zieliński
2022-01-06 12:47:37 +01:00
parent c567836d01
commit c57a9c0c98
56 changed files with 384 additions and 222 deletions

View File

@@ -9,7 +9,7 @@ import javax.inject.Inject
import javax.inject.Singleton
@Singleton
internal class UARTDataHolder @Inject constructor() {
internal class UARTRepository @Inject constructor() {
private val _data = MutableStateFlow(UARTData())
val data = _data.asStateFlow()

View File

@@ -29,7 +29,7 @@ import android.text.TextUtils
import no.nordicsemi.android.ble.WriteRequest
import no.nordicsemi.android.log.LogContract
import no.nordicsemi.android.service.BatteryManager
import no.nordicsemi.android.uart.data.UARTDataHolder
import no.nordicsemi.android.uart.data.UARTRepository
import no.nordicsemi.android.utils.EMPTY
import java.util.*
@@ -42,7 +42,7 @@ private val UART_RX_CHARACTERISTIC_UUID = UUID.fromString("6E400002-B5A3-F393-E0
/** TX characteristic UUID */
private val UART_TX_CHARACTERISTIC_UUID = UUID.fromString("6E400003-B5A3-F393-E0A9-E50E24DCCA9E")
internal class UARTManager(context: Context, private val dataHolder: UARTDataHolder) : BatteryManager(context) {
internal class UARTManager(context: Context, private val dataHolder: UARTRepository) : BatteryManager(context) {
private var rxCharacteristic: BluetoothGattCharacteristic? = null
private var txCharacteristic: BluetoothGattCharacteristic? = null

View File

@@ -5,14 +5,14 @@ import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import no.nordicsemi.android.service.ForegroundBleService
import no.nordicsemi.android.uart.data.UARTDataHolder
import no.nordicsemi.android.uart.data.UARTRepository
import javax.inject.Inject
@AndroidEntryPoint
internal class UARTService : ForegroundBleService() {
@Inject
lateinit var dataHolder: UARTDataHolder
lateinit var dataHolder: UARTRepository
override val manager: UARTManager by lazy { UARTManager(this, dataHolder) }

View File

@@ -2,7 +2,7 @@ package no.nordicsemi.android.uart.viewmodel
import dagger.hilt.android.lifecycle.HiltViewModel
import no.nordicsemi.android.theme.viewmodel.CloseableViewModel
import no.nordicsemi.android.uart.data.UARTDataHolder
import no.nordicsemi.android.uart.data.UARTRepository
import no.nordicsemi.android.uart.data.UARTServiceCommand
import no.nordicsemi.android.uart.view.*
import no.nordicsemi.android.utils.exhaustive
@@ -10,7 +10,7 @@ import javax.inject.Inject
@HiltViewModel
internal class UARTViewModel @Inject constructor(
private val dataHolder: UARTDataHolder
private val dataHolder: UARTRepository
) : CloseableViewModel() {
val state = dataHolder.data