Change UART service

This commit is contained in:
Sylwester Zieliński
2022-02-14 16:28:50 +01:00
parent 91e3bcc1ea
commit a6f0f58448
12 changed files with 206 additions and 142 deletions

View File

@@ -19,6 +19,8 @@ import no.nordicsemi.android.nrftoolbox.R
import no.nordicsemi.android.nrftoolbox.viewmodel.HomeViewModel
import no.nordicsemi.android.theme.view.TitleAppBar
private const val DFU_LINK = "https://github.com/NordicSemiconductor/Android-DFU-Library"
@Composable
fun HomeScreen() {
val viewModel: HomeViewModel = hiltViewModel()
@@ -111,7 +113,7 @@ fun HomeScreen() {
Spacer(modifier = Modifier.height(16.dp))
FeatureButton(R.drawable.ic_uart, R.string.uart_module, R.string.uart_module_full) {
FeatureButton(R.drawable.ic_uart, R.string.uart_module, R.string.uart_module_full, state.isUARTModuleRunning) {
viewModel.openProfile(ProfileDestination.UART)
}
@@ -119,7 +121,7 @@ fun HomeScreen() {
val uriHandler = LocalUriHandler.current
FeatureButton(R.drawable.ic_dfu, R.string.dfu_module, R.string.dfu_module_full) {
uriHandler.openUri("https://github.com/NordicSemiconductor/Android-DFU-Library")
uriHandler.openUri(DFU_LINK)
}
Spacer(modifier = Modifier.height(16.dp))

View File

@@ -6,5 +6,6 @@ data class HomeViewState(
val isHTSModuleRunning: Boolean = false,
val isRSCSModuleRunning: Boolean = false,
val isPRXModuleRunning: Boolean = false,
val isCGMModuleRunning: Boolean = false
val isCGMModuleRunning: Boolean = false,
val isUARTModuleRunning: Boolean = false
)

View File

@@ -16,6 +16,7 @@ import no.nordicsemi.android.nrftoolbox.ProfileDestination
import no.nordicsemi.android.nrftoolbox.view.HomeViewState
import no.nordicsemi.android.prx.data.PRXRepository
import no.nordicsemi.android.rscs.data.RSCSRepository
import no.nordicsemi.android.uart.data.UARTRepository
import javax.inject.Inject
@HiltViewModel
@@ -26,7 +27,8 @@ class HomeViewModel @Inject constructor(
hrsRepository: HRSRepository,
htsRepository: HTSRepository,
prxRepository: PRXRepository,
rscsRepository: RSCSRepository
rscsRepository: RSCSRepository,
uartRepository: UARTRepository,
) : ViewModel() {
private val _state = MutableStateFlow(HomeViewState())
@@ -56,6 +58,10 @@ class HomeViewModel @Inject constructor(
rscsRepository.isRunning.onEach {
_state.value = _state.value.copy(isRSCSModuleRunning = it)
}.launchIn(viewModelScope)
uartRepository.isRunning.onEach {
_state.value = _state.value.copy(isUARTModuleRunning = it)
}.launchIn(viewModelScope)
}
fun openProfile(destination: ProfileDestination) {