Update UART screen

This commit is contained in:
Sylwester Zielinski
2023-01-25 15:51:53 +01:00
parent 5a47f5cb6f
commit 5f71f60768
6 changed files with 25 additions and 23 deletions

View File

@@ -54,7 +54,6 @@ import no.nordicsemi.android.ui.view.SectionTitle
@Composable @Composable
internal fun ContentView(state: PRXData, onEvent: (PRXScreenViewEvent) -> Unit) { internal fun ContentView(state: PRXData, onEvent: (PRXScreenViewEvent) -> Unit) {
Column( Column(
modifier = Modifier.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally horizontalAlignment = Alignment.CenterHorizontally
) { ) {
SettingsSection(state, onEvent) SettingsSection(state, onEvent)

View File

@@ -34,7 +34,6 @@ package no.nordicsemi.android.rscs.view
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Button import androidx.compose.material3.Button
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
@@ -51,7 +50,6 @@ import no.nordicsemi.android.ui.view.BatteryLevelView
internal fun RSCSContentView(state: RSCSData, onEvent: (RSCScreenViewEvent) -> Unit) { internal fun RSCSContentView(state: RSCSData, onEvent: (RSCScreenViewEvent) -> Unit) {
Column( Column(
horizontalAlignment = Alignment.CenterHorizontally, horizontalAlignment = Alignment.CenterHorizontally,
modifier = Modifier.padding(16.dp)
) { ) {
SensorsReadingView(state = state) SensorsReadingView(state = state)

View File

@@ -42,11 +42,12 @@ import androidx.compose.ui.unit.dp
import no.nordicsemi.android.rscs.R import no.nordicsemi.android.rscs.R
import no.nordicsemi.android.rscs.data.RSCSData import no.nordicsemi.android.rscs.data.RSCSData
import no.nordicsemi.android.ui.view.KeyValueField import no.nordicsemi.android.ui.view.KeyValueField
import no.nordicsemi.android.ui.view.ScreenSection
import no.nordicsemi.android.ui.view.SectionTitle import no.nordicsemi.android.ui.view.SectionTitle
@Composable @Composable
internal fun SensorsReadingView(state: RSCSData) { internal fun SensorsReadingView(state: RSCSData) {
OutlinedCard { ScreenSection {
SectionTitle(resId = R.drawable.ic_records, title = "Records") SectionTitle(resId = R.drawable.ic_records, title = "Records")
Spacer(modifier = Modifier.height(16.dp)) Spacer(modifier = Modifier.height(16.dp))

View File

@@ -37,6 +37,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.heightIn
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
@@ -86,6 +87,7 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) ->
.fillMaxSize() .fillMaxSize()
.verticalScroll(rememberScrollState()) .verticalScroll(rememberScrollState())
.padding(16.dp) .padding(16.dp)
.heightIn(min = 400.dp)
) { ) {
ScreenSection { ScreenSection {
Column( Column(

View File

@@ -31,18 +31,19 @@
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.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.material3.Card
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import no.nordicsemi.android.uart.data.UARTData import no.nordicsemi.android.uart.data.UARTData
import no.nordicsemi.android.ui.view.ScreenSection
@Composable @Composable
internal fun UARTContentView( internal fun UARTContentView(
@@ -56,16 +57,11 @@ internal fun UARTContentView(
.fillMaxSize() .fillMaxSize()
) { ) {
Card( Box(modifier = Modifier.weight(1f)) {
modifier = Modifier ScreenSection {
.weight(1f) Column(modifier = Modifier.fillMaxWidth()) {
) { OutputSection(state.displayMessages, onEvent)
Column( }
modifier = Modifier
.fillMaxWidth()
.padding(start = 16.dp, top = 16.dp, end = 16.dp)
) {
OutputSection(state.displayMessages, onEvent)
} }
} }

View File

@@ -32,6 +32,8 @@
package no.nordicsemi.android.uart.view package no.nordicsemi.android.uart.view
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.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
@@ -39,6 +41,7 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
@@ -77,10 +80,7 @@ fun UARTScreen() {
topBar = { AppBar(state, navigateUp) { viewModel.onEvent(it) } } topBar = { AppBar(state, navigateUp) { viewModel.onEvent(it) } }
) { ) {
Column( Column(
modifier = Modifier modifier = Modifier.padding(it)
.padding(it)
.padding(16.dp)
.verticalScroll(rememberScrollState())
) { ) {
when (state.uartManagerState) { when (state.uartManagerState) {
NoDeviceState -> DeviceConnectingView() NoDeviceState -> DeviceConnectingView()
@@ -116,17 +116,23 @@ private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTV
@Composable @Composable
private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTViewModel) { private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTViewModel) {
val viewEntity = PagerViewEntity( val input = stringResource(id = R.string.uart_input)
val macros = stringResource(id = R.string.uart_macros)
val viewEntity = remember { PagerViewEntity(
listOf( listOf(
PagerViewItem(stringResource(id = R.string.uart_input)) { PagerViewItem(input) {
UARTContentView(data) { viewModel.onEvent(it) } UARTContentView(data) { viewModel.onEvent(it) }
}, },
PagerViewItem(stringResource(id = R.string.uart_macros)) { PagerViewItem(macros) {
MacroSection(state) { viewModel.onEvent(it) } MacroSection(state) { viewModel.onEvent(it) }
} }
) )
) }
PagerView(
viewEntity = viewEntity,
modifier = Modifier.fillMaxSize(),
itemSpacing = 16.dp
) )
PagerView(viewEntity)
} }
@Composable @Composable