mirror of
https://github.com/aljazceru/Android-nRF-Toolbox.git
synced 2025-12-20 16:04:22 +01:00
Fix UART profile
This commit is contained in:
@@ -31,8 +31,8 @@
|
|||||||
|
|
||||||
package no.nordicsemi.android.uart.view
|
package no.nordicsemi.android.uart.view
|
||||||
|
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
@@ -62,7 +62,6 @@ import no.nordicsemi.android.service.MissingServiceResult
|
|||||||
import no.nordicsemi.android.service.SuccessResult
|
import no.nordicsemi.android.service.SuccessResult
|
||||||
import no.nordicsemi.android.service.UnknownErrorResult
|
import no.nordicsemi.android.service.UnknownErrorResult
|
||||||
import no.nordicsemi.android.uart.R
|
import no.nordicsemi.android.uart.R
|
||||||
import no.nordicsemi.android.uart.data.UARTData
|
|
||||||
import no.nordicsemi.android.uart.viewmodel.UARTViewModel
|
import no.nordicsemi.android.uart.viewmodel.UARTViewModel
|
||||||
import no.nordicsemi.android.ui.view.BackIconAppBar
|
import no.nordicsemi.android.ui.view.BackIconAppBar
|
||||||
import no.nordicsemi.android.ui.view.LoggerIconAppBar
|
import no.nordicsemi.android.ui.view.LoggerIconAppBar
|
||||||
@@ -83,22 +82,29 @@ fun UARTScreen() {
|
|||||||
modifier = Modifier.padding(it)
|
modifier = Modifier.padding(it)
|
||||||
) {
|
) {
|
||||||
when (state.uartManagerState) {
|
when (state.uartManagerState) {
|
||||||
NoDeviceState -> DeviceConnectingView()
|
NoDeviceState -> PaddingBox { DeviceConnectingView() }
|
||||||
is WorkingState -> when (state.uartManagerState.result) {
|
is WorkingState -> when (state.uartManagerState.result) {
|
||||||
is IdleResult,
|
is IdleResult,
|
||||||
is ConnectingResult -> DeviceConnectingView { NavigateUpButton(navigateUp) }
|
is ConnectingResult -> PaddingBox { DeviceConnectingView { NavigateUpButton(navigateUp) } }
|
||||||
is ConnectedResult -> DeviceConnectingView { NavigateUpButton(navigateUp) }
|
is ConnectedResult -> PaddingBox { DeviceConnectingView { NavigateUpButton(navigateUp) } }
|
||||||
is DisconnectedResult -> DeviceDisconnectedView(Reason.USER) { NavigateUpButton(navigateUp) }
|
is DisconnectedResult -> PaddingBox { DeviceDisconnectedView(Reason.USER) { NavigateUpButton(navigateUp) } }
|
||||||
is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS) { NavigateUpButton(navigateUp) }
|
is LinkLossResult -> PaddingBox { DeviceDisconnectedView(Reason.LINK_LOSS) { NavigateUpButton(navigateUp) } }
|
||||||
is MissingServiceResult -> DeviceDisconnectedView(Reason.MISSING_SERVICE) { NavigateUpButton(navigateUp) }
|
is MissingServiceResult -> PaddingBox { DeviceDisconnectedView(Reason.MISSING_SERVICE) { NavigateUpButton(navigateUp) } }
|
||||||
is UnknownErrorResult -> DeviceDisconnectedView(Reason.UNKNOWN) { NavigateUpButton(navigateUp) }
|
is UnknownErrorResult -> PaddingBox { DeviceDisconnectedView(Reason.UNKNOWN) { NavigateUpButton(navigateUp) } }
|
||||||
is SuccessResult -> SuccessScreen(state.uartManagerState.result.data, state, viewModel)
|
is SuccessResult -> SuccessScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun PaddingBox(content: @Composable () -> Unit) {
|
||||||
|
Box(modifier = Modifier.padding(16.dp)) {
|
||||||
|
content()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTViewEvent) -> Unit) {
|
private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTViewEvent) -> Unit) {
|
||||||
val toolbarName = (state.uartManagerState as? WorkingState)?.let {
|
val toolbarName = (state.uartManagerState as? WorkingState)?.let {
|
||||||
@@ -115,17 +121,13 @@ private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTV
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTViewModel) {
|
private fun SuccessScreen() {
|
||||||
val input = stringResource(id = R.string.uart_input)
|
val input = stringResource(id = R.string.uart_input)
|
||||||
val macros = stringResource(id = R.string.uart_macros)
|
val macros = stringResource(id = R.string.uart_macros)
|
||||||
val viewEntity = remember { PagerViewEntity(
|
val viewEntity = remember { PagerViewEntity(
|
||||||
listOf(
|
listOf(
|
||||||
PagerViewItem(input) {
|
PagerViewItem(input) { KeyboardView() },
|
||||||
UARTContentView(data) { viewModel.onEvent(it) }
|
PagerViewItem(macros) { MacroView() }
|
||||||
},
|
|
||||||
PagerViewItem(macros) {
|
|
||||||
MacroSection(state) { viewModel.onEvent(it) }
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
) }
|
) }
|
||||||
PagerView(
|
PagerView(
|
||||||
@@ -135,6 +137,28 @@ private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTV
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun KeyboardView() {
|
||||||
|
val viewModel: UARTViewModel = hiltViewModel()
|
||||||
|
val state = viewModel.state.collectAsState().value
|
||||||
|
(state.uartManagerState as? WorkingState)?.let {
|
||||||
|
(state.uartManagerState.result as? SuccessResult)?.let {
|
||||||
|
UARTContentView(it.data) { viewModel.onEvent(it) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
private fun MacroView() {
|
||||||
|
val viewModel: UARTViewModel = hiltViewModel()
|
||||||
|
val state = viewModel.state.collectAsState().value
|
||||||
|
(state.uartManagerState as? WorkingState)?.let {
|
||||||
|
(state.uartManagerState.result as? SuccessResult)?.let {
|
||||||
|
MacroSection(state) { viewModel.onEvent(it) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun Scroll(content: @Composable () -> Unit) {
|
fun Scroll(content: @Composable () -> Unit) {
|
||||||
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
Column(modifier = Modifier.verticalScroll(rememberScrollState())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user