From 51a9a739c2b7ee6868298505c7d13de9a279c91a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 3 May 2022 12:44:36 +0200 Subject: [PATCH 01/20] Modify UART layout --- .../nordicsemi/android/uart/data/UARTData.kt | 9 +++- .../android/uart/data/UARTManager.kt | 3 +- .../android/uart/view/UARTContentView.kt | 50 +++++++++++++------ profile_uart/src/main/res/values/strings.xml | 5 +- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt index 3980b64b..ce96c0fc 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt @@ -1,14 +1,19 @@ package no.nordicsemi.android.uart.data internal data class UARTData( - val messages: List = emptyList(), + val messages: List = emptyList(), val batteryLevel: Int? = null, ) { val displayMessages = messages.reversed().take(10) } -internal data class UARTOutputRecord( +internal data class UARTRecord( val text: String, + val type: UARTRecordType, val timestamp: Long = System.currentTimeMillis() ) + +enum class UARTRecordType { + INPUT, OUTPUT +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt index 2205529b..be65cabf 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt @@ -90,7 +90,7 @@ internal class UARTManager( setNotificationCallback(txCharacteristic).asFlow().onEach { val text: String = it.getStringValue(0) ?: String.EMPTY log(10, "\"$text\" received") - data.value = data.value.copy(messages = data.value.messages + UARTOutputRecord(text)) + data.value = data.value.copy(messages = data.value.messages + UARTRecord(text, UARTRecordType.OUTPUT)) }.launchIn(scope) requestMtu(517).enqueue() @@ -153,6 +153,7 @@ internal class UARTManager( request.split() } request.suspend() + data.value = data.value.copy(messages = data.value.messages + UARTRecord(text, UARTRecordType.INPUT)) log(10, "\"$text\" sent") } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index a4b9259d..dcf08dbe 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,6 +1,7 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* +import androidx.compose.foundation.layout.RowScopeInstance.weight import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Delete @@ -11,6 +12,8 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -19,7 +22,8 @@ import no.nordicsemi.android.theme.view.SectionTitle import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.MacroEol import no.nordicsemi.android.uart.data.UARTData -import no.nordicsemi.android.uart.data.UARTOutputRecord +import no.nordicsemi.android.uart.data.UARTRecord +import no.nordicsemi.android.uart.data.UARTRecordType import no.nordicsemi.android.utils.EMPTY import java.text.SimpleDateFormat import java.util.* @@ -34,18 +38,19 @@ internal fun UARTContentView( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.padding(16.dp) ) { - InputSection(onEvent = onEvent) - - Spacer(modifier = Modifier.size(16.dp)) - - MacroSection(viewState, onEvent) - - Spacer(modifier = Modifier.size(16.dp)) OutputSection(state.displayMessages, onEvent) Spacer(modifier = Modifier.size(16.dp)) +// MacroSection(viewState, onEvent) +// +// Spacer(modifier = Modifier.size(16.dp)) + + InputSection(onEvent = onEvent) + + Spacer(modifier = Modifier.size(16.dp)) + Button( onClick = { onEvent(DisconnectEvent) } ) { @@ -201,8 +206,8 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis } @Composable -private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { - ScreenSection { +private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { + ScreenSection(modifier = Modifier.weight(1f)) { Column( horizontalAlignment = Alignment.CenterHorizontally ) { @@ -243,7 +248,7 @@ private fun OutputSection(records: List, onEvent: (UARTViewEve } @Composable -private fun MessageItem(record: UARTOutputRecord) { +private fun MessageItem(record: UARTRecord) { Column { Text( text = record.timeToString(), @@ -252,14 +257,31 @@ private fun MessageItem(record: UARTOutputRecord) { ) Spacer(modifier = Modifier.height(4.dp)) Text( - text = record.text, - style = MaterialTheme.typography.bodyMedium + text = createRecordText(record = record), + style = MaterialTheme.typography.bodyMedium, + color = createRecordColor(record = record) ) } } +@Composable +private fun createRecordText(record: UARTRecord): String { + return when (record.type) { + UARTRecordType.INPUT -> stringResource(id = R.string.uart_input_log, record.text) + UARTRecordType.OUTPUT -> stringResource(id = R.string.uart_output_log, record.text) + } +} + +@Composable +private fun createRecordColor(record: UARTRecord): Color { + return when (record.type) { + UARTRecordType.INPUT -> colorResource(id = R.color.nordicGrass) + UARTRecordType.OUTPUT -> MaterialTheme.colorScheme.onBackground + } +} + private val datFormatter = SimpleDateFormat("dd MMMM yyyy, HH:mm:ss", Locale.ENGLISH) -private fun UARTOutputRecord.timeToString(): String { +private fun UARTRecord.timeToString(): String { return datFormatter.format(timestamp) } diff --git a/profile_uart/src/main/res/values/strings.xml b/profile_uart/src/main/res/values/strings.xml index 00bcf127..7a069e45 100644 --- a/profile_uart/src/main/res/values/strings.xml +++ b/profile_uart/src/main/res/values/strings.xml @@ -1,5 +1,5 @@ - + UART Please define a macro to send command to the device. @@ -52,4 +52,7 @@ Are you sure that you want to delete this configuration? Your data will be irretrievably lost. Confirm Cancel + + --> %s + <-- %s From bf84a464920e2ec81b21f5641897a52a261330cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 3 May 2022 13:02:13 +0200 Subject: [PATCH 02/20] Migrate to material compose alpha10 --- .../theme/view/dialog/StringListDialog.kt | 3 - .../android/uart/view/UARTAddMacroDialog.kt | 10 ++- .../android/uart/view/UARTContentView.kt | 61 +++++++++---------- settings.gradle | 4 +- 4 files changed, 36 insertions(+), 42 deletions(-) diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt index 29e31714..7199e8d5 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt @@ -32,9 +32,6 @@ fun StringListDialog(config: StringListDialogConfig) { fun StringListView(config: StringListDialogConfig) { Card( modifier = Modifier.height(300.dp), - backgroundColor = MaterialTheme.colorScheme.surfaceVariant, - shape = RoundedCornerShape(10.dp), - elevation = 0.dp ) { Column( modifier = Modifier.padding(16.dp), diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt index 3fdc6e0d..845b8ba6 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt @@ -1,13 +1,12 @@ package no.nordicsemi.android.uart.view -import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.GridCells -import androidx.compose.foundation.lazy.GridItemSpan -import androidx.compose.foundation.lazy.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.GridItemSpan +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -38,7 +37,6 @@ import no.nordicsemi.android.utils.EMPTY private const val GRID_SIZE = 5 -@OptIn(ExperimentalFoundationApi::class) @Composable internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> Unit) { val newLineChar = rememberSaveable { mutableStateOf(macro?.newLineChar ?: MacroEol.LF) } @@ -62,7 +60,7 @@ internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> U ) LazyVerticalGrid( - cells = GridCells.Fixed(GRID_SIZE), + columns = GridCells.Fixed(GRID_SIZE), modifier = Modifier .padding(horizontal = 16.dp) .wrapContentHeight() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index dcf08dbe..cb1cf801 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,7 +1,6 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* -import androidx.compose.foundation.layout.RowScopeInstance.weight import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Delete @@ -36,10 +35,12 @@ internal fun UARTContentView( ) { Column( horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(16.dp) + modifier = Modifier.padding(16.dp).fillMaxSize() ) { - OutputSection(state.displayMessages, onEvent) + ScreenSection(modifier = Modifier.fillMaxSize()) { + OutputSection(state.displayMessages, onEvent) + } Spacer(modifier = Modifier.size(16.dp)) @@ -207,40 +208,38 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis @Composable private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { - ScreenSection(modifier = Modifier.weight(1f)) { - Column( - horizontalAlignment = Alignment.CenterHorizontally + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically ) { - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - SectionTitle( - resId = R.drawable.ic_output, - title = stringResource(R.string.uart_output), - modifier = Modifier + SectionTitle( + resId = R.drawable.ic_output, + title = stringResource(R.string.uart_output), + modifier = Modifier + ) + + IconButton(onClick = { onEvent(ClearOutputItems) }) { + Icon( + Icons.Default.Delete, + contentDescription = "Clear items.", ) - - IconButton(onClick = { onEvent(ClearOutputItems) }) { - Icon( - Icons.Default.Delete, - contentDescription = "Clear items.", - ) - } } + } - Spacer(modifier = Modifier.size(16.dp)) + Spacer(modifier = Modifier.size(16.dp)) - Column(modifier = Modifier.fillMaxWidth()) { - if (records.isEmpty()) { - Text(text = stringResource(id = R.string.uart_output_placeholder)) - } else { - records.forEach { - MessageItem(record = it) + Column(modifier = Modifier.fillMaxWidth()) { + if (records.isEmpty()) { + Text(text = stringResource(id = R.string.uart_output_placeholder)) + } else { + records.forEach { + MessageItem(record = it) - Spacer(modifier = Modifier.height(16.dp)) - } + Spacer(modifier = Modifier.height(16.dp)) } } } diff --git a/settings.gradle b/settings.gradle index 68009a0f..b5488f81 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,7 +21,7 @@ dependencyResolutionManagement { library('nordic-theme', 'no.nordicsemi.android.common', 'theme').versionRef('commonlibraries') library('localbroadcastmanager', 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0') - library('material', 'com.google.android.material:material:1.6.0-alpha02') + library('material', 'com.google.android.material:material:1.6.0-rc01') version('lifecycle', '2.4.1') library('lifecycle-activity', 'androidx.lifecycle', 'lifecycle-runtime-ktx').versionRef('lifecycle') @@ -39,7 +39,7 @@ dependencyResolutionManagement { version('compose', '1.1.0') library('compose-ui', 'androidx.compose.ui', 'ui').versionRef('compose') - library('compose-material', 'androidx.compose.material3:material3:1.0.0-alpha05') + library('compose-material', 'androidx.compose.material3:material3:1.0.0-alpha10') library('compose-tooling-preview', 'androidx.compose.ui', 'ui-tooling-preview').versionRef('compose') library('compose-navigation', 'androidx.navigation:navigation-compose:2.4.1') bundle('compose', ['compose-ui', 'compose-material', 'compose-tooling-preview', 'compose-navigation']) From 141264d22f931789516bb1e59dd7a8aa27f78746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 3 May 2022 13:56:36 +0200 Subject: [PATCH 03/20] Make output section adapted to the screen size --- .../nordicsemi/android/uart/data/UARTData.kt | 2 +- .../android/uart/view/UARTContentView.kt | 27 ++++++++++++++++--- .../android/uart/view/UARTScreen.kt | 19 ++++++++----- 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt index ce96c0fc..95803e2d 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt @@ -5,7 +5,7 @@ internal data class UARTData( val batteryLevel: Int? = null, ) { - val displayMessages = messages.reversed().take(10) + val displayMessages = messages.take(50) } internal data class UARTRecord( diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index cb1cf801..14f0a027 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,6 +1,8 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Delete @@ -8,14 +10,17 @@ import androidx.compose.material.icons.filled.Edit import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.onGloballyPositioned import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import kotlinx.coroutines.launch import no.nordicsemi.android.material.you.* import no.nordicsemi.android.theme.view.SectionTitle import no.nordicsemi.android.uart.R @@ -35,10 +40,12 @@ internal fun UARTContentView( ) { Column( horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(16.dp).fillMaxSize() + modifier = Modifier + .padding(16.dp) + .fillMaxSize() ) { - ScreenSection(modifier = Modifier.fillMaxSize()) { + ScreenSection(modifier = Modifier.weight(1f)) { OutputSection(state.displayMessages, onEvent) } @@ -209,7 +216,8 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis @Composable private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { Column( - horizontalAlignment = Alignment.CenterHorizontally + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.fillMaxSize() ) { Row( modifier = Modifier.fillMaxWidth(), @@ -232,7 +240,18 @@ private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Spacer(modifier = Modifier.size(16.dp)) - Column(modifier = Modifier.fillMaxWidth()) { + val coroutineScope = rememberCoroutineScope() + val scrollState = rememberScrollState() + + Column(modifier = Modifier + .fillMaxWidth() + .verticalScroll(scrollState) + .onGloballyPositioned { + coroutineScope.launch { + scrollState.animateScrollTo(Int.MAX_VALUE) + } + } + ) { if (records.isEmpty()) { Text(text = stringResource(id = R.string.uart_output_placeholder)) } else { diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index 43ef2738..5fc75aa0 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -35,18 +35,25 @@ fun UARTScreen() { viewModel.onEvent(OpenLogger) } - Column(modifier = Modifier.verticalScroll(rememberScrollState())) { + Column(modifier = Modifier) { when (state.uartManagerState) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.uartManagerState.result) { - is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } - is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) - is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) - is MissingServiceResult -> DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) - is UnknownErrorResult -> DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) + is ConnectingResult -> Scroll { DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } } + is DisconnectedResult -> Scroll { DeviceDisconnectedView(Reason.USER, navigateUp) } + is LinkLossResult -> Scroll { DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) } + is MissingServiceResult -> Scroll { DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) } + is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } is SuccessResult -> UARTContentView(state.uartManagerState.result.data, state) { viewModel.onEvent(it) } } }.exhaustive } } } + +@Composable +fun Scroll(content: @Composable () -> Unit) { + Column(modifier = Modifier.verticalScroll(rememberScrollState())) { + content() + } +} From be04c2648530f97d14572a67137c30c54cb37295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 3 May 2022 14:57:53 +0200 Subject: [PATCH 04/20] Change scrollable for Output section --- .../android/uart/view/UARTContentView.kt | 75 +++++++++++++------ .../src/main/res/drawable/ic_sync_down.xml | 11 +++ .../main/res/drawable/ic_sync_down_off.xml | 15 ++++ profile_uart/src/main/res/values/strings.xml | 2 + 4 files changed, 79 insertions(+), 24 deletions(-) create mode 100644 profile_uart/src/main/res/drawable/ic_sync_down.xml create mode 100644 profile_uart/src/main/res/drawable/ic_sync_down_off.xml diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index 14f0a027..86d1614d 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,6 +1,9 @@ package no.nordicsemi.android.uart.view +import android.util.Log import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons @@ -8,9 +11,7 @@ import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Delete import androidx.compose.material.icons.filled.Edit import androidx.compose.material3.* -import androidx.compose.runtime.Composable -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.* import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -215,6 +216,8 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis @Composable private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { + val scrollDown = remember { mutableStateOf(true) } + Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.fillMaxSize() @@ -227,41 +230,65 @@ private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> SectionTitle( resId = R.drawable.ic_output, title = stringResource(R.string.uart_output), - modifier = Modifier + modifier = Modifier, + menu = { Menu(scrollDown, onEvent) } ) - - IconButton(onClick = { onEvent(ClearOutputItems) }) { - Icon( - Icons.Default.Delete, - contentDescription = "Clear items.", - ) - } } Spacer(modifier = Modifier.size(16.dp)) - val coroutineScope = rememberCoroutineScope() - val scrollState = rememberScrollState() + val listState = rememberLazyListState() - Column(modifier = Modifier - .fillMaxWidth() - .verticalScroll(scrollState) - .onGloballyPositioned { - coroutineScope.launch { - scrollState.animateScrollTo(Int.MAX_VALUE) - } - } + LazyColumn( + userScrollEnabled = !scrollDown.value, + modifier = Modifier + .fillMaxWidth(), + state = listState ) { if (records.isEmpty()) { - Text(text = stringResource(id = R.string.uart_output_placeholder)) + item { Text(text = stringResource(id = R.string.uart_output_placeholder)) } } else { records.forEach { - MessageItem(record = it) + item { + MessageItem(record = it) - Spacer(modifier = Modifier.height(16.dp)) + Spacer(modifier = Modifier.height(16.dp)) + } } } } + + LaunchedEffect(records) { + if (!scrollDown.value || records.isEmpty()) { + return@LaunchedEffect + } + launch { + listState.scrollToItem(records.lastIndex) + } + } + } +} + +@Composable +private fun Menu(scrollDown: MutableState, onEvent: (UARTViewEvent) -> Unit) { + val icon = when (scrollDown.value) { + true -> R.drawable.ic_sync_down_off + false -> R.drawable.ic_sync_down + } + Row { + IconButton(onClick = { scrollDown.value = !scrollDown.value }) { + Icon( + painter = painterResource(id = icon), + contentDescription = stringResource(id = R.string.uart_scroll_down) + ) + } + + IconButton(onClick = { onEvent(ClearOutputItems) }) { + Icon( + Icons.Default.Delete, + contentDescription = stringResource(id = R.string.uart_clear_items), + ) + } } } diff --git a/profile_uart/src/main/res/drawable/ic_sync_down.xml b/profile_uart/src/main/res/drawable/ic_sync_down.xml new file mode 100644 index 00000000..43315763 --- /dev/null +++ b/profile_uart/src/main/res/drawable/ic_sync_down.xml @@ -0,0 +1,11 @@ + + + + diff --git a/profile_uart/src/main/res/drawable/ic_sync_down_off.xml b/profile_uart/src/main/res/drawable/ic_sync_down_off.xml new file mode 100644 index 00000000..2b431aa6 --- /dev/null +++ b/profile_uart/src/main/res/drawable/ic_sync_down_off.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/profile_uart/src/main/res/values/strings.xml b/profile_uart/src/main/res/values/strings.xml index 7a069e45..9593605b 100644 --- a/profile_uart/src/main/res/values/strings.xml +++ b/profile_uart/src/main/res/values/strings.xml @@ -53,6 +53,8 @@ Confirm Cancel + Clear items. + Click to constantly scroll view to the latest available log. --> %s <-- %s From 718ef0f44a21b453d6afff7f82247ee84077e3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 3 May 2022 16:21:14 +0200 Subject: [PATCH 05/20] Add switch between macro and text input --- .../android/theme/view/TopAppBar.kt | 2 + .../android/uart/view/InputSection.kt | 81 +++++ .../android/uart/view/MacroSection.kt | 125 +++++++ .../android/uart/view/OutputSection.kt | 143 ++++++++ .../android/uart/view/UARTContentView.kt | 304 +----------------- .../nordicsemi/android/uart/view/UARTState.kt | 3 +- .../android/uart/view/UARTViewEvent.kt | 2 + .../android/uart/viewmodel/UARTViewModel.kt | 5 + .../src/main/res/drawable/ic_macro.xml | 10 + profile_uart/src/main/res/values/strings.xml | 1 + 10 files changed, 382 insertions(+), 294 deletions(-) create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt create mode 100644 profile_uart/src/main/res/drawable/ic_macro.xml diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt index 1c024478..99c1b426 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt @@ -71,6 +71,7 @@ fun BackIconAppBar(text: String, onClick: () -> Unit) { IconButton(onClick = { onClick() }) { Icon( Icons.Default.ArrowBack, + tint = MaterialTheme.colorScheme.onPrimary, contentDescription = stringResource(id = R.string.back_screen), ) } @@ -103,6 +104,7 @@ fun LoggerIconAppBar(text: String, onClick: () -> Unit, onLoggerClick: () -> Uni IconButton(onClick = { onClick() }) { Icon( Icons.Default.ArrowBack, + tint = MaterialTheme.colorScheme.onPrimary, contentDescription = stringResource(id = R.string.back_screen), ) } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt new file mode 100644 index 00000000..d96928be --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt @@ -0,0 +1,81 @@ +package no.nordicsemi.android.uart.view + +import androidx.compose.foundation.layout.* +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.ArrowBack +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import no.nordicsemi.android.material.you.* +import no.nordicsemi.android.theme.view.SectionTitle +import no.nordicsemi.android.uart.R +import no.nordicsemi.android.uart.data.MacroEol +import no.nordicsemi.android.utils.EMPTY + +@Composable +internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { + val text = rememberSaveable { mutableStateOf(String.EMPTY) } + val hint = stringResource(id = R.string.uart_input_hint) + val checkedItem = rememberSaveable { mutableStateOf(MacroEol.values()[0]) } + + val items = MacroEol.values().map { + RadioButtonItem(it.toDisplayString(), it == checkedItem.value) + } + val viewEntity = RadioGroupViewEntity(items) + + ScreenSection { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + SectionTitle( + resId = R.drawable.ic_input, + title = stringResource(R.string.uart_input), + menu = { + IconButton(onClick = { onEvent(MacroInputSwitchClick) }) { + Icon( + painterResource(id = R.drawable.ic_macro), + contentDescription = stringResource(id = R.string.uart_input_macro), + ) + } + } + ) + + Row(verticalAlignment = Alignment.CenterVertically) { + Text( + text = stringResource(id = R.string.uart_macro_dialog_eol), + style = MaterialTheme.typography.labelLarge + ) + + RadioButtonGroup(viewEntity) { + val i = items.indexOf(it) + checkedItem.value = MacroEol.values()[i] + } + } + + Spacer(modifier = Modifier.size(16.dp)) + + Row(verticalAlignment = Alignment.CenterVertically) { + Box(modifier = Modifier.weight(1f)) { + TextField(text = text.value, hint = hint) { + text.value = it + } + } + + Spacer(modifier = Modifier.size(16.dp)) + + Button( + onClick = { onEvent(OnRunInput(text.value, checkedItem.value)) }, + modifier = Modifier.padding(top = 6.dp) + ) { + Text(text = stringResource(id = R.string.uart_send)) + } + } + } + } +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt new file mode 100644 index 00000000..15b10475 --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt @@ -0,0 +1,125 @@ +package no.nordicsemi.android.uart.view + +import androidx.compose.foundation.layout.* +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Add +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.Edit +import androidx.compose.material3.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import no.nordicsemi.android.material.you.ScreenSection +import no.nordicsemi.android.theme.view.SectionTitle +import no.nordicsemi.android.uart.R + +@Composable +internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> Unit) { + val showAddDialog = rememberSaveable { mutableStateOf(false) } + val showDeleteDialog = rememberSaveable { mutableStateOf(false) } + + if (showAddDialog.value) { + UARTAddConfigurationDialog(onEvent) { showAddDialog.value = false } + } + + if (showDeleteDialog.value) { + DeleteConfigurationDialog(onEvent) { showDeleteDialog.value = false } + } + + ScreenSection { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + SectionTitle( + resId = R.drawable.ic_macro, + title = stringResource(R.string.uart_macros), + menu = { + IconButton(onClick = { onEvent(MacroInputSwitchClick) }) { + Icon( + painterResource(id = R.drawable.ic_input), + contentDescription = stringResource(id = R.string.uart_input_macro), + ) + } + } + ) + + Spacer(modifier = Modifier.height(16.dp)) + + Row { + Box(modifier = Modifier.weight(1f)) { + UARTConfigurationPicker(viewState, onEvent) + } + + IconButton(onClick = { showAddDialog.value = true }) { + Icon(Icons.Default.Add, stringResource(id = R.string.uart_configuration_add)) + } + + viewState.selectedConfiguration?.let { + + if (!viewState.isConfigurationEdited) { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + Icons.Default.Edit, + stringResource(id = R.string.uart_configuration_edit) + ) + } + } else { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + painterResource(id = R.drawable.ic_pencil_off), + stringResource(id = R.string.uart_configuration_edit) + ) + } + } + + IconButton(onClick = { showDeleteDialog.value = true }) { + Icon( + Icons.Default.Delete, + stringResource(id = R.string.uart_configuration_delete) + ) + } + } + } + + viewState.selectedConfiguration?.let { + Spacer(modifier = Modifier.height(16.dp)) + + UARTMacroView(it, viewState.isConfigurationEdited, onEvent) + } + } + } +} + +@Composable +private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismiss: () -> Unit) { + AlertDialog( + onDismissRequest = onDismiss, + title = { + Text( + text = stringResource(id = R.string.uart_delete_dialog_title), + style = MaterialTheme.typography.headlineSmall + ) + }, + text = { + Text(text = stringResource(id = R.string.uart_delete_dialog_info)) + }, + confirmButton = { + Button(onClick = { + onDismiss() + onEvent(OnDeleteConfiguration) + }) { + Text(text = stringResource(id = R.string.uart_delete_dialog_confirm)) + } + }, + dismissButton = { + Button(onClick = onDismiss) { + Text(text = stringResource(id = R.string.uart_delete_dialog_cancel)) + } + } + ) +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt new file mode 100644 index 00000000..093e1e0b --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt @@ -0,0 +1,143 @@ +package no.nordicsemi.android.uart.view + +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.colorResource +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import kotlinx.coroutines.launch +import no.nordicsemi.android.theme.view.SectionTitle +import no.nordicsemi.android.uart.R +import no.nordicsemi.android.uart.data.UARTRecord +import no.nordicsemi.android.uart.data.UARTRecordType +import java.text.SimpleDateFormat +import java.util.* + +@Composable +internal fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { + val scrollDown = remember { mutableStateOf(true) } + + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.fillMaxSize() + ) { + Row( + modifier = Modifier.fillMaxWidth(), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + SectionTitle( + resId = R.drawable.ic_output, + title = stringResource(R.string.uart_output), + modifier = Modifier, + menu = { Menu(scrollDown, onEvent) } + ) + } + + Spacer(modifier = Modifier.size(16.dp)) + + val listState = rememberLazyListState() + + LazyColumn( + userScrollEnabled = !scrollDown.value, + modifier = Modifier + .fillMaxWidth(), + state = listState + ) { + if (records.isEmpty()) { + item { Text(text = stringResource(id = R.string.uart_output_placeholder)) } + } else { + records.forEach { + item { + MessageItem(record = it) + + Spacer(modifier = Modifier.height(16.dp)) + } + } + } + } + + LaunchedEffect(records, scrollDown.value) { + if (!scrollDown.value || records.isEmpty()) { + return@LaunchedEffect + } + launch { + listState.scrollToItem(records.lastIndex) + } + } + } +} + +@Composable +private fun MessageItem(record: UARTRecord) { + Column { + Text( + text = record.timeToString(), + style = MaterialTheme.typography.labelMedium, + color = MaterialTheme.colorScheme.outline + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = createRecordText(record = record), + style = MaterialTheme.typography.bodyMedium, + color = createRecordColor(record = record) + ) + } +} + +@Composable +private fun Menu(scrollDown: MutableState, onEvent: (UARTViewEvent) -> Unit) { + val icon = when (scrollDown.value) { + true -> R.drawable.ic_sync_down_off + false -> R.drawable.ic_sync_down + } + Row { + IconButton(onClick = { scrollDown.value = !scrollDown.value }) { + Icon( + painter = painterResource(id = icon), + contentDescription = stringResource(id = R.string.uart_scroll_down) + ) + } + + IconButton(onClick = { onEvent(ClearOutputItems) }) { + Icon( + Icons.Default.Delete, + contentDescription = stringResource(id = R.string.uart_clear_items), + ) + } + } +} + +@Composable +private fun createRecordText(record: UARTRecord): String { + return when (record.type) { + UARTRecordType.INPUT -> stringResource(id = R.string.uart_input_log, record.text) + UARTRecordType.OUTPUT -> stringResource(id = R.string.uart_output_log, record.text) + } +} + +@Composable +private fun createRecordColor(record: UARTRecord): Color { + return when (record.type) { + UARTRecordType.INPUT -> colorResource(id = R.color.nordicGrass) + UARTRecordType.OUTPUT -> MaterialTheme.colorScheme.onBackground + } +} + +private val datFormatter = SimpleDateFormat("dd MMMM yyyy, HH:mm:ss", Locale.ENGLISH) + +private fun UARTRecord.timeToString(): String { + return datFormatter.format(timestamp) +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index 86d1614d..20b641f2 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,37 +1,18 @@ package no.nordicsemi.android.uart.view -import android.util.Log import androidx.compose.foundation.layout.* -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.foundation.rememberScrollState -import androidx.compose.foundation.verticalScroll -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Add -import androidx.compose.material.icons.filled.Delete -import androidx.compose.material.icons.filled.Edit -import androidx.compose.material3.* -import androidx.compose.runtime.* -import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.material3.Button +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.layout.onGloballyPositioned -import androidx.compose.ui.res.colorResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import kotlinx.coroutines.launch -import no.nordicsemi.android.material.you.* -import no.nordicsemi.android.theme.view.SectionTitle +import no.nordicsemi.android.material.you.ScreenSection import no.nordicsemi.android.uart.R -import no.nordicsemi.android.uart.data.MacroEol import no.nordicsemi.android.uart.data.UARTData -import no.nordicsemi.android.uart.data.UARTRecord -import no.nordicsemi.android.uart.data.UARTRecordType -import no.nordicsemi.android.utils.EMPTY -import java.text.SimpleDateFormat -import java.util.* @Composable internal fun UARTContentView( @@ -52,11 +33,11 @@ internal fun UARTContentView( Spacer(modifier = Modifier.size(16.dp)) -// MacroSection(viewState, onEvent) -// -// Spacer(modifier = Modifier.size(16.dp)) - - InputSection(onEvent = onEvent) + if (viewState.isInputVisible) { + InputSection(onEvent = onEvent) + } else { + MacroSection(viewState, onEvent) + } Spacer(modifier = Modifier.size(16.dp)) @@ -67,266 +48,3 @@ internal fun UARTContentView( } } } - -@Composable -private fun InputSection(onEvent: (UARTViewEvent) -> Unit) { - val text = rememberSaveable { mutableStateOf(String.EMPTY) } - val hint = stringResource(id = R.string.uart_input_hint) - val checkedItem = rememberSaveable { mutableStateOf(MacroEol.values()[0]) } - - val items = MacroEol.values().map { - RadioButtonItem(it.toDisplayString(), it == checkedItem.value) - } - val viewEntity = RadioGroupViewEntity(items) - - ScreenSection { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - SectionTitle(resId = R.drawable.ic_input, title = stringResource(R.string.uart_input)) - - Row(verticalAlignment = Alignment.CenterVertically) { - Text( - text = stringResource(id = R.string.uart_macro_dialog_eol), - style = MaterialTheme.typography.labelLarge - ) - - RadioButtonGroup(viewEntity) { - val i = items.indexOf(it) - checkedItem.value = MacroEol.values()[i] - } - } - - Spacer(modifier = Modifier.size(16.dp)) - - Row(verticalAlignment = Alignment.CenterVertically) { - Box(modifier = Modifier.weight(1f)) { - TextField(text = text.value, hint = hint) { - text.value = it - } - } - - Spacer(modifier = Modifier.size(16.dp)) - - Button( - onClick = { onEvent(OnRunInput(text.value, checkedItem.value)) }, - modifier = Modifier.padding(top = 6.dp) - ) { - Text(text = stringResource(id = R.string.uart_send)) - } - } - } - } -} - -@Composable -private fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> Unit) { - val showAddDialog = rememberSaveable { mutableStateOf(false) } - val showDeleteDialog = rememberSaveable { mutableStateOf(false) } - - if (showAddDialog.value) { - UARTAddConfigurationDialog(onEvent) { showAddDialog.value = false } - } - - if (showDeleteDialog.value) { - DeleteConfigurationDialog(onEvent) { showDeleteDialog.value = false } - } - - ScreenSection { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - SectionTitle(resId = R.drawable.ic_input, title = stringResource(R.string.uart_macros)) - - Spacer(modifier = Modifier.height(16.dp)) - - Row { - Box(modifier = Modifier.weight(1f)) { - UARTConfigurationPicker(viewState, onEvent) - } - - IconButton(onClick = { showAddDialog.value = true }) { - Icon(Icons.Default.Add, stringResource(id = R.string.uart_configuration_add)) - } - - viewState.selectedConfiguration?.let { - - if (!viewState.isConfigurationEdited) { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - Icons.Default.Edit, - stringResource(id = R.string.uart_configuration_edit) - ) - } - } else { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - painterResource(id = R.drawable.ic_pencil_off), - stringResource(id = R.string.uart_configuration_edit) - ) - } - } - - IconButton(onClick = { showDeleteDialog.value = true }) { - Icon( - Icons.Default.Delete, - stringResource(id = R.string.uart_configuration_delete) - ) - } - } - } - - viewState.selectedConfiguration?.let { - Spacer(modifier = Modifier.height(16.dp)) - - UARTMacroView(it, viewState.isConfigurationEdited, onEvent) - } - } - } -} - -@Composable -private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismiss: () -> Unit) { - AlertDialog( - onDismissRequest = onDismiss, - title = { - Text( - text = stringResource(id = R.string.uart_delete_dialog_title), - style = MaterialTheme.typography.headlineSmall - ) - }, - text = { - Text(text = stringResource(id = R.string.uart_delete_dialog_info)) - }, - confirmButton = { - Button(onClick = { - onDismiss() - onEvent(OnDeleteConfiguration) - }) { - Text(text = stringResource(id = R.string.uart_delete_dialog_confirm)) - } - }, - dismissButton = { - Button(onClick = onDismiss) { - Text(text = stringResource(id = R.string.uart_delete_dialog_cancel)) - } - } - ) -} - -@Composable -private fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { - val scrollDown = remember { mutableStateOf(true) } - - Column( - horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.fillMaxSize() - ) { - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically - ) { - SectionTitle( - resId = R.drawable.ic_output, - title = stringResource(R.string.uart_output), - modifier = Modifier, - menu = { Menu(scrollDown, onEvent) } - ) - } - - Spacer(modifier = Modifier.size(16.dp)) - - val listState = rememberLazyListState() - - LazyColumn( - userScrollEnabled = !scrollDown.value, - modifier = Modifier - .fillMaxWidth(), - state = listState - ) { - if (records.isEmpty()) { - item { Text(text = stringResource(id = R.string.uart_output_placeholder)) } - } else { - records.forEach { - item { - MessageItem(record = it) - - Spacer(modifier = Modifier.height(16.dp)) - } - } - } - } - - LaunchedEffect(records) { - if (!scrollDown.value || records.isEmpty()) { - return@LaunchedEffect - } - launch { - listState.scrollToItem(records.lastIndex) - } - } - } -} - -@Composable -private fun Menu(scrollDown: MutableState, onEvent: (UARTViewEvent) -> Unit) { - val icon = when (scrollDown.value) { - true -> R.drawable.ic_sync_down_off - false -> R.drawable.ic_sync_down - } - Row { - IconButton(onClick = { scrollDown.value = !scrollDown.value }) { - Icon( - painter = painterResource(id = icon), - contentDescription = stringResource(id = R.string.uart_scroll_down) - ) - } - - IconButton(onClick = { onEvent(ClearOutputItems) }) { - Icon( - Icons.Default.Delete, - contentDescription = stringResource(id = R.string.uart_clear_items), - ) - } - } -} - -@Composable -private fun MessageItem(record: UARTRecord) { - Column { - Text( - text = record.timeToString(), - style = MaterialTheme.typography.labelMedium, - color = MaterialTheme.colorScheme.outline - ) - Spacer(modifier = Modifier.height(4.dp)) - Text( - text = createRecordText(record = record), - style = MaterialTheme.typography.bodyMedium, - color = createRecordColor(record = record) - ) - } -} - -@Composable -private fun createRecordText(record: UARTRecord): String { - return when (record.type) { - UARTRecordType.INPUT -> stringResource(id = R.string.uart_input_log, record.text) - UARTRecordType.OUTPUT -> stringResource(id = R.string.uart_output_log, record.text) - } -} - -@Composable -private fun createRecordColor(record: UARTRecord): Color { - return when (record.type) { - UARTRecordType.INPUT -> colorResource(id = R.color.nordicGrass) - UARTRecordType.OUTPUT -> MaterialTheme.colorScheme.onBackground - } -} - -private val datFormatter = SimpleDateFormat("dd MMMM yyyy, HH:mm:ss", Locale.ENGLISH) - -private fun UARTRecord.timeToString(): String { - return datFormatter.format(timestamp) -} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt index 9e20b79d..0c8d4242 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt @@ -10,7 +10,8 @@ internal data class UARTViewState( val selectedConfigurationName: String? = null, val isConfigurationEdited: Boolean = false, val configurations: List = emptyList(), - val uartManagerState: HTSManagerState = NoDeviceState + val uartManagerState: HTSManagerState = NoDeviceState, + val isInputVisible: Boolean = true ) { val showEditDialog: Boolean = editedPosition != null diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTViewEvent.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTViewEvent.kt index 0fabc6e2..1c1a2ff0 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTViewEvent.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTViewEvent.kt @@ -23,3 +23,5 @@ internal object DisconnectEvent : UARTViewEvent() internal object NavigateUp : UARTViewEvent() internal object OpenLogger : UARTViewEvent() + +internal object MacroInputSwitchClick : UARTViewEvent() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt index 3bfae508..83341e93 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt @@ -83,9 +83,14 @@ internal class UARTViewModel @Inject constructor( ClearOutputItems -> repository.clearItems() OpenLogger -> repository.openLogger() is OnRunInput -> repository.sendText(event.text, event.newLineChar) + MacroInputSwitchClick -> onMacroInputSwitch() }.exhaustive } + private fun onMacroInputSwitch() { + _state.value = _state.value.copy(isInputVisible = !state.value.isInputVisible) + } + private fun onEditConfiguration() { val isEdited = _state.value.isConfigurationEdited _state.value = _state.value.copy(isConfigurationEdited = !isEdited) diff --git a/profile_uart/src/main/res/drawable/ic_macro.xml b/profile_uart/src/main/res/drawable/ic_macro.xml new file mode 100644 index 00000000..b51a7b3e --- /dev/null +++ b/profile_uart/src/main/res/drawable/ic_macro.xml @@ -0,0 +1,10 @@ + + + diff --git a/profile_uart/src/main/res/values/strings.xml b/profile_uart/src/main/res/values/strings.xml index 9593605b..68c7bf34 100644 --- a/profile_uart/src/main/res/values/strings.xml +++ b/profile_uart/src/main/res/values/strings.xml @@ -53,6 +53,7 @@ Confirm Cancel + Click to switch between text input and macro input. Clear items. Click to constantly scroll view to the latest available log. --> %s From 742d854b8baf7a38ecaa004aefbf25355272251b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Wed, 4 May 2022 14:13:14 +0200 Subject: [PATCH 06/20] WIP: tutorial screen --- .../android/service/BleManagerStatus.kt | 1 + .../nordicsemi/android/bps/view/BPSScreen.kt | 6 +-- .../nordicsemi/android/cgms/view/CGMScreen.kt | 6 +-- .../nordicsemi/android/csc/view/CSCScreen.kt | 6 +-- .../android/gls/main/view/GLSScreen.kt | 6 +-- .../nordicsemi/android/hrs/view/HRSScreen.kt | 1 + .../nordicsemi/android/hts/view/HTSScreen.kt | 6 +-- .../nordicsemi/android/prx/view/PRXScreen.kt | 6 +-- .../android/rscs/view/RSCSScreen.kt | 6 +-- profile_uart/build.gradle | 2 +- .../android/uart/repository/UARTRepository.kt | 13 +++++-- .../uart/repository/UARTSharedPrefs.kt | 20 ++++++++++ .../android/uart/view/SettingsScreen.kt | 9 +++++ .../android/uart/view/TutorialScreen.kt | 36 ++++++++++++++++++ .../android/uart/view/UARTScreen.kt | 18 +++++++-- .../nordicsemi/android/uart/view/UARTState.kt | 2 + .../android/uart/viewmodel/UARTViewModel.kt | 18 ++++++++- .../src/main/res/drawable/tutorial_1.png | Bin 0 -> 156664 bytes .../src/main/res/drawable/tutorial_2.png | Bin 0 -> 298121 bytes 19 files changed, 132 insertions(+), 30 deletions(-) create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt create mode 100644 profile_uart/src/main/res/drawable/tutorial_1.png create mode 100644 profile_uart/src/main/res/drawable/tutorial_2.png diff --git a/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt b/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt index 97dca30c..e57e07e0 100644 --- a/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt +++ b/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt @@ -15,6 +15,7 @@ sealed class BleManagerResult { } } +class IdleResult : BleManagerResult() class ConnectingResult : BleManagerResult() data class SuccessResult(val data: T) : BleManagerResult() diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt index a991dbef..f7e01c80 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.bps.R import no.nordicsemi.android.bps.viewmodel.BPSViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -37,6 +36,7 @@ fun BPSScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt index 820c8e9b..c997ce3f 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.cgms.R import no.nordicsemi.android.cgms.viewmodel.CGMScreenViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -35,6 +34,7 @@ fun CGMScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt index 33774a33..043fc6e2 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.csc.R import no.nordicsemi.android.csc.viewmodel.CSCViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -35,6 +34,7 @@ fun CSCScreen() { when (state.cscManagerState) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.cscManagerState.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(OnDisconnectButtonClick) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt index e39c952b..7b14b62b 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.gls.R import no.nordicsemi.android.gls.main.viewmodel.GLSViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -37,6 +36,7 @@ fun GLSScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt index 37ae8175..e6b4c883 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt @@ -34,6 +34,7 @@ fun HRSScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt index bf25a839..ad936c8a 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.hts.R import no.nordicsemi.android.hts.viewmodel.HTSViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -35,6 +34,7 @@ fun HTSScreen() { when (state.htsManagerState) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.htsManagerState.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt index ce53534e..c6a85fb6 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt @@ -12,12 +12,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.prx.R import no.nordicsemi.android.prx.viewmodel.PRXViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -36,6 +35,7 @@ fun PRXScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceOutOfRangeView { viewModel.onEvent(DisconnectEvent) } diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt index 2f18abf2..1b8e23d3 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt @@ -11,12 +11,11 @@ import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.rscs.R import no.nordicsemi.android.rscs.viewmodel.RSCSViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -35,6 +34,7 @@ fun RSCSScreen() { when (state) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.result) { + is IdleResult, is ConnectingResult -> DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } is DisconnectedResult -> DeviceDisconnectedView(Reason.USER, navigateUp) is LinkLossResult -> DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) diff --git a/profile_uart/build.gradle b/profile_uart/build.gradle index cc25b94c..99b1f0dc 100644 --- a/profile_uart/build.gradle +++ b/profile_uart/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'com.google.protobuf' protobuf { protoc { - artifact = 'com.google.protobuf:protoc:3.14.0' + artifact = 'com.google.protobuf:protoc:3.14.0:osx-x86_64' } // Generates the java Protobuf-lite code for the Protobufs in this project. See diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index 0469820d..07a197c4 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -10,7 +10,7 @@ import no.nordicsemi.android.ble.ktx.suspend import no.nordicsemi.android.logger.ToolboxLogger import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult -import no.nordicsemi.android.service.ConnectingResult +import no.nordicsemi.android.service.IdleResult import no.nordicsemi.android.service.ServiceManager import no.nordicsemi.android.uart.data.* import javax.inject.Inject @@ -22,14 +22,21 @@ class UARTRepository @Inject internal constructor( private val context: Context, private val serviceManager: ServiceManager, private val configurationDataSource: ConfigurationDataSource, - private val toolboxLoggerFactory: ToolboxLoggerFactory + private val toolboxLoggerFactory: ToolboxLoggerFactory, + private val sp: UARTSharedPrefs ) { private var manager: UARTManager? = null private var logger: ToolboxLogger? = null - private val _data = MutableStateFlow>(ConnectingResult()) + private val _data = MutableStateFlow>(IdleResult()) internal val data = _data.asStateFlow() + var showTutorial: Boolean + get() = sp.showTutorial + set(value) { + sp.showTutorial = value + } + val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt new file mode 100644 index 00000000..e1eab714 --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt @@ -0,0 +1,20 @@ +package no.nordicsemi.android.uart.repository + +import android.content.Context +import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject + +private const val FILE_NAME = "uart-sp" +private const val SHOW_TUTORIAL_FIELD = "show-tutorial" + +class UARTSharedPrefs @Inject constructor( + @ApplicationContext + private val context: Context +) { + + private val sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE) + + var showTutorial: Boolean + get() = sp.getBoolean(SHOW_TUTORIAL_FIELD, true) + set(value) = sp.edit().putBoolean(SHOW_TUTORIAL_FIELD, value).apply() +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt new file mode 100644 index 00000000..6aa828f2 --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt @@ -0,0 +1,9 @@ +package no.nordicsemi.android.uart.view + +import androidx.compose.runtime.Composable + +@Composable +fun SettingsScreen() { + + +} \ No newline at end of file diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt new file mode 100644 index 00000000..ef78c37d --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt @@ -0,0 +1,36 @@ +package no.nordicsemi.android.uart.view + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.painterResource +import no.nordicsemi.android.material.you.Tutorial +import no.nordicsemi.android.uart.R +import no.nordicsemi.android.uart.viewmodel.UARTViewModel + +@Composable +internal fun TutorialScreen(viewModel: UARTViewModel) { + + val page1: @Composable () -> Unit = { + Image( + painter = painterResource(id = R.drawable.tutorial_1), + contentDescription = "", + contentScale = ContentScale.Crop, + modifier = Modifier.fillMaxSize() + ) + } + val page2: @Composable () -> Unit = { + Image( + painter = painterResource(id = R.drawable.tutorial_2), + contentDescription = "", + contentScale = ContentScale.Crop, + modifier = Modifier.fillMaxSize() + ) + } + + Tutorial(listOf(page1, page2)) { + viewModel.onTutorialClose() + } +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index 5fc75aa0..9daeb29a 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -9,14 +9,13 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.service.* -import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar -import no.nordicsemi.ui.scanner.ui.DeviceConnectingView -import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.viewmodel.UARTViewModel import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.ui.DeviceConnectingView import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView +import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason @Composable @@ -39,13 +38,24 @@ fun UARTScreen() { when (state.uartManagerState) { NoDeviceState -> NoDeviceView() is WorkingState -> when (state.uartManagerState.result) { + is IdleResult, is ConnectingResult -> Scroll { DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } } is DisconnectedResult -> Scroll { DeviceDisconnectedView(Reason.USER, navigateUp) } is LinkLossResult -> Scroll { DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) } is MissingServiceResult -> Scroll { DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) } is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } - is SuccessResult -> UARTContentView(state.uartManagerState.result.data, state) { viewModel.onEvent(it) } + is SuccessResult -> { +// val i1 = PagerViewEntity( +// listOf( +// PagerViewItem("aaa") { Text("aa") }, +// PagerViewItem("bbb") { Text("bb") } +// ) +// ) +// PagerView(i1) + UARTContentView(state.uartManagerState.result.data, state) { viewModel.onEvent(it) } + } } + TutorialState -> TutorialScreen(viewModel) }.exhaustive } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt index 0c8d4242..4e4eff72 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt @@ -29,3 +29,5 @@ internal sealed class HTSManagerState internal data class WorkingState(val result: BleManagerResult) : HTSManagerState() internal object NoDeviceState : HTSManagerState() + +internal object TutorialState : HTSManagerState() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt index 83341e93..66133d8c 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt @@ -7,6 +7,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import no.nordicsemi.android.navigation.* +import no.nordicsemi.android.service.IdleResult import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTMacro import no.nordicsemi.android.uart.data.UARTPersistentDataSource @@ -30,12 +31,17 @@ internal class UARTViewModel @Inject constructor( init { viewModelScope.launch { - if (repository.isRunning.firstOrNull() == false) { + if (repository.showTutorial) { + _state.value = _state.value.copy(uartManagerState = TutorialState) + } else if (repository.isRunning.firstOrNull() == false) { requestBluetoothDevice() } } repository.data.onEach { + if (it is IdleResult) { + return@onEach + } _state.value = _state.value.copy(uartManagerState = WorkingState(it)) }.launchIn(viewModelScope) @@ -87,6 +93,16 @@ internal class UARTViewModel @Inject constructor( }.exhaustive } + fun onTutorialClose() { + repository.showTutorial = false + _state.value = _state.value.copy(uartManagerState = NoDeviceState) + viewModelScope.launch { + if (repository.isRunning.firstOrNull() == false) { + requestBluetoothDevice() + } + } + } + private fun onMacroInputSwitch() { _state.value = _state.value.copy(isInputVisible = !state.value.isInputVisible) } diff --git a/profile_uart/src/main/res/drawable/tutorial_1.png b/profile_uart/src/main/res/drawable/tutorial_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b94d1b79ff2def9ee68394b2d42e61d423f3ee5c GIT binary patch literal 156664 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 z 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 literal 0 HcmV?d00001 diff --git a/profile_uart/src/main/res/drawable/tutorial_2.png b/profile_uart/src/main/res/drawable/tutorial_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5e598adb50544519a5ba6efc45ed2819ca7d9ca7 GIT binary patch literal 298121 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%0Aban<&u~|Z{eVae8Yakn+H=oWEhjY+ijNVyT@$Dg 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 z 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�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

Qy;%Wjt@-Iv+MJ$2i8I`_D9w0nKE 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 literal 0 HcmV?d00001 From c7b2cae6a3a15f5ff3f93fa531364614e9b3ddd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Fri, 6 May 2022 14:36:56 +0200 Subject: [PATCH 07/20] Modify UART screen --- .../android/nrftoolbox/MainActivity.kt | 2 - .../android/theme/view/TopAppBar.kt | 18 ++-- lib_theme/src/main/res/values/strings.xml | 1 + .../nordicsemi/android/bps/view/BPSScreen.kt | 2 +- .../nordicsemi/android/cgms/view/CGMScreen.kt | 2 +- .../nordicsemi/android/csc/view/CSCScreen.kt | 2 +- .../android/gls/main/view/GLSScreen.kt | 2 +- .../nordicsemi/android/hrs/view/HRSScreen.kt | 2 +- .../nordicsemi/android/hts/view/HTSScreen.kt | 2 +- .../nordicsemi/android/prx/view/PRXScreen.kt | 2 +- .../android/rscs/view/RSCSScreen.kt | 2 +- profile_uart/build.gradle | 2 +- .../android/uart/view/InputSection.kt | 41 +++---- .../android/uart/view/MacroSection.kt | 100 +++++++++--------- .../android/uart/view/SettingsScreen.kt | 9 -- .../android/uart/view/UARTContentView.kt | 19 +--- .../android/uart/view/UARTMacroView.kt | 2 +- .../android/uart/view/UARTScreen.kt | 36 ++++--- profile_uart/src/main/res/values/strings.xml | 3 + settings.gradle | 4 +- 20 files changed, 119 insertions(+), 134 deletions(-) delete mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt diff --git a/app/src/main/java/no/nordicsemi/android/nrftoolbox/MainActivity.kt b/app/src/main/java/no/nordicsemi/android/nrftoolbox/MainActivity.kt index cbf1de78..26481f49 100644 --- a/app/src/main/java/no/nordicsemi/android/nrftoolbox/MainActivity.kt +++ b/app/src/main/java/no/nordicsemi/android/nrftoolbox/MainActivity.kt @@ -2,7 +2,6 @@ package no.nordicsemi.android.nrftoolbox import android.os.Bundle import androidx.activity.compose.setContent -import androidx.activity.viewModels import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface @@ -13,7 +12,6 @@ import no.nordicsemi.android.material.you.NordicActivity import no.nordicsemi.android.material.you.NordicTheme import no.nordicsemi.android.navigation.NavigationView import no.nordicsemi.android.nrftoolbox.repository.ActivitySignals -import no.nordicsemi.android.nrftoolbox.viewmodel.HomeViewModel import no.nordicsemi.ui.scanner.ScannerDestinations import javax.inject.Inject diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt index 99c1b426..da58b3db 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt @@ -4,16 +4,9 @@ import androidx.compose.foundation.layout.size import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material.icons.filled.Close -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.SmallTopAppBar -import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -80,7 +73,7 @@ fun BackIconAppBar(text: String, onClick: () -> Unit) { IconButton(onClick = { onClick() }) { Icon( painterResource(id = R.drawable.ic_logger), - contentDescription = stringResource(id = R.string.back_screen), + contentDescription = stringResource(id = R.string.open_logger), tint = MaterialTheme.colorScheme.onPrimary, modifier = Modifier.size(24.dp) ) @@ -90,7 +83,7 @@ fun BackIconAppBar(text: String, onClick: () -> Unit) { } @Composable -fun LoggerIconAppBar(text: String, onClick: () -> Unit, onLoggerClick: () -> Unit) { +fun LoggerIconAppBar(text: String, onClick: () -> Unit, onDisconnectClick: () -> Unit, onLoggerClick: () -> Unit) { SmallTopAppBar( title = { Text(text) }, colors = TopAppBarDefaults.smallTopAppBarColors( @@ -110,10 +103,13 @@ fun LoggerIconAppBar(text: String, onClick: () -> Unit, onLoggerClick: () -> Uni } }, actions = { + Button(onClick = { onDisconnectClick() }) { + Text(stringResource(id = R.string.disconnect)) + } IconButton(onClick = { onLoggerClick() }) { Icon( painterResource(id = R.drawable.ic_logger), - contentDescription = stringResource(id = R.string.back_screen), + contentDescription = stringResource(id = R.string.open_logger), tint = MaterialTheme.colorScheme.onPrimary, modifier = Modifier.size(24.dp) ) diff --git a/lib_theme/src/main/res/values/strings.xml b/lib_theme/src/main/res/values/strings.xml index 76cb2c68..a56176df 100644 --- a/lib_theme/src/main/res/values/strings.xml +++ b/lib_theme/src/main/res/values/strings.xml @@ -9,6 +9,7 @@ Close the application. Close the current screen. + Open logger application. Disconnect Battery diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt index f7e01c80..81c0fbf0 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt @@ -28,7 +28,7 @@ fun BPSScreen() { LoggerIconAppBar(stringResource(id = R.string.bps_title), { viewModel.onEvent(DisconnectEvent) - }) { + }, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt index c997ce3f..ac2bd00c 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt @@ -26,7 +26,7 @@ fun CGMScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.cgms_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.cgms_title), navigateUp, { viewModel.onEvent(DisconnectEvent)}) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt index 043fc6e2..045ba619 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt @@ -26,7 +26,7 @@ fun CSCScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.csc_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.csc_title), navigateUp, { viewModel.onEvent(OnDisconnectButtonClick) }) { viewModel.onEvent(OpenLogger) } diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt index 7b14b62b..342d672e 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt @@ -28,7 +28,7 @@ fun GLSScreen() { LoggerIconAppBar(stringResource(id = R.string.gls_title), { viewModel.onEvent(DisconnectEvent) - }) { + }, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt index e6b4c883..f2960a89 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt @@ -26,7 +26,7 @@ fun HRSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.hrs_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.hrs_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt index ad936c8a..c5075b8a 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt @@ -26,7 +26,7 @@ fun HTSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.hts_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.hts_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt index c6a85fb6..28c81e5a 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt @@ -27,7 +27,7 @@ fun PRXScreen() { Column(horizontalAlignment = Alignment.CenterHorizontally) { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.prx_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.prx_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt index 1b8e23d3..add69d15 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt @@ -26,7 +26,7 @@ fun RSCSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.rscs_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.rscs_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLoggerEvent) } diff --git a/profile_uart/build.gradle b/profile_uart/build.gradle index 99b1f0dc..cc25b94c 100644 --- a/profile_uart/build.gradle +++ b/profile_uart/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'com.google.protobuf' protobuf { protoc { - artifact = 'com.google.protobuf:protoc:3.14.0:osx-x86_64' + artifact = 'com.google.protobuf:protoc:3.14.0' } // Generates the java Protobuf-lite code for the Protobufs in this project. See diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt index d96928be..8053207b 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt @@ -1,8 +1,6 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf @@ -24,6 +22,28 @@ internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { val hint = stringResource(id = R.string.uart_input_hint) val checkedItem = rememberSaveable { mutableStateOf(MacroEol.values()[0]) } + Row(verticalAlignment = Alignment.CenterVertically) { + Box(modifier = Modifier.weight(1f)) { + TextField(text = text.value, hint = hint) { + text.value = it + } + } + + Spacer(modifier = Modifier.size(16.dp)) + + Button( + onClick = { onEvent(OnRunInput(text.value, checkedItem.value)) }, + modifier = Modifier.padding(top = 6.dp) + ) { + Text(text = stringResource(id = R.string.uart_send)) + } + } +} + +@Composable +internal fun EditInputSection(onEvent: (UARTViewEvent) -> Unit) { + val checkedItem = rememberSaveable { mutableStateOf(MacroEol.values()[0]) } + val items = MacroEol.values().map { RadioButtonItem(it.toDisplayString(), it == checkedItem.value) } @@ -59,23 +79,6 @@ internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { } Spacer(modifier = Modifier.size(16.dp)) - - Row(verticalAlignment = Alignment.CenterVertically) { - Box(modifier = Modifier.weight(1f)) { - TextField(text = text.value, hint = hint) { - text.value = it - } - } - - Spacer(modifier = Modifier.size(16.dp)) - - Button( - onClick = { onEvent(OnRunInput(text.value, checkedItem.value)) }, - modifier = Modifier.padding(top = 6.dp) - ) { - Text(text = stringResource(id = R.string.uart_send)) - } - } } } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt index 15b10475..4e059de5 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt @@ -31,66 +31,70 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> DeleteConfigurationDialog(onEvent) { showDeleteDialog.value = false } } - ScreenSection { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - SectionTitle( - resId = R.drawable.ic_macro, - title = stringResource(R.string.uart_macros), - menu = { - IconButton(onClick = { onEvent(MacroInputSwitchClick) }) { + if (viewState.showEditDialog) { + UARTAddMacroDialog(viewState.selectedMacro) { onEvent(it) } + } + + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.padding(16.dp).fillMaxSize() + ) { + ScreenSection { + Column( + horizontalAlignment = Alignment.CenterHorizontally + ) { + SectionTitle( + resId = R.drawable.ic_macro, + title = stringResource(R.string.uart_macros), + ) + + Spacer(modifier = Modifier.height(16.dp)) + + Row { + Box(modifier = Modifier.weight(1f)) { + UARTConfigurationPicker(viewState, onEvent) + } + + IconButton(onClick = { showAddDialog.value = true }) { Icon( - painterResource(id = R.drawable.ic_input), - contentDescription = stringResource(id = R.string.uart_input_macro), + Icons.Default.Add, + stringResource(id = R.string.uart_configuration_add) ) } - } - ) - Spacer(modifier = Modifier.height(16.dp)) + viewState.selectedConfiguration?.let { - Row { - Box(modifier = Modifier.weight(1f)) { - UARTConfigurationPicker(viewState, onEvent) - } + if (!viewState.isConfigurationEdited) { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + Icons.Default.Edit, + stringResource(id = R.string.uart_configuration_edit) + ) + } + } else { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + painterResource(id = R.drawable.ic_pencil_off), + stringResource(id = R.string.uart_configuration_edit) + ) + } + } - IconButton(onClick = { showAddDialog.value = true }) { - Icon(Icons.Default.Add, stringResource(id = R.string.uart_configuration_add)) + IconButton(onClick = { showDeleteDialog.value = true }) { + Icon( + Icons.Default.Delete, + stringResource(id = R.string.uart_configuration_delete) + ) + } + } } viewState.selectedConfiguration?.let { + Spacer(modifier = Modifier.height(16.dp)) - if (!viewState.isConfigurationEdited) { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - Icons.Default.Edit, - stringResource(id = R.string.uart_configuration_edit) - ) - } - } else { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - painterResource(id = R.drawable.ic_pencil_off), - stringResource(id = R.string.uart_configuration_edit) - ) - } - } - - IconButton(onClick = { showDeleteDialog.value = true }) { - Icon( - Icons.Default.Delete, - stringResource(id = R.string.uart_configuration_delete) - ) - } + UARTMacroView(it, viewState.isConfigurationEdited, onEvent) } } - - viewState.selectedConfiguration?.let { - Spacer(modifier = Modifier.height(16.dp)) - - UARTMacroView(it, viewState.isConfigurationEdited, onEvent) - } } } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt deleted file mode 100644 index 6aa828f2..00000000 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/SettingsScreen.kt +++ /dev/null @@ -1,9 +0,0 @@ -package no.nordicsemi.android.uart.view - -import androidx.compose.runtime.Composable - -@Composable -fun SettingsScreen() { - - -} \ No newline at end of file diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index 20b641f2..041aaff0 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -1,23 +1,16 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* -import androidx.compose.material3.Button -import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import no.nordicsemi.android.material.you.ScreenSection -import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.UARTData @Composable internal fun UARTContentView( state: UARTData, - viewState: UARTViewState, onEvent: (UARTViewEvent) -> Unit ) { Column( @@ -33,18 +26,8 @@ internal fun UARTContentView( Spacer(modifier = Modifier.size(16.dp)) - if (viewState.isInputVisible) { - InputSection(onEvent = onEvent) - } else { - MacroSection(viewState, onEvent) - } + InputSection(onEvent = onEvent) Spacer(modifier = Modifier.size(16.dp)) - - Button( - onClick = { onEvent(DisconnectEvent) } - ) { - Text(text = stringResource(id = R.string.disconnect)) - } } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt index 44cd24cf..2757d59b 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt @@ -19,7 +19,7 @@ import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTMacro private val divider = 4.dp -private val buttonSize = 80.dp +private val buttonSize = 80.dp //Minimum touch area @Composable internal fun UARTMacroView( diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index 9daeb29a..c9e63bf2 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -8,9 +8,13 @@ import androidx.compose.runtime.collectAsState import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel +import no.nordicsemi.android.material.you.PagerView +import no.nordicsemi.android.material.you.PagerViewEntity +import no.nordicsemi.android.material.you.PagerViewItem import no.nordicsemi.android.service.* import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.uart.R +import no.nordicsemi.android.uart.data.UARTData import no.nordicsemi.android.uart.viewmodel.UARTViewModel import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -23,14 +27,10 @@ fun UARTScreen() { val viewModel: UARTViewModel = hiltViewModel() val state = viewModel.state.collectAsState().value - if (state.showEditDialog) { - UARTAddMacroDialog(state.selectedMacro) { viewModel.onEvent(it) } - } - Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.uart_title), navigateUp) { + LoggerIconAppBar(stringResource(id = R.string.uart_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { viewModel.onEvent(OpenLogger) } @@ -44,16 +44,7 @@ fun UARTScreen() { is LinkLossResult -> Scroll { DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) } is MissingServiceResult -> Scroll { DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) } is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } - is SuccessResult -> { -// val i1 = PagerViewEntity( -// listOf( -// PagerViewItem("aaa") { Text("aa") }, -// PagerViewItem("bbb") { Text("bb") } -// ) -// ) -// PagerView(i1) - UARTContentView(state.uartManagerState.result.data, state) { viewModel.onEvent(it) } - } + is SuccessResult -> SuccessScreen(state.uartManagerState.result.data, state, viewModel) } TutorialState -> TutorialScreen(viewModel) }.exhaustive @@ -61,6 +52,21 @@ fun UARTScreen() { } } +@Composable +private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTViewModel) { + val viewEntity = PagerViewEntity( + listOf( + PagerViewItem(stringResource(id = R.string.uart_input)) { + UARTContentView(data) { viewModel.onEvent(it) } + }, + PagerViewItem(stringResource(id = R.string.uart_macros)) { + MacroSection(state) { viewModel.onEvent(it) } + } + ) + ) + PagerView(viewEntity) +} + @Composable fun Scroll(content: @Composable () -> Unit) { Column(modifier = Modifier.verticalScroll(rememberScrollState())) { diff --git a/profile_uart/src/main/res/values/strings.xml b/profile_uart/src/main/res/values/strings.xml index 68c7bf34..c20c1fdf 100644 --- a/profile_uart/src/main/res/values/strings.xml +++ b/profile_uart/src/main/res/values/strings.xml @@ -58,4 +58,7 @@ Click to constantly scroll view to the latest available log. --> %s <-- %s + + Settings + Go to settings screen. diff --git a/settings.gradle b/settings.gradle index b5488f81..7f780275 100644 --- a/settings.gradle +++ b/settings.gradle @@ -37,9 +37,9 @@ dependencyResolutionManagement { library('datastore-protobuf', 'com.google.protobuf:protobuf-javalite:3.18.0') bundle('datastore', ['datastore-core', 'datastore-prefs', 'datastore-protobuf']) - version('compose', '1.1.0') + version('compose', '1.2.0-alpha07') library('compose-ui', 'androidx.compose.ui', 'ui').versionRef('compose') - library('compose-material', 'androidx.compose.material3:material3:1.0.0-alpha10') + library('compose-material', 'androidx.compose.material3:material3:1.0.0-alpha09') library('compose-tooling-preview', 'androidx.compose.ui', 'ui-tooling-preview').versionRef('compose') library('compose-navigation', 'androidx.navigation:navigation-compose:2.4.1') bundle('compose', ['compose-ui', 'compose-material', 'compose-tooling-preview', 'compose-navigation']) From ef5b741a99c8cfbe0c47553e0480b098727a07c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 10:52:00 +0200 Subject: [PATCH 08/20] Add sticky scrolling to bottom --- .../android/uart/view/OutputSection.kt | 39 ++++++++----------- .../android/uart/view/UARTContentView.kt | 2 - 2 files changed, 16 insertions(+), 25 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt index 093e1e0b..3cacb8ae 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt @@ -2,6 +2,7 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn +import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Delete @@ -9,12 +10,14 @@ import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text -import androidx.compose.runtime.* +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.colorResource -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch @@ -27,8 +30,6 @@ import java.util.* @Composable internal fun OutputSection(records: List, onEvent: (UARTViewEvent) -> Unit) { - val scrollDown = remember { mutableStateOf(true) } - Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.fillMaxSize() @@ -42,19 +43,20 @@ internal fun OutputSection(records: List, onEvent: (UARTViewEvent) - resId = R.drawable.ic_output, title = stringResource(R.string.uart_output), modifier = Modifier, - menu = { Menu(scrollDown, onEvent) } + menu = { Menu(onEvent) } ) } Spacer(modifier = Modifier.size(16.dp)) - val listState = rememberLazyListState() + val scrollState = rememberLazyListState() + val scrollDown = remember { + derivedStateOf { scrollState.isScrolledToTheEnd() } + } LazyColumn( - userScrollEnabled = !scrollDown.value, - modifier = Modifier - .fillMaxWidth(), - state = listState + modifier = Modifier.fillMaxWidth(), + state = scrollState ) { if (records.isEmpty()) { item { Text(text = stringResource(id = R.string.uart_output_placeholder)) } @@ -74,12 +76,14 @@ internal fun OutputSection(records: List, onEvent: (UARTViewEvent) - return@LaunchedEffect } launch { - listState.scrollToItem(records.lastIndex) + scrollState.scrollToItem(records.lastIndex) } } } } +fun LazyListState.isScrolledToTheEnd() = layoutInfo.visibleItemsInfo.lastOrNull()?.index == layoutInfo.totalItemsCount - 1 + @Composable private fun MessageItem(record: UARTRecord) { Column { @@ -98,19 +102,8 @@ private fun MessageItem(record: UARTRecord) { } @Composable -private fun Menu(scrollDown: MutableState, onEvent: (UARTViewEvent) -> Unit) { - val icon = when (scrollDown.value) { - true -> R.drawable.ic_sync_down_off - false -> R.drawable.ic_sync_down - } +private fun Menu(onEvent: (UARTViewEvent) -> Unit) { Row { - IconButton(onClick = { scrollDown.value = !scrollDown.value }) { - Icon( - painter = painterResource(id = icon), - contentDescription = stringResource(id = R.string.uart_scroll_down) - ) - } - IconButton(onClick = { onEvent(ClearOutputItems) }) { Icon( Icons.Default.Delete, diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index 041aaff0..4806e6c2 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -27,7 +27,5 @@ internal fun UARTContentView( Spacer(modifier = Modifier.size(16.dp)) InputSection(onEvent = onEvent) - - Spacer(modifier = Modifier.size(16.dp)) } } From a2f8b70bba3656bb73e83edefd569965aa4d2e0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 13:18:30 +0200 Subject: [PATCH 09/20] Change macro screen button size and layout --- .../theme/view/dialog/StringListDialog.kt | 51 ++++---------- .../android/uart/view/MacroSection.kt | 63 +++++++++-------- .../uart/view/UARTAddConfigurationDialog.kt | 68 ++++++------------- .../android/uart/view/UARTMacroView.kt | 61 ++++++++++------- profile_uart/src/main/res/values/strings.xml | 2 +- 5 files changed, 102 insertions(+), 143 deletions(-) diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt index 7199e8d5..f930491d 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/dialog/StringListDialog.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.AlertDialog import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.material3.TextButton @@ -17,40 +18,16 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Dialog -import no.nordicsemi.android.material.you.Card import no.nordicsemi.android.theme.R @Composable fun StringListDialog(config: StringListDialogConfig) { - Dialog(onDismissRequest = { config.onResult(FlowCanceled) }) { - StringListView(config) - } -} - -@Composable -fun StringListView(config: StringListDialogConfig) { - Card( - modifier = Modifier.height(300.dp), - ) { - Column( - modifier = Modifier.padding(16.dp), - verticalArrangement = Arrangement.SpaceBetween - ) { - Column( - modifier = Modifier.fillMaxWidth(), - ) { - Text( - text = config.title ?: stringResource(id = R.string.dialog).toAnnotatedString(), - style = MaterialTheme.typography.headlineMedium - ) - } - - Spacer(modifier = Modifier.size(8.dp)) - + AlertDialog( + onDismissRequest = { config.onResult(FlowCanceled) }, + title = { Text(text = config.title ?: stringResource(id = R.string.dialog).toAnnotatedString()) }, + text = { Column( modifier = Modifier - .fillMaxHeight(0.8f) .verticalScroll(rememberScrollState()) ) { @@ -78,17 +55,13 @@ fun StringListView(config: StringListDialogConfig) { } } } - - Column( - modifier = Modifier.fillMaxWidth(), - horizontalAlignment = Alignment.End - ) { - TextButton(onClick = { config.onResult(FlowCanceled) }) { - Text( - text = stringResource(id = R.string.cancel), - ) - } + }, + confirmButton = { + TextButton(onClick = { config.onResult(FlowCanceled) }) { + Text( + text = stringResource(id = R.string.cancel), + ) } } - } + ) } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt index 4e059de5..3c5305fe 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt @@ -2,7 +2,6 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Delete import androidx.compose.material.icons.filled.Edit import androidx.compose.material3.* @@ -37,7 +36,9 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> Column( horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(16.dp).fillMaxSize() + modifier = Modifier + .padding(16.dp) + .fillMaxSize() ) { ScreenSection { Column( @@ -46,6 +47,31 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> SectionTitle( resId = R.drawable.ic_macro, title = stringResource(R.string.uart_macros), + menu = { + viewState.selectedConfiguration?.let { + if (!viewState.isConfigurationEdited) { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + Icons.Default.Edit, + stringResource(id = R.string.uart_configuration_edit) + ) + } + } else { + IconButton(onClick = { onEvent(OnEditConfiguration) }) { + Icon( + painterResource(id = R.drawable.ic_pencil_off), + stringResource(id = R.string.uart_configuration_edit) + ) + } + } + IconButton(onClick = { showDeleteDialog.value = true }) { + Icon( + Icons.Default.Delete, + stringResource(id = R.string.uart_configuration_delete) + ) + } + } + } ) Spacer(modifier = Modifier.height(16.dp)) @@ -55,37 +81,10 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> UARTConfigurationPicker(viewState, onEvent) } - IconButton(onClick = { showAddDialog.value = true }) { - Icon( - Icons.Default.Add, - stringResource(id = R.string.uart_configuration_add) - ) - } + Spacer(modifier = Modifier.size(16.dp)) - viewState.selectedConfiguration?.let { - - if (!viewState.isConfigurationEdited) { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - Icons.Default.Edit, - stringResource(id = R.string.uart_configuration_edit) - ) - } - } else { - IconButton(onClick = { onEvent(OnEditConfiguration) }) { - Icon( - painterResource(id = R.drawable.ic_pencil_off), - stringResource(id = R.string.uart_configuration_edit) - ) - } - } - - IconButton(onClick = { showDeleteDialog.value = true }) { - Icon( - Icons.Default.Delete, - stringResource(id = R.string.uart_configuration_delete) - ) - } + Button(onClick = { showAddDialog.value = true }) { + Text(stringResource(id = R.string.uart_configuration_add)) } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt index 5e922bd1..dc999960 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt @@ -1,20 +1,15 @@ package no.nordicsemi.android.uart.view -import androidx.compose.foundation.layout.* -import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.layout.Column +import androidx.compose.material3.AlertDialog import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Dialog import no.nordicsemi.android.material.you.TextField import no.nordicsemi.android.uart.R import no.nordicsemi.android.utils.EMPTY @@ -24,47 +19,28 @@ internal fun UARTAddConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDism val name = rememberSaveable { mutableStateOf(String.EMPTY) } val isError = rememberSaveable { mutableStateOf(false) } - Dialog(onDismissRequest = { onDismiss() }) { - Surface( - color = MaterialTheme.colorScheme.background, - shape = RoundedCornerShape(10.dp), - shadowElevation = 2.dp, - ) { - Column(verticalArrangement = Arrangement.SpaceBetween) { - Text( - text = stringResource(id = R.string.uart_configuration_dialog_title), - style = MaterialTheme.typography.headlineSmall, - modifier = Modifier - .fillMaxWidth() - .padding(16.dp) - ) - - NameInput(name, isError) - - Row( - modifier = Modifier.fillMaxWidth().padding(horizontal = 16.dp), - horizontalArrangement = Arrangement.End - ) { - TextButton(onClick = { onDismiss() }) { - Text(stringResource(id = R.string.uart_macro_dialog_dismiss)) - } - - Spacer(modifier = Modifier.size(16.dp)) - - TextButton(onClick = { - if (isNameValid(name.value)) { - onDismiss() - onEvent(OnAddConfiguration(name.value)) - } else { - isError.value = true - } - }) { - Text(stringResource(id = R.string.uart_macro_dialog_confirm)) - } + AlertDialog( + onDismissRequest = { onDismiss() }, + title = { Text(stringResource(id = R.string.uart_configuration_dialog_title)) }, + text = { NameInput(name, isError) }, + confirmButton = { + TextButton(onClick = { + if (isNameValid(name.value)) { + onDismiss() + onEvent(OnAddConfiguration(name.value)) + } else { + isError.value = true } + }) { + Text(stringResource(id = R.string.uart_macro_dialog_confirm)) + } + }, + dismissButton = { + TextButton(onClick = { onDismiss() }) { + Text(stringResource(id = R.string.uart_macro_dialog_dismiss)) } } - } + ) } @Composable @@ -72,7 +48,7 @@ private fun NameInput( name: MutableState, isError: MutableState ) { - Column(modifier = Modifier.padding(16.dp)) { + Column { TextField( text = name.value, hint = stringResource(id = R.string.uart_configuration_hint) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt index 2757d59b..e9c3496e 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTMacroView.kt @@ -13,13 +13,13 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTMacro private val divider = 4.dp -private val buttonSize = 80.dp //Minimum touch area @Composable internal fun UARTMacroView( @@ -27,34 +27,42 @@ internal fun UARTMacroView( isEdited: Boolean, onEvent: (UARTViewEvent) -> Unit ) { - Column(modifier = Modifier.padding(horizontal = 16.dp)) { - - Row { - Item(configuration, isEdited, 0, onEvent) - Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 1, onEvent) - Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 2, onEvent) + BoxWithConstraints { + val buttonSize = if (maxWidth < 260.dp) { + 48.dp //Minimum touch area + } else { + 80.dp } - Spacer(modifier = Modifier.size(divider)) + Column(modifier = Modifier.padding(horizontal = 16.dp)) { - Row { - Item(configuration, isEdited, 3, onEvent) - Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 4, onEvent) - Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 5, onEvent) - } + Row { + Item(configuration, isEdited, 0, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 1, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 2, buttonSize, onEvent) + } - Spacer(modifier = Modifier.size(divider)) + Spacer(modifier = Modifier.size(divider)) + + Row { + Item(configuration, isEdited, 3, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 4, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 5, buttonSize, onEvent) + } - Row { - Item(configuration, isEdited, 6, onEvent) Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 7, onEvent) - Spacer(modifier = Modifier.size(divider)) - Item(configuration, isEdited, 8, onEvent) + + Row { + Item(configuration, isEdited, 6, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 7, buttonSize, onEvent) + Spacer(modifier = Modifier.size(divider)) + Item(configuration, isEdited, 8, buttonSize, onEvent) + } } } } @@ -64,14 +72,15 @@ private fun Item( configuration: UARTConfiguration, isEdited: Boolean, position: Int, + buttonSize: Dp, onEvent: (UARTViewEvent) -> Unit ) { val macro = configuration.macros.getOrNull(position) if (macro == null) { - EmptyButton(isEdited, position, onEvent) + EmptyButton(isEdited, position, buttonSize, onEvent) } else { - MacroButton(macro, position, isEdited, onEvent) + MacroButton(macro, position, isEdited, buttonSize, onEvent) } } @@ -80,6 +89,7 @@ private fun MacroButton( macro: UARTMacro, position: Int, isEdited: Boolean, + buttonSize: Dp, onEvent: (UARTViewEvent) -> Unit ) { Image( @@ -104,6 +114,7 @@ private fun MacroButton( private fun EmptyButton( isEdited: Boolean, position: Int, + buttonSize: Dp, onEvent: (UARTViewEvent) -> Unit ) { Box( diff --git a/profile_uart/src/main/res/values/strings.xml b/profile_uart/src/main/res/values/strings.xml index c20c1fdf..227945d9 100644 --- a/profile_uart/src/main/res/values/strings.xml +++ b/profile_uart/src/main/res/values/strings.xml @@ -4,7 +4,7 @@ Please define a macro to send command to the device. - Add selected configuration. + Add Delete selected configuration. Edit selected configuration. From ca1a519726a5bed1918d550a50a9c3f5bc3b2a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 13:35:14 +0200 Subject: [PATCH 10/20] Clear input after sending --- .../java/no/nordicsemi/android/uart/view/InputSection.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt index 8053207b..767cc051 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt @@ -32,7 +32,10 @@ internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { Spacer(modifier = Modifier.size(16.dp)) Button( - onClick = { onEvent(OnRunInput(text.value, checkedItem.value)) }, + onClick = { + onEvent(OnRunInput(text.value, checkedItem.value)) + text.value = String.EMPTY + }, modifier = Modifier.padding(top = 6.dp) ) { Text(text = stringResource(id = R.string.uart_send)) From bd485ee996bcc8bc68b9029b120d3974bc8a24de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 15:05:49 +0200 Subject: [PATCH 11/20] Change colors for dark theme --- .../android/theme/view/TopAppBar.kt | 2 +- .../android/uart/view/OutputSection.kt | 90 ++++++++++++------- 2 files changed, 59 insertions(+), 33 deletions(-) diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt index da58b3db..4782bc8b 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt @@ -103,7 +103,7 @@ fun LoggerIconAppBar(text: String, onClick: () -> Unit, onDisconnectClick: () -> } }, actions = { - Button(onClick = { onDisconnectClick() }) { + TextButton(onClick = { onDisconnectClick() }) { Text(stringResource(id = R.string.disconnect)) } IconButton(onClick = { onLoggerClick() }) { diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt index 3cacb8ae..8628e387 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt @@ -1,9 +1,11 @@ package no.nordicsemi.android.uart.view +import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Delete import androidx.compose.material3.Icon @@ -16,8 +18,7 @@ import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.colorResource +import androidx.compose.ui.draw.clip import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch @@ -63,7 +64,10 @@ internal fun OutputSection(records: List, onEvent: (UARTViewEvent) - } else { records.forEach { item { - MessageItem(record = it) + when (it.type) { + UARTRecordType.INPUT -> MessageItemInput(record = it) + UARTRecordType.OUTPUT -> MessageItemOutput(record = it) + } Spacer(modifier = Modifier.height(16.dp)) } @@ -85,19 +89,57 @@ internal fun OutputSection(records: List, onEvent: (UARTViewEvent) - fun LazyListState.isScrolledToTheEnd() = layoutInfo.visibleItemsInfo.lastOrNull()?.index == layoutInfo.totalItemsCount - 1 @Composable -private fun MessageItem(record: UARTRecord) { - Column { - Text( - text = record.timeToString(), - style = MaterialTheme.typography.labelMedium, - color = MaterialTheme.colorScheme.outline - ) - Spacer(modifier = Modifier.height(4.dp)) - Text( - text = createRecordText(record = record), - style = MaterialTheme.typography.bodyMedium, - color = createRecordColor(record = record) - ) +private fun MessageItemInput(record: UARTRecord) { + Box( + modifier = Modifier.fillMaxWidth(), + contentAlignment = Alignment.CenterEnd + ) { + Column( + modifier = Modifier + .clip(RoundedCornerShape(topStart = 10.dp, topEnd = 10.dp, bottomStart = 10.dp)) + .background(MaterialTheme.colorScheme.secondary) + .padding(8.dp), + horizontalAlignment = Alignment.End + ) { + Text( + text = record.timeToString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.inverseOnSurface + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = record.text, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSecondary + ) + } + } +} + +@Composable +private fun MessageItemOutput(record: UARTRecord) { + Box( + modifier = Modifier.fillMaxWidth(), + contentAlignment = Alignment.CenterStart + ) { + Column( + modifier = Modifier + .clip(RoundedCornerShape(topStart = 10.dp, topEnd = 10.dp, bottomEnd = 10.dp)) + .background(MaterialTheme.colorScheme.primary) + .padding(8.dp) + ) { + Text( + text = record.timeToString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.inverseOnSurface, + ) + Spacer(modifier = Modifier.height(4.dp)) + Text( + text = record.text, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onPrimary + ) + } } } @@ -113,22 +155,6 @@ private fun Menu(onEvent: (UARTViewEvent) -> Unit) { } } -@Composable -private fun createRecordText(record: UARTRecord): String { - return when (record.type) { - UARTRecordType.INPUT -> stringResource(id = R.string.uart_input_log, record.text) - UARTRecordType.OUTPUT -> stringResource(id = R.string.uart_output_log, record.text) - } -} - -@Composable -private fun createRecordColor(record: UARTRecord): Color { - return when (record.type) { - UARTRecordType.INPUT -> colorResource(id = R.color.nordicGrass) - UARTRecordType.OUTPUT -> MaterialTheme.colorScheme.onBackground - } -} - private val datFormatter = SimpleDateFormat("dd MMMM yyyy, HH:mm:ss", Locale.ENGLISH) private fun UARTRecord.timeToString(): String { From 76da017c63f068938510cbbe979c6c82ee22b19f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 16:08:26 +0200 Subject: [PATCH 12/20] Add fixes to UART screen --- app/src/main/AndroidManifest.xml | 1 + .../android/theme/view/TopAppBar.kt | 9 +++++- .../android/uart/view/MacroSection.kt | 5 ++- .../android/uart/view/OutputSection.kt | 32 +++++++++---------- .../android/uart/view/UARTContentView.kt | 15 +++++++-- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 238b7db8..a9baf0a5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -34,6 +34,7 @@ android:exported="true" android:label="@string/app_name" android:launchMode="singleTask" + android:windowSoftInputMode="stateVisible|adjustResize" android:theme="@style/AppTheme.SplashScreen"> diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt index 4782bc8b..f03b4059 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt @@ -7,6 +7,7 @@ import androidx.compose.material.icons.filled.Close import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -103,7 +104,13 @@ fun LoggerIconAppBar(text: String, onClick: () -> Unit, onDisconnectClick: () -> } }, actions = { - TextButton(onClick = { onDisconnectClick() }) { + TextButton( + onClick = { onDisconnectClick() }, + colors = ButtonDefaults.buttonColors( + containerColor = Color.Transparent, + contentColor = MaterialTheme.colorScheme.onPrimary + ) + ) { Text(stringResource(id = R.string.disconnect)) } IconButton(onClick = { onLoggerClick() }) { diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt index 3c5305fe..f6480fba 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt @@ -1,6 +1,8 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Delete import androidx.compose.material.icons.filled.Edit @@ -37,8 +39,9 @@ internal fun MacroSection(viewState: UARTViewState, onEvent: (UARTViewEvent) -> Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier - .padding(16.dp) .fillMaxSize() + .verticalScroll(rememberScrollState()) + .padding(16.dp) ) { ScreenSection { Column( diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt index 8628e387..06ff4911 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/OutputSection.kt @@ -90,10 +90,16 @@ fun LazyListState.isScrolledToTheEnd() = layoutInfo.visibleItemsInfo.lastOrNull( @Composable private fun MessageItemInput(record: UARTRecord) { - Box( + Column( modifier = Modifier.fillMaxWidth(), - contentAlignment = Alignment.CenterEnd + horizontalAlignment = Alignment.End ) { + Text( + text = record.timeToString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.onSurface + ) + Spacer(modifier = Modifier.height(4.dp)) Column( modifier = Modifier .clip(RoundedCornerShape(topStart = 10.dp, topEnd = 10.dp, bottomStart = 10.dp)) @@ -101,12 +107,6 @@ private fun MessageItemInput(record: UARTRecord) { .padding(8.dp), horizontalAlignment = Alignment.End ) { - Text( - text = record.timeToString(), - style = MaterialTheme.typography.labelSmall, - color = MaterialTheme.colorScheme.inverseOnSurface - ) - Spacer(modifier = Modifier.height(4.dp)) Text( text = record.text, style = MaterialTheme.typography.bodyMedium, @@ -118,22 +118,22 @@ private fun MessageItemInput(record: UARTRecord) { @Composable private fun MessageItemOutput(record: UARTRecord) { - Box( + Column( modifier = Modifier.fillMaxWidth(), - contentAlignment = Alignment.CenterStart + horizontalAlignment = Alignment.Start ) { + Text( + text = record.timeToString(), + style = MaterialTheme.typography.labelSmall, + color = MaterialTheme.colorScheme.onSurface, + ) + Spacer(modifier = Modifier.height(4.dp)) Column( modifier = Modifier .clip(RoundedCornerShape(topStart = 10.dp, topEnd = 10.dp, bottomEnd = 10.dp)) .background(MaterialTheme.colorScheme.primary) .padding(8.dp) ) { - Text( - text = record.timeToString(), - style = MaterialTheme.typography.labelSmall, - color = MaterialTheme.colorScheme.inverseOnSurface, - ) - Spacer(modifier = Modifier.height(4.dp)) Text( text = record.text, style = MaterialTheme.typography.bodyMedium, diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt index 4806e6c2..a42272c2 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTContentView.kt @@ -5,7 +5,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import no.nordicsemi.android.material.you.ScreenSection +import no.nordicsemi.android.material.you.Card import no.nordicsemi.android.uart.data.UARTData @Composable @@ -20,8 +20,17 @@ internal fun UARTContentView( .fillMaxSize() ) { - ScreenSection(modifier = Modifier.weight(1f)) { - OutputSection(state.displayMessages, onEvent) + Card( + modifier = Modifier + .weight(1f) + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(start = 16.dp, top = 16.dp, end = 16.dp) + ) { + OutputSection(state.displayMessages, onEvent) + } } Spacer(modifier = Modifier.size(16.dp)) From 4221a942798fb6c398b1f758998aa50cbeb90156 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Mon, 9 May 2022 17:11:05 +0200 Subject: [PATCH 13/20] Wip --- .../android/uart/view/InputSection.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt index 767cc051..72b37a92 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt @@ -1,6 +1,8 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.* +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf @@ -10,7 +12,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import no.nordicsemi.android.material.you.* +import no.nordicsemi.android.material.you.RadioButtonGroup +import no.nordicsemi.android.material.you.RadioButtonItem +import no.nordicsemi.android.material.you.RadioGroupViewEntity +import no.nordicsemi.android.material.you.ScreenSection import no.nordicsemi.android.theme.view.SectionTitle import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.MacroEol @@ -24,9 +29,17 @@ internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { Row(verticalAlignment = Alignment.CenterVertically) { Box(modifier = Modifier.weight(1f)) { - TextField(text = text.value, hint = hint) { - text.value = it - } + + TextField( + modifier = Modifier + .fillMaxWidth() + .height(6.dp) + .verticalScroll(rememberScrollState()), + value = text.value, + label = { Text(hint) }, + onValueChange = { newValue: String -> + text.value = newValue + }) } Spacer(modifier = Modifier.size(16.dp)) From 7c08a933e37a9c87a585081e3a0a120c163aacb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 10:02:40 +0200 Subject: [PATCH 14/20] Change TextField to OutlinedTextField for UART --- .../java/no/nordicsemi/android/uart/view/InputSection.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt index 72b37a92..2a2e0021 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/InputSection.kt @@ -30,16 +30,17 @@ internal fun InputSection(onEvent: (UARTViewEvent) -> Unit) { Row(verticalAlignment = Alignment.CenterVertically) { Box(modifier = Modifier.weight(1f)) { - TextField( + OutlinedTextField( modifier = Modifier .fillMaxWidth() - .height(6.dp) + .height(60.dp) .verticalScroll(rememberScrollState()), value = text.value, label = { Text(hint) }, onValueChange = { newValue: String -> text.value = newValue - }) + } + ) } Spacer(modifier = Modifier.size(16.dp)) From 10a727313ce052b317ce1294c2d4a9e23bd26e6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 10:25:30 +0200 Subject: [PATCH 15/20] Style dialogs for UART --- lib_theme/src/main/res/values/strings.xml | 2 +- .../android/uart/view/MacroSection.kt | 4 +- .../android/uart/view/UARTAddMacroDialog.kt | 145 +++++++----------- 3 files changed, 60 insertions(+), 91 deletions(-) diff --git a/lib_theme/src/main/res/values/strings.xml b/lib_theme/src/main/res/values/strings.xml index a56176df..720465f7 100644 --- a/lib_theme/src/main/res/values/strings.xml +++ b/lib_theme/src/main/res/values/strings.xml @@ -3,7 +3,7 @@ nRF Toolbox Dialog - CANCEL + Cancel Back diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt index f6480fba..edd534f6 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/MacroSection.kt @@ -115,7 +115,7 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis Text(text = stringResource(id = R.string.uart_delete_dialog_info)) }, confirmButton = { - Button(onClick = { + TextButton(onClick = { onDismiss() onEvent(OnDeleteConfiguration) }) { @@ -123,7 +123,7 @@ private fun DeleteConfigurationDialog(onEvent: (UARTViewEvent) -> Unit, onDismis } }, dismissButton = { - Button(onClick = onDismiss) { + TextButton(onClick = onDismiss) { Text(text = stringResource(id = R.string.uart_delete_dialog_cancel)) } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt index 845b8ba6..eeaa4a04 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt @@ -8,8 +8,8 @@ import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.AlertDialog import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable @@ -24,7 +24,6 @@ import androidx.compose.ui.graphics.ColorFilter import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Dialog import no.nordicsemi.android.material.you.RadioButtonGroup import no.nordicsemi.android.material.you.RadioButtonItem import no.nordicsemi.android.material.you.RadioGroupViewEntity @@ -44,99 +43,69 @@ internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> U val isError = rememberSaveable { mutableStateOf(false) } val selectedIcon = rememberSaveable { mutableStateOf(macro?.icon ?: MacroIcon.values()[0]) } - Dialog(onDismissRequest = { onEvent(OnEditFinish) }) { - Surface( - color = MaterialTheme.colorScheme.background, - shape = RoundedCornerShape(10.dp), - shadowElevation = 0.dp, - ) { - Column { - Text( - text = stringResource(id = R.string.uart_macro_dialog_title), - style = MaterialTheme.typography.headlineSmall, - modifier = Modifier - .fillMaxWidth() - .padding(16.dp) - ) + AlertDialog( + onDismissRequest = { onEvent(OnEditFinish) }, + dismissButton = { + TextButton(onClick = { onEvent(OnDeleteMacro) }) { + Text(stringResource(id = R.string.uart_macro_dialog_delete)) + } + }, + confirmButton = { + TextButton(onClick = { + if (isCommandValid(command.value)) { + onEvent(OnCreateMacro(UARTMacro(selectedIcon.value, command.value, newLineChar.value))) + } else { + isError.value = true + } + }) { + Text(stringResource(id = R.string.uart_macro_dialog_confirm)) + } + }, + title = { + Text( + text = stringResource(id = R.string.uart_macro_dialog_title), + style = MaterialTheme.typography.headlineSmall + ) + }, + text = { + LazyVerticalGrid( + columns = GridCells.Fixed(GRID_SIZE), + modifier = Modifier.wrapContentHeight() + ) { + item(span = { GridItemSpan(GRID_SIZE) }) { + Column { + NewLineCharSection(newLineChar.value) { newLineChar.value = it } - LazyVerticalGrid( - columns = GridCells.Fixed(GRID_SIZE), - modifier = Modifier - .padding(horizontal = 16.dp) - .wrapContentHeight() - ) { - item(span = { GridItemSpan(GRID_SIZE) }) { - Column { - NewLineCharSection(newLineChar.value) { newLineChar.value = it } + Spacer(modifier = Modifier.size(16.dp)) + } + } - Spacer(modifier = Modifier.size(16.dp)) - } + item(span = { GridItemSpan(GRID_SIZE) }) { + CommandInput(command, isError) + } + + items(20) { item -> + val icon = MacroIcon.create(item) + val background = if (selectedIcon.value == icon) { + MaterialTheme.colorScheme.primaryContainer + } else { + Color.Transparent } - item(span = { GridItemSpan(GRID_SIZE) }) { - CommandInput(command, isError) - } - - items(20) { item -> - val icon = MacroIcon.create(item) - val background = if (selectedIcon.value == icon) { - MaterialTheme.colorScheme.primaryContainer - } else { - Color.Transparent - } - - Image( - painter = painterResource(id = icon.toResId()), - contentDescription = stringResource(id = R.string.uart_macro_icon), - colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onPrimaryContainer), - modifier = Modifier - .size(40.dp) - .clip(RoundedCornerShape(10.dp)) - .clickable { selectedIcon.value = icon } - .background(background) - ) - } - - item(span = { GridItemSpan(GRID_SIZE) }) { - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.End - ) { - TextButton(onClick = { onEvent(OnEditFinish) }) { - Text(stringResource(id = R.string.uart_macro_dialog_dismiss)) - } - - Spacer(modifier = Modifier.size(16.dp)) - - TextButton(onClick = { onEvent(OnDeleteMacro) }) { - Text(stringResource(id = R.string.uart_macro_dialog_delete)) - } - - Spacer(modifier = Modifier.size(16.dp)) - - TextButton(onClick = { - if (isCommandValid(command.value)) { - onEvent( - OnCreateMacro( - UARTMacro( - selectedIcon.value, - command.value, - newLineChar.value - ) - ) - ) - } else { - isError.value = true - } - }) { - Text(stringResource(id = R.string.uart_macro_dialog_confirm)) - } - } - } + Image( + painter = painterResource(id = icon.toResId()), + contentDescription = stringResource(id = R.string.uart_macro_icon), + colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.onPrimaryContainer), + modifier = Modifier + .size(40.dp) + .clip(RoundedCornerShape(10.dp)) + .clickable { selectedIcon.value = icon } + .background(background) + ) } } } - } + ) } @Composable From 8a33ee16fc40487857c47893898aec4eda5c359d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 11:16:51 +0200 Subject: [PATCH 16/20] Serialize imput messages --- .../nordicsemi/android/uart/data/UARTData.kt | 2 +- .../android/uart/data/UARTManager.kt | 45 ++++++++++++------- 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt index 95803e2d..0ad98522 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTData.kt @@ -5,7 +5,7 @@ internal data class UARTData( val batteryLevel: Int? = null, ) { - val displayMessages = messages.take(50) + val displayMessages = messages } internal data class UARTRecord( diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt index be65cabf..a374c3af 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt @@ -29,9 +29,9 @@ import android.content.Context import android.text.TextUtils import android.util.Log import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.launchIn -import kotlinx.coroutines.flow.onEach +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.* +import kotlinx.coroutines.withContext import no.nordicsemi.android.ble.BleManager import no.nordicsemi.android.ble.WriteRequest import no.nordicsemi.android.ble.common.callback.battery.BatteryLevelResponse @@ -49,7 +49,8 @@ private val UART_RX_CHARACTERISTIC_UUID = UUID.fromString("6E400002-B5A3-F393-E0 private val UART_TX_CHARACTERISTIC_UUID = UUID.fromString("6E400003-B5A3-F393-E0A9-E50E24DCCA9E") private val BATTERY_SERVICE_UUID = UUID.fromString("0000180F-0000-1000-8000-00805f9b34fb") -private val BATTERY_LEVEL_CHARACTERISTIC_UUID = UUID.fromString("00002A19-0000-1000-8000-00805f9b34fb") +private val BATTERY_LEVEL_CHARACTERISTIC_UUID = + UUID.fromString("00002A19-0000-1000-8000-00805f9b34fb") internal class UARTManager( context: Context, @@ -87,18 +88,25 @@ internal class UARTManager( @SuppressLint("WrongConstant") override fun initialize() { - setNotificationCallback(txCharacteristic).asFlow().onEach { - val text: String = it.getStringValue(0) ?: String.EMPTY - log(10, "\"$text\" received") - data.value = data.value.copy(messages = data.value.messages + UARTRecord(text, UARTRecordType.OUTPUT)) - }.launchIn(scope) + setNotificationCallback(txCharacteristic).asFlow() + .flowOn(Dispatchers.IO) + .map { + val text: String = it.getStringValue(0) ?: String.EMPTY + log(10, "\"$text\" received") + val messages = data.value.messages + UARTRecord(text, UARTRecordType.OUTPUT) + messages.takeLast(50) + } + .onEach { + data.value = data.value.copy(messages = it) + }.launchIn(scope) requestMtu(517).enqueue() enableNotifications(txCharacteristic).enqueue() - setNotificationCallback(batteryLevelCharacteristic).asValidResponseFlow().onEach { - data.value = data.value.copy(batteryLevel = it.batteryLevel) - }.launchIn(scope) + setNotificationCallback(batteryLevelCharacteristic).asValidResponseFlow() + .onEach { + data.value = data.value.copy(batteryLevel = it.batteryLevel) + }.launchIn(scope) enableNotifications(batteryLevelCharacteristic).enqueue() } @@ -114,7 +122,8 @@ internal class UARTManager( rxCharacteristic?.let { val rxProperties: Int = it.properties writeRequest = rxProperties and BluetoothGattCharacteristic.PROPERTY_WRITE > 0 - writeCommand = rxProperties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE > 0 + writeCommand = + rxProperties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE > 0 // Set the WRITE REQUEST type when the characteristic supports it. // This will allow to send long write (also if the characteristic support it). @@ -148,12 +157,18 @@ internal class UARTManager( } else { BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE } - val request: WriteRequest = writeCharacteristic(rxCharacteristic, text.toByteArray(), writeType) + val request: WriteRequest = + writeCharacteristic(rxCharacteristic, text.toByteArray(), writeType) if (!useLongWrite) { request.split() } request.suspend() - data.value = data.value.copy(messages = data.value.messages + UARTRecord(text, UARTRecordType.INPUT)) + data.value = data.value.copy( + messages = data.value.messages + UARTRecord( + text, + UARTRecordType.INPUT + ) + ) log(10, "\"$text\" sent") } } From 136bdd15200b38602aa6e0ee88af6e9e752f0ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 12:38:53 +0200 Subject: [PATCH 17/20] Add device name to Toolbar --- .../android/theme/view/TopAppBar.kt | 25 +++++++++++- .../gls/details/view/GLSDetailsScreen.kt | 4 +- .../android/uart/repository/UARTRepository.kt | 8 +--- .../uart/repository/UARTSharedPrefs.kt | 20 ---------- .../android/uart/view/TutorialScreen.kt | 36 ------------------ .../android/uart/view/UARTScreen.kt | 24 ++++++++++-- .../nordicsemi/android/uart/view/UARTState.kt | 8 ++-- .../android/uart/viewmodel/UARTViewModel.kt | 16 +------- .../src/main/res/drawable/tutorial_1.png | Bin 156664 -> 0 bytes .../src/main/res/drawable/tutorial_2.png | Bin 298121 -> 0 bytes 10 files changed, 56 insertions(+), 85 deletions(-) delete mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt delete mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt delete mode 100644 profile_uart/src/main/res/drawable/tutorial_1.png delete mode 100644 profile_uart/src/main/res/drawable/tutorial_2.png diff --git a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt index f03b4059..1f5a48ff 100644 --- a/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt +++ b/lib_theme/src/main/java/no/nordicsemi/android/theme/view/TopAppBar.kt @@ -51,7 +51,7 @@ fun TitleAppBar(text: String) { } @Composable -fun BackIconAppBar(text: String, onClick: () -> Unit) { +fun LoggerBackIconAppBar(text: String, onClick: () -> Unit) { SmallTopAppBar( title = { Text(text) }, colors = TopAppBarDefaults.smallTopAppBarColors( @@ -83,6 +83,29 @@ fun BackIconAppBar(text: String, onClick: () -> Unit) { ) } +@Composable +fun BackIconAppBar(text: String, onClick: () -> Unit) { + SmallTopAppBar( + title = { Text(text) }, + colors = TopAppBarDefaults.smallTopAppBarColors( + scrolledContainerColor = MaterialTheme.colorScheme.primary, + containerColor = colorResource(id = R.color.appBarColor), + titleContentColor = MaterialTheme.colorScheme.onPrimary, + actionIconContentColor = MaterialTheme.colorScheme.onPrimary, + navigationIconContentColor = MaterialTheme.colorScheme.onPrimary, + ), + navigationIcon = { + IconButton(onClick = { onClick() }) { + Icon( + Icons.Default.ArrowBack, + tint = MaterialTheme.colorScheme.onPrimary, + contentDescription = stringResource(id = R.string.back_screen), + ) + } + }, + ) +} + @Composable fun LoggerIconAppBar(text: String, onClick: () -> Unit, onDisconnectClick: () -> Unit, onLoggerClick: () -> Unit) { SmallTopAppBar( diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/details/view/GLSDetailsScreen.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/details/view/GLSDetailsScreen.kt index 845f07f1..fd017a33 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/details/view/GLSDetailsScreen.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/details/view/GLSDetailsScreen.kt @@ -6,7 +6,7 @@ import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.gls.R import no.nordicsemi.android.gls.details.viewmodel.GLSDetailsViewModel -import no.nordicsemi.android.theme.view.BackIconAppBar +import no.nordicsemi.android.theme.view.LoggerBackIconAppBar @Composable internal fun GLSDetailsScreen() { @@ -14,7 +14,7 @@ internal fun GLSDetailsScreen() { val record = viewModel.record Column { - BackIconAppBar(stringResource(id = R.string.gls_title)) { + LoggerBackIconAppBar(stringResource(id = R.string.gls_title)) { viewModel.navigateBack() } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index 07a197c4..237274ae 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -23,7 +23,6 @@ class UARTRepository @Inject internal constructor( private val serviceManager: ServiceManager, private val configurationDataSource: ConfigurationDataSource, private val toolboxLoggerFactory: ToolboxLoggerFactory, - private val sp: UARTSharedPrefs ) { private var manager: UARTManager? = null private var logger: ToolboxLogger? = null @@ -31,11 +30,7 @@ class UARTRepository @Inject internal constructor( private val _data = MutableStateFlow>(IdleResult()) internal val data = _data.asStateFlow() - var showTutorial: Boolean - get() = sp.showTutorial - set(value) { - sp.showTutorial = value - } + var device: BluetoothDevice? = null val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } @@ -47,6 +42,7 @@ class UARTRepository @Inject internal constructor( } fun start(device: BluetoothDevice, scope: CoroutineScope) { + this.device = device val createdLogger = toolboxLoggerFactory.create("UART", device.address).also { logger = it } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt deleted file mode 100644 index e1eab714..00000000 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTSharedPrefs.kt +++ /dev/null @@ -1,20 +0,0 @@ -package no.nordicsemi.android.uart.repository - -import android.content.Context -import dagger.hilt.android.qualifiers.ApplicationContext -import javax.inject.Inject - -private const val FILE_NAME = "uart-sp" -private const val SHOW_TUTORIAL_FIELD = "show-tutorial" - -class UARTSharedPrefs @Inject constructor( - @ApplicationContext - private val context: Context -) { - - private val sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE) - - var showTutorial: Boolean - get() = sp.getBoolean(SHOW_TUTORIAL_FIELD, true) - set(value) = sp.edit().putBoolean(SHOW_TUTORIAL_FIELD, value).apply() -} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt deleted file mode 100644 index ef78c37d..00000000 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/TutorialScreen.kt +++ /dev/null @@ -1,36 +0,0 @@ -package no.nordicsemi.android.uart.view - -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource -import no.nordicsemi.android.material.you.Tutorial -import no.nordicsemi.android.uart.R -import no.nordicsemi.android.uart.viewmodel.UARTViewModel - -@Composable -internal fun TutorialScreen(viewModel: UARTViewModel) { - - val page1: @Composable () -> Unit = { - Image( - painter = painterResource(id = R.drawable.tutorial_1), - contentDescription = "", - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize() - ) - } - val page2: @Composable () -> Unit = { - Image( - painter = painterResource(id = R.drawable.tutorial_2), - contentDescription = "", - contentScale = ContentScale.Crop, - modifier = Modifier.fillMaxSize() - ) - } - - Tutorial(listOf(page1, page2)) { - viewModel.onTutorialClose() - } -} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index c9e63bf2..08e99f44 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -1,5 +1,6 @@ package no.nordicsemi.android.uart.view +import android.annotation.SuppressLint import androidx.compose.foundation.layout.Column import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll @@ -12,6 +13,7 @@ import no.nordicsemi.android.material.you.PagerView import no.nordicsemi.android.material.you.PagerViewEntity import no.nordicsemi.android.material.you.PagerViewItem import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.UARTData @@ -22,6 +24,7 @@ import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason +@SuppressLint("MissingPermission") @Composable fun UARTScreen() { val viewModel: UARTViewModel = hiltViewModel() @@ -30,8 +33,24 @@ fun UARTScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.uart_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLogger) + Column(modifier = Modifier) { + when (state.uartManagerState) { + NoDeviceState -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) + is WorkingState -> when (state.uartManagerState.result) { + is IdleResult, + is DisconnectedResult, + is LinkLossResult, + is MissingServiceResult, + is UnknownErrorResult -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) + is ConnectingResult, + is SuccessResult -> { + val text = state.uartManagerState.device.name ?: state.uartManagerState.device.address ?: stringResource(id = R.string.uart_title) + LoggerIconAppBar(text, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLogger) + } + } + } + }.exhaustive } Column(modifier = Modifier) { @@ -46,7 +65,6 @@ fun UARTScreen() { is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } is SuccessResult -> SuccessScreen(state.uartManagerState.result.data, state, viewModel) } - TutorialState -> TutorialScreen(viewModel) }.exhaustive } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt index 4e4eff72..666b333d 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt @@ -1,5 +1,6 @@ package no.nordicsemi.android.uart.view +import android.bluetooth.BluetoothDevice import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTData @@ -26,8 +27,9 @@ internal data class UARTViewState( internal sealed class HTSManagerState -internal data class WorkingState(val result: BleManagerResult) : HTSManagerState() +internal data class WorkingState( + val device: BluetoothDevice, + val result: BleManagerResult +) : HTSManagerState() internal object NoDeviceState : HTSManagerState() - -internal object TutorialState : HTSManagerState() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt index 66133d8c..c3da2b1e 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt @@ -31,9 +31,7 @@ internal class UARTViewModel @Inject constructor( init { viewModelScope.launch { - if (repository.showTutorial) { - _state.value = _state.value.copy(uartManagerState = TutorialState) - } else if (repository.isRunning.firstOrNull() == false) { + if (repository.isRunning.firstOrNull() == false) { requestBluetoothDevice() } } @@ -42,7 +40,7 @@ internal class UARTViewModel @Inject constructor( if (it is IdleResult) { return@onEach } - _state.value = _state.value.copy(uartManagerState = WorkingState(it)) + _state.value = _state.value.copy(uartManagerState = WorkingState(repository.device!!, it)) }.launchIn(viewModelScope) dataSource.getConfigurations().onEach { @@ -93,16 +91,6 @@ internal class UARTViewModel @Inject constructor( }.exhaustive } - fun onTutorialClose() { - repository.showTutorial = false - _state.value = _state.value.copy(uartManagerState = NoDeviceState) - viewModelScope.launch { - if (repository.isRunning.firstOrNull() == false) { - requestBluetoothDevice() - } - } - } - private fun onMacroInputSwitch() { _state.value = _state.value.copy(isInputVisible = !state.value.isInputVisible) } diff --git a/profile_uart/src/main/res/drawable/tutorial_1.png b/profile_uart/src/main/res/drawable/tutorial_1.png deleted file mode 100644 index b94d1b79ff2def9ee68394b2d42e61d423f3ee5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156664 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 z 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 diff --git a/profile_uart/src/main/res/drawable/tutorial_2.png b/profile_uart/src/main/res/drawable/tutorial_2.png deleted file mode 100644 index 5e598adb50544519a5ba6efc45ed2819ca7d9ca7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298121 zcmeFZXIxXu);J6*q9~vgQL2i9qJSu&gbqqI^w0wW(n5!XUPJ{{2&nYlAq5f;kPadO z0@4$LbO<#_FQN12oO_>hyyrge$M@Tl{Id7#*{e)hvu4&>GkL46sX|Z3PDe#WMX#p% zSeJ_G41kL2ocX!4CplCk%Zn%1Gj<9f1uCkN=nDsyG$+s3tyOhFR8)R^R8%isQ&H`m zWWAWDqJlr5q9Q+|q5>vTQL(wDR_jQgyzsFxQnLkts02>Z=cvw5Gf|yBNl~ACsi@hh z{-Ab}qLQWN_$#d(?m%_s-}#y+_dhO{6 zKKkT#ay##)YV1ixb%FVhA2n5S>QySLQ}GV^Mld7LQ=ql0vykO;S1TJKALl=ysi>rV zfG0_38<^#FA7>{QPoR&?%|9W4C+R=3g>PQ}69nccbJGZiGJ`_BG5cKqQ zfm!+px_I*bi^%`bd2Hip?cv}Cb8vOJ{s&!4D_1y7=H|^m82$D6S2VOxOo0iDv<{g z52S_v*H`~URdRK5_0V&(w6>8w;q)iUZ(09@{*#gM-;5rLh)Vp<=(kt@MwJ%+qvw9> z$$yE-pSdS;B15oFd5CUXwY~_QCApz30E;*MzcQC$Tp+03NTYu^4 zx$7^ePW{J4zU7SiqtEq)LjRfl2h{sB=KvCyF3D3-pZWcAJ?7MF_M{Q#Lec+1xde5) z_}?7(XwCs1Rt+0D{0Esos9wiUT>U3`s*tC2m!Qu*DoXnPqo9A3NFLcJ^3MuTol0W4 zj{iRGVx4#SpR`_Rzq0;E=}#UX-jzpwXd7)&=lw5QS!Y}S(LN`S&vjpD^TyO5;*|f3 zmLh%Be>Tn^5Z`mDvXuF}Iqo6;i`Hv)&eQ)@tM_WuiioGnVg~I0MeC#k&i>x^e-_~X zI^b_X`o9kNW4!&}2>5Fx|NpImv>B-XOYJ$O%fGcv3$Cq!3nBVKxwPs}WTd%P;w3j`8 zp>2KsY{SjJs`oGL>Lzoli?@B#?Y#)@Ixpe-oqGr_zh45v2-~_WbpB0&dk5Hre91a* zXaHY}?Ocw^WXt)()QtW)F4+7d*1X#e<_r>v=1kY|K5Z|@|EXP!DqdU|ET!X*Re2nn z@a@C;`k;lywP6knDU+L)jJ7H`Mc;ZYDB|?{gX!d}*d!4N8IHM@0#fJ)l!To0<-@(* z9=y|!AJgoGv3EySA6I_3`cj*B?n}czbzY&y^-vb|+nn~Vq0efIs_%Q19bdR_Z!A!*jx9MN#9oW zQxj7`i}T4GMOEcCoM+UTg^>*gY<1%gx(|3*CbC3Zz1*O9{>uj zD@FU#uwp~ADsoLYv7REB?%W`;D{Sd|-P-Ls#wN*M87OrkIV`!lxCUz#rCL{SPia{R zZVM^7OBTN}-b^|W2&>XtNmkf$1!Rd2)!ONQXz`HpbNKmAW^|f+akeP;;3&(=&rzmf zbi0*_Ld&;WrARYGe}VMHRnm{djF~2Sw7~Wcl!jx77C9`v{Z_tl>+sv(+E16%Q18h z^KECRz7FaKfB^SoN2S*`m-sQbA*@CLa-5<#k+hRY6E z1Qg(aatAQhSw22=tSu=LT6QjqXe#g{$w4>`V&Zr2=oC+)2HTOZ*&QlyM?5^WF0^s3 z2l}Y-0?*bivfWpye@x;J?@lO|?RVV)zgZPr+FHxv?3WiVB8tkj@AZs3!bSjpS`zN%A?(Eb@WlbH91buz@hjOF*k2^`xZ2jBj z#31-PF%nt^t+~mF&v$V15IQ3Fxrr`h_GPt~X;RxM9^Dk~4hwiV`2Dk`p-EK2q>b}5 zj5nbiR<|^N;3d_w)a3O|p0z@oOaUa6~< zo6Nq421k-NjO_oB6C)Y0L4SL zr{@DZ53q-6Jg`{CPxMEZEBT9WVX!p2exUvHxQ!`i;q%kFnukTg^Y{1ynK9GkTN{4- zY}kq`W2FPW30XXa$<9a$b%#Uqffj zHZEJJEH;Y}x^}t?_NF}N!n2iTl*6wbRtss)ykES98aSv}*sIm(NE~=y%u^HS&#CK~ zpdZzX6adiar|Tqsd`VAFy_kQ;yvQo?9KfI?A>k~$96S>+mh;%f%=%2tP&bkRJ?^ut zD~%R-0m)T1mx-qJKj*i`BX_H6TVbpraif zgtte{TvAhZ(OxZIzC6ZK)t{$b0UL;v3Ii4{{497mXR04amLgm!RLHYRNRuhlDH?hw z`V)jIgnoT zE`?m88xmL^;j;FL&z2Wx?EfS{@(mgEuo;= z67hWBhD^9zE+0RSf4$U^Ata;0T1x}JU`u}e65-E|o(ji*nix-=M;Jr;_p1jxKV9&> ziLY!QgRt8l#JqymvA0?df38 z#n>Y=q8uPS;hgRAWkv0Ih?KEfYyzH|JXYGg?FT1Oe>In*RQAB33 zuC@8A@B1CnEfPqce@k*G-^475;hdtlY4Fo>(E#gVn{yVP)nP5Ja{hOt91;h_SnbV* ze-axLR(|c?{K+=xnAErBgmo&@y*~Lft=w=X*46OV5(i%-5i4?KX!m5`MKQv}4+#4J2Cz&4+Ke8F@04f+^Oax#50d_i7 zv*DTHIQ4OyWsXbTgR95pOK0p@2PGyKBs^q(L1GAk*Zsrl)F5(K+C{%Qa$3!0TmovO*&bk7IO40|m(qM&*7Zk3Kb}aOk9b;V(I8 zTY(<5-|PccS!)xYuL1Xw+jcTtUWoMIhUEAY?eWe+H>I(Pb&qy!TjEPnZ^7mVmU%Ph zq+O!Z^o($ZbVK=7-@3X1^Up_iiho=2&qhzVczNjDX!Lf(e=x<1*ySCio4730T7(IzYUC}Z4;V9Ufrl_gQcvo@~pwJxC|~QPW>3lIBVA!pRE=|wjYyoHJ*n0kU z^$v}52Touxu~)6HL$wpTnIA#+*(yozMGnjv_UqUm`RiF2b60e9p(=>2jG^uB25l4? z8EM?@RKr^u8T}akt)w-U`$e;QhN)b_f4g~DN?z=L<-o(2YAT2YvZN81>^Oec6t6aC z>Md5}6BsD-ygq#k$=8i`tr_tmf;GJZdUK8*K zAVZ)$@z=^c_HDyF_wXvbHhpP$zMBbp|8gCt{d{I;w8tl1dc@^&y}ha3Mz_ooi;$LU zdDgNgEh)lU@FIK@{&JtoKRH{i{OYVOYiMfo%+2y3_a#IfH&eUNcU;PkII{7) zk5>UE11OiOm|(`wYiLx=XvKen4lxr<{bz0rTm%Y z^YvXSF(^J40;nga+Sm|FgT=qT6`Y2_%=BDJTPw$Y@Tu6ttAZNKgIozK-AJw4M*y(-(>>j-oKkj3FbQ+~@T*sCP5scveydLn2zScu znX1%$BZsMfRPPw*Qn6VEP?&xH4(O0 zJYH@a^N|lcfFtj|BT^VfGo^D=&~wrIQoX&T9GwU{efqaB@Xzc1rNUblo#28PuXtLq-_Q2U75dz285f={{cy z->jz~#l97U^Mfxaf``PC9s*AHdW4soH(~C~?B61@U!x^l?#rl?xT^UsSe1(xfHGEx zzRM=cy!>$^?f#1PTo$9l4jN`f6qCwa=y$}Vjf~+Q^Jq49(eZc=H*g>4_(qZE=vD8snfgfjn1usZA*ADXqJgXo*$cv)}h8x6GxRy*|kfs!`Ob{>p`n>Ul4hfLqe z;*GfNYYjtMrs+aj5*c3L?D4d;?6mql{=KxXy)?48E~R+ovaUvs`f5ir;dxw&Aiu8T zZ?BG=Q5X)j2DDGDuVp&`{ej~ueMX;>%T=pKK_geEF?&$ zu~`le4~W@ACh8Q0n~Y9K4N0LLNg+sL%Tp&^`H4>ea-Y7nKHvo<;~`p6vzOUz|8i zR(d6$W6zjm=v1jC5vO?@5BusomJAl`j1x2abX0gnXnf^REQC zc)5y$m6?^`nQ@l^2u1}LUo|ApyHZ%*A3i%()_wzPymb5-liwx=DJ?*JZzy>Ybj2B2 zG9+&upqA;b9mrIR{EB3p4+z1%h@ug*;W||=@Y6#3&Kh~!1b&I!^~ysfEc%1P;SkEp zO%`>~-H5u{GtbKal$I2c$&@FJg^k!j`$|nWc(~S4dRYrcB7lx|`nxklt4*CILvd6U z^RJhMX|h@dM#2kO|B~V_WSWt}TrIXn><2Tno24dknL&tKM-XxBsz|Q@1IZ!hM#584 z(i#p*4ytB?g@cdVgQFemtMiMgMW|id8W0kO=@n)a)nvAJTFTkwD}>}|Yy*YrK_IOm!u>YO&@N|oV7X`)+N(tm zS~F|H$+#We+Vk4OfXndi#h#iGP1g$GMf%Viuaa907|!T&)c*{fPfY|9Y7)W>K*MPH z9Nl3fWZMczqR{Bp-}M5qAbUfX60zMp_Q-bvkh$v8fN0J>IkXT39)nYE*a!OD)2x0T zZBjHIqr|)r=7?oPgi0Ve&^24Nh9ff{6qDZx;f+9IZ?WW z;_*ahwK!(jr;XKueZrdEq1F1rqbEt`wV9go4Zw$7HTO0FdV&aM_8Z^0=ypA2<0^^M zN@T+(uCT5}O0{5sm)hNufo_G2hlqrXbMTMChNT?*1B+@g;(+=7`i4R%^FkXwN_8du@C2k z*L-e{5y!pH&nDl2oh*A^pF-eJjEHEt@fe0_Js@2zDe%RE8}Hfd^>^S7wqo_(c1og- zBT!1rq~BFpgVbO7`TV4Q5ez#g80tw`2zgtHv*u%Gwfb>a5zbKo@mm^b5rAI>a@#~$ zDhxzDa>d;Y75$nl0{|eO#r9%n7pg&;P@A3_Aq%M=fB!XWIjmZ) zrrhh7ZECl^WLNYo#e!nBXN*Y`&14>POvdDZ%6+9Df8@xJ=#)X5 zuro%Xd&4yOlz{HA`6|yqk_eLTu0PD<$I2wl?K+p29!Sgkns-4(x!eBQ7-liz;aHJ+9WY9~ikYNJejJREe zu{^Fh*z?}?>^QEEf9lf3@bC!cq%5uk?l*0~-5&f-Oy5Qr;DW0LdU+qjqn)O-+min>xO4{n#t%JmF9^eOQ zNr`Lz$pnHZpOClevtD!`>WpYWZ(-g0hn^qNeG2J!202SiG|A@#G5 z!jj3TH=Mq8#o>8&L8QPg^WB1OmM+v9%q`ryH;CWX8$2Y&(E@PZ0JQZ3g+OFH(739Vw$R$MG z>-NQqTd_G7?v`PSJd6 z7yGo~Sl$tjT)CKWCa`wD(z^(;f&MThQhPXU!ZgiMvV8wHC-jN`x$a$$q+y?hsS zLx69sV)R7c!up%pnB8+ z+;jC?!$z`9m8jz`2X?(ew)#fQg>TjZ_#l+$ouh+a&+sUouwF#+Zdl=sM(?d-i(7G6qS zOp7>82dD?PEg0^#h+b7Uj&$x3f!FyLsx1zZ{JhawYc8Q8TR=XUTe1AEuD%Y&shr%= z{1A-V_&xD7tKUq)>zGqQK~-MLXoI@xvA7B6e*yo7;Na{H2z;QPtB4Z<= z)w@nbU%~}$%73_I!uQlvD^o%0Aban<&u~|Z{eVae8Yakn+H=oWEhjY+ijNVyT@$Dg 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 z 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�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

Qy;%Wjt@-Iv+MJ$2i8I`_D9w0nKE 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 From 6b17eef8e426747626ea00a37389d57e0ea2bba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 14:00:59 +0200 Subject: [PATCH 18/20] Allow sending empty commands --- .../android/uart/data/UARTManager.kt | 38 +++++++------- .../android/uart/repository/UARTRepository.kt | 6 +-- .../uart/view/UARTAddConfigurationDialog.kt | 23 ++++---- .../android/uart/view/UARTAddMacroDialog.kt | 52 +++++-------------- settings.gradle | 4 +- 5 files changed, 48 insertions(+), 75 deletions(-) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt index a374c3af..299cbae4 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt @@ -150,27 +150,25 @@ internal class UARTManager( @SuppressLint("WrongConstant") fun send(text: String) { if (rxCharacteristic == null) return - if (!TextUtils.isEmpty(text)) { - scope.launchWithCatch { - val writeType = if (useLongWrite) { - BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT - } else { - BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE - } - val request: WriteRequest = - writeCharacteristic(rxCharacteristic, text.toByteArray(), writeType) - if (!useLongWrite) { - request.split() - } - request.suspend() - data.value = data.value.copy( - messages = data.value.messages + UARTRecord( - text, - UARTRecordType.INPUT - ) - ) - log(10, "\"$text\" sent") + scope.launchWithCatch { + val writeType = if (useLongWrite) { + BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT + } else { + BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE } + val request: WriteRequest = + writeCharacteristic(rxCharacteristic, text.toByteArray(), writeType) + if (!useLongWrite) { + request.split() + } + request.suspend() + data.value = data.value.copy( + messages = data.value.messages + UARTRecord( + text, + UARTRecordType.INPUT + ) + ) + log(10, "\"$text\" sent") } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index 237274ae..02b7b175 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -13,6 +13,7 @@ import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.IdleResult import no.nordicsemi.android.service.ServiceManager import no.nordicsemi.android.uart.data.* +import no.nordicsemi.android.utils.EMPTY import javax.inject.Inject import javax.inject.Singleton @@ -63,9 +64,8 @@ class UARTRepository @Inject internal constructor( } fun runMacro(macro: UARTMacro) { - macro.command?.parseWithNewLineChar(macro.newLineChar)?.let { - manager?.send(it) - } + val command = macro.command?.parseWithNewLineChar(macro.newLineChar) + manager?.send(command ?: String.EMPTY) } fun clearItems() { diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt index dc999960..2aaaecc2 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddConfigurationDialog.kt @@ -1,16 +1,12 @@ package no.nordicsemi.android.uart.view import androidx.compose.foundation.layout.Column -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.ui.res.stringResource -import no.nordicsemi.android.material.you.TextField import no.nordicsemi.android.uart.R import no.nordicsemi.android.utils.EMPTY @@ -49,13 +45,16 @@ private fun NameInput( isError: MutableState ) { Column { - TextField( - text = name.value, - hint = stringResource(id = R.string.uart_configuration_hint) - ) { - isError.value = false - name.value = it - } + + OutlinedTextField( + value = name.value, + label = { Text(stringResource(id = R.string.uart_configuration_hint)) }, + singleLine = true, + onValueChange = { + isError.value = false + name.value = it + } + ) val errorText = if (isError.value) { stringResource(id = R.string.uart_name_empty) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt index eeaa4a04..11ce0563 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTAddMacroDialog.kt @@ -1,17 +1,12 @@ package no.nordicsemi.android.uart.view -import androidx.compose.foundation.Image -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable +import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.GridItemSpan import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf @@ -27,7 +22,6 @@ import androidx.compose.ui.unit.dp import no.nordicsemi.android.material.you.RadioButtonGroup import no.nordicsemi.android.material.you.RadioButtonItem import no.nordicsemi.android.material.you.RadioGroupViewEntity -import no.nordicsemi.android.material.you.TextField import no.nordicsemi.android.uart.R import no.nordicsemi.android.uart.data.MacroEol import no.nordicsemi.android.uart.data.MacroIcon @@ -40,7 +34,6 @@ private const val GRID_SIZE = 5 internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> Unit) { val newLineChar = rememberSaveable { mutableStateOf(macro?.newLineChar ?: MacroEol.LF) } val command = rememberSaveable { mutableStateOf(macro?.command ?: String.EMPTY) } - val isError = rememberSaveable { mutableStateOf(false) } val selectedIcon = rememberSaveable { mutableStateOf(macro?.icon ?: MacroIcon.values()[0]) } AlertDialog( @@ -52,11 +45,7 @@ internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> U }, confirmButton = { TextButton(onClick = { - if (isCommandValid(command.value)) { - onEvent(OnCreateMacro(UARTMacro(selectedIcon.value, command.value, newLineChar.value))) - } else { - isError.value = true - } + onEvent(OnCreateMacro(UARTMacro(selectedIcon.value, command.value, newLineChar.value))) }) { Text(stringResource(id = R.string.uart_macro_dialog_confirm)) } @@ -81,7 +70,7 @@ internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> U } item(span = { GridItemSpan(GRID_SIZE) }) { - CommandInput(command, isError) + CommandInput(command) } items(20) { item -> @@ -109,26 +98,17 @@ internal fun UARTAddMacroDialog(macro: UARTMacro?, onEvent: (UARTViewEvent) -> U } @Composable -private fun CommandInput( - command: MutableState, - isError: MutableState -) { +private fun CommandInput(command: MutableState) { Column { - TextField( - text = command.value, - hint = stringResource(id = R.string.uart_macro_dialog_command) - ) { - isError.value = false - command.value = it - } - - if (isError.value) { - Text( - text = stringResource(id = R.string.uart_macro_error), - style = MaterialTheme.typography.labelMedium, - color = MaterialTheme.colorScheme.error - ) - } + OutlinedTextField( + modifier = Modifier + .fillMaxWidth(), + value = command.value, + label = { Text(stringResource(id = R.string.uart_macro_dialog_command)) }, + onValueChange = { + command.value = it + } + ) Spacer(modifier = Modifier.size(16.dp)) } @@ -153,7 +133,3 @@ private fun NewLineCharSection(checkedItem: MacroEol, onItemClick: (MacroEol) -> } } } - -private fun isCommandValid(command: String): Boolean { - return command.isNotBlank() -} diff --git a/settings.gradle b/settings.gradle index 7f780275..0ac38731 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,8 +9,8 @@ dependencyResolutionManagement { versionCatalogs { libs { - library('nordic-ble-common', 'no.nordicsemi.android:ble-common:2.4.0') - library('nordic-ble-ktx', 'no.nordicsemi.android:ble-ktx:2.4.0') + library('nordic-ble-common', 'no.nordicsemi.android:ble-common:2.4.1') + library('nordic-ble-ktx', 'no.nordicsemi.android:ble-ktx:2.4.1') library('nordic-scanner', 'no.nordicsemi.android.support.v18:scanner:1.6.0') library('nordic-log', 'no.nordicsemi.android:log:2.3.0') From 5d1e5b13eab1abe6bc6ee0cfc63834ee1137caad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 14:24:20 +0200 Subject: [PATCH 19/20] Change BluetoothDevice usage to DiscoveredBluetoothDevice where possible --- .../android/bps/repository/BPSRepository.kt | 7 +-- .../android/bps/view/BPSViewState.kt | 5 ++- .../android/bps/viewmodel/BPSViewModel.kt | 2 +- .../android/cgms/repository/CGMRepository.kt | 11 ++--- .../android/cgms/repository/CGMService.kt | 3 +- .../cgms/viewmodel/CGMScreenViewModel.kt | 2 +- .../android/csc/repository/CSCRepository.kt | 11 ++--- .../android/csc/repository/CSCService.kt | 3 +- .../android/csc/viewmodel/CSCViewModel.kt | 2 +- .../gls/main/viewmodel/GLSViewModel.kt | 2 +- .../android/gls/repository/GLSRepository.kt | 7 +-- .../android/hrs/service/HRSRepository.kt | 11 ++--- .../android/hrs/service/HRSService.kt | 3 +- .../android/hrs/viewmodel/HRSViewModel.kt | 2 +- .../android/hts/repository/HTSRepository.kt | 11 ++--- .../android/hts/repository/HTSService.kt | 3 +- .../android/hts/viewmodel/HTSViewModel.kt | 2 +- .../android/prx/repository/PRXRepository.kt | 9 ++-- .../android/prx/repository/PRXService.kt | 3 +- .../android/prx/viewmodel/PRXViewModel.kt | 2 +- .../android/rscs/repository/RSCSRepository.kt | 11 ++--- .../android/rscs/repository/RSCSService.kt | 3 +- .../android/rscs/viewmodel/RSCSViewModel.kt | 2 +- .../android/uart/repository/UARTRepository.kt | 13 +++--- .../android/uart/repository/UARTService.kt | 3 +- .../android/uart/view/UARTScreen.kt | 45 ++++++++++--------- .../nordicsemi/android/uart/view/UARTState.kt | 3 +- .../android/uart/viewmodel/UARTViewModel.kt | 2 +- 28 files changed, 104 insertions(+), 79 deletions(-) diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt index 84c7486e..c723e49c 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.bps.data.BPSManager import no.nordicsemi.android.logger.ToolboxLogger import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @ViewModelScoped @@ -25,9 +26,9 @@ internal class BPSRepository @Inject constructor( private var logger: ToolboxLogger? = null - fun downloadData(device: BluetoothDevice): Flow> = callbackFlow { + fun downloadData(device: DiscoveredBluetoothDevice): Flow> = callbackFlow { val scope = this - val createdLogger = toolboxLoggerFactory.create("BPS", device.address).also { + val createdLogger = toolboxLoggerFactory.create("BPS", device.address()).also { logger = it } val manager = BPSManager(context, scope, createdLogger) @@ -36,7 +37,7 @@ internal class BPSRepository @Inject constructor( trySend(it) }.launchIn(scope) - manager.connect(device) + manager.connect(device.device) .useAutoConnect(false) .retry(3, 100) .enqueue() diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt index 36826f5e..e720d7c2 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt @@ -5,5 +5,8 @@ import no.nordicsemi.android.service.BleManagerResult internal sealed class BPSViewState -internal data class WorkingState(val result: BleManagerResult) : BPSViewState() +internal data class WorkingState( + val result: BleManagerResult +) : BPSViewState() + internal object NoDeviceState : BPSViewState() diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt index 1d031de8..62664cdc 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt @@ -51,7 +51,7 @@ internal class BPSViewModel @Inject constructor( } private fun connectDevice(device: DiscoveredBluetoothDevice) { - repository.downloadData(device.device).onEach { + repository.downloadData(device).onEach { _state.value = WorkingState(it) }.launchIn(viewModelScope) } diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt index 10ea642d..57ed9ae3 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.ConnectingResult import no.nordicsemi.android.service.ServiceManager +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -33,12 +34,12 @@ class CGMRepository @Inject constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(CGMService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("CGMS", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("CGMS", device.address()).also { logger = it } val manager = CGMManager(context, scope, createdLogger) @@ -53,9 +54,9 @@ class CGMRepository @Inject constructor( } } - private suspend fun CGMManager.start(device: BluetoothDevice) { + private suspend fun CGMManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMService.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMService.kt index d97d1a63..51f81d03 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMService.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/repository/CGMService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class CGMService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt index 06a3f954..76a5115b 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt @@ -58,7 +58,7 @@ internal class CGMScreenViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt index 2b80f735..3372b2e6 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCRepository.kt @@ -15,6 +15,7 @@ import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.ConnectingResult import no.nordicsemi.android.service.ServiceManager +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -34,12 +35,12 @@ class CSCRepository @Inject constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(CSCService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("CSC", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("CSC", device.address()).also { logger = it } val manager = CSCManager(context, scope, createdLogger) @@ -58,9 +59,9 @@ class CSCRepository @Inject constructor( manager?.setWheelSize(wheelSize) } - private suspend fun CSCManager.start(device: BluetoothDevice) { + private suspend fun CSCManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCService.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCService.kt index 32fdf0f0..488ceb93 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCService.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/repository/CSCService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class CSCService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/viewmodel/CSCViewModel.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/viewmodel/CSCViewModel.kt index 0dd8b15d..ec692fbd 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/viewmodel/CSCViewModel.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/viewmodel/CSCViewModel.kt @@ -48,7 +48,7 @@ internal class CSCViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt index bb002791..033c101f 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt @@ -52,7 +52,7 @@ internal class GLSViewModel @Inject constructor( } private fun connectDevice(device: DiscoveredBluetoothDevice) { - repository.downloadData(device.device).onEach { + repository.downloadData(device).onEach { _state.value = WorkingState(it) }.launchIn(viewModelScope) } diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/repository/GLSRepository.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/repository/GLSRepository.kt index ac27ebf7..daf8f711 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/repository/GLSRepository.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/repository/GLSRepository.kt @@ -18,6 +18,7 @@ import no.nordicsemi.android.logger.ToolboxLogger import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.utils.exhaustive +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @ViewModelScoped @@ -30,14 +31,14 @@ internal class GLSRepository @Inject constructor( private var manager: GLSManager? = null private var logger: ToolboxLogger? = null - fun downloadData(device: BluetoothDevice): Flow> = callbackFlow { + fun downloadData(device: DiscoveredBluetoothDevice): Flow> = callbackFlow { val scope = this - val createdLogger = toolboxLoggerFactory.create("GLS", device.address).also { + val createdLogger = toolboxLoggerFactory.create("GLS", device.address()).also { logger = it } val managerInstance = manager ?: GLSManager(context, scope, createdLogger).apply { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt index b5258e3d..312485b7 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.ConnectingResult import no.nordicsemi.android.service.ServiceManager +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -33,12 +34,12 @@ class HRSRepository @Inject constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(HRSService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("HRS", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("HRS", device.address()).also { logger = it } val manager = HRSManager(context, scope, createdLogger) @@ -57,9 +58,9 @@ class HRSRepository @Inject constructor( logger?.openLogger() } - private suspend fun HRSManager.start(device: BluetoothDevice) { + private suspend fun HRSManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt index 565f4cd0..ce0077fd 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/service/HRSService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class HRSService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/viewmodel/HRSViewModel.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/viewmodel/HRSViewModel.kt index 504d98de..b5d8aa90 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/viewmodel/HRSViewModel.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/viewmodel/HRSViewModel.kt @@ -49,7 +49,7 @@ internal class HRSViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt index 0d767b46..cd22b37d 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.logger.ToolboxLoggerFactory import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.ConnectingResult import no.nordicsemi.android.service.ServiceManager +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -33,12 +34,12 @@ class HTSRepository @Inject constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(HTSService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("HTS", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("HTS", device.address()).also { logger = it } val manager = HTSManager(context, scope, createdLogger) @@ -57,9 +58,9 @@ class HTSRepository @Inject constructor( logger?.openLogger() } - private suspend fun HTSManager.start(device: BluetoothDevice) { + private suspend fun HTSManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSService.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSService.kt index fbb41b6e..5d7f71f5 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSService.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/repository/HTSService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class HTSService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/viewmodel/HTSViewModel.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/viewmodel/HTSViewModel.kt index 9a7d3d8f..3e8b63a3 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/viewmodel/HTSViewModel.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/viewmodel/HTSViewModel.kt @@ -48,7 +48,7 @@ internal class HTSViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt index 4ebd7b95..695680e0 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXRepository.kt @@ -12,6 +12,7 @@ import no.nordicsemi.android.prx.data.PRXData import no.nordicsemi.android.prx.data.PRXManager import no.nordicsemi.android.prx.data.ProximityServerManager import no.nordicsemi.android.service.* +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -34,13 +35,13 @@ class PRXRepository @Inject internal constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnectedWithoutLinkLoss = data.map { it.hasBeenDisconnectedWithoutLinkLoss() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(PRXService::class.java, device) proximityServerManager.open() } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("PRX", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("PRX", device.address()).also { logger = it } val manager = PRXManager(context, scope, createdLogger) @@ -52,7 +53,7 @@ class PRXRepository @Inject internal constructor( handleLocalAlarm(it) }.launchIn(scope) - manager.connect(device) + manager.connect(device.device) .useAutoConnect(true) .retry(3, 100) .enqueue() diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXService.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXService.kt index e2654c62..1f440d90 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXService.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/repository/PRXService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class PRXService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/viewmodel/PRXViewModel.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/viewmodel/PRXViewModel.kt index 786a9796..4aac1ea3 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/viewmodel/PRXViewModel.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/viewmodel/PRXViewModel.kt @@ -48,7 +48,7 @@ internal class PRXViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt index 15688907..4b4f2141 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.rscs.data.RSCSManager import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.service.ConnectingResult import no.nordicsemi.android.service.ServiceManager +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -33,12 +34,12 @@ class RSCSRepository @Inject constructor( val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(RSCSService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { - val createdLogger = toolboxLoggerFactory.create("RSCS", device.address).also { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { + val createdLogger = toolboxLoggerFactory.create("RSCS", device.address()).also { logger = it } val manager = RSCSManager(context, scope, createdLogger) @@ -57,9 +58,9 @@ class RSCSRepository @Inject constructor( logger?.openLogger() } - private suspend fun RSCSManager.start(device: BluetoothDevice) { + private suspend fun RSCSManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSService.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSService.kt index 70007ded..6c05e241 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSService.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/repository/RSCSService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class RSCSService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/viewmodel/RSCSViewModel.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/viewmodel/RSCSViewModel.kt index 6977b1c8..03c00310 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/viewmodel/RSCSViewModel.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/viewmodel/RSCSViewModel.kt @@ -48,7 +48,7 @@ internal class RSCSViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index 02b7b175..e3cc5095 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -14,6 +14,7 @@ import no.nordicsemi.android.service.IdleResult import no.nordicsemi.android.service.ServiceManager import no.nordicsemi.android.uart.data.* import no.nordicsemi.android.utils.EMPTY +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject import javax.inject.Singleton @@ -31,20 +32,20 @@ class UARTRepository @Inject internal constructor( private val _data = MutableStateFlow>(IdleResult()) internal val data = _data.asStateFlow() - var device: BluetoothDevice? = null + var device: DiscoveredBluetoothDevice? = null val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } val lastConfigurationName = configurationDataSource.lastConfigurationName - fun launch(device: BluetoothDevice) { + fun launch(device: DiscoveredBluetoothDevice) { serviceManager.startService(UARTService::class.java, device) } - fun start(device: BluetoothDevice, scope: CoroutineScope) { + fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { this.device = device - val createdLogger = toolboxLoggerFactory.create("UART", device.address).also { + val createdLogger = toolboxLoggerFactory.create("UART", device.address()).also { logger = it } val manager = UARTManager(context, scope, createdLogger) @@ -80,9 +81,9 @@ class UARTRepository @Inject internal constructor( configurationDataSource.saveConfigurationName(name) } - private suspend fun UARTManager.start(device: BluetoothDevice) { + private suspend fun UARTManager.start(device: DiscoveredBluetoothDevice) { try { - connect(device) + connect(device.device) .useAutoConnect(false) .retry(3, 100) .suspend() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTService.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTService.kt index d01a5660..3f241958 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTService.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTService.kt @@ -8,6 +8,7 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import no.nordicsemi.android.service.DEVICE_DATA import no.nordicsemi.android.service.NotificationService +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice import javax.inject.Inject @AndroidEntryPoint @@ -19,7 +20,7 @@ internal class UARTService : NotificationService() { override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { super.onStartCommand(intent, flags, startId) - val device = intent!!.getParcelableExtra(DEVICE_DATA)!! + val device = intent!!.getParcelableExtra(DEVICE_DATA)!! repository.start(device, lifecycleScope) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index 08e99f44..8587e90c 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -24,7 +24,6 @@ import no.nordicsemi.ui.scanner.ui.DeviceDisconnectedView import no.nordicsemi.ui.scanner.ui.NoDeviceView import no.nordicsemi.ui.scanner.ui.Reason -@SuppressLint("MissingPermission") @Composable fun UARTScreen() { val viewModel: UARTViewModel = hiltViewModel() @@ -33,25 +32,7 @@ fun UARTScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - Column(modifier = Modifier) { - when (state.uartManagerState) { - NoDeviceState -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) - is WorkingState -> when (state.uartManagerState.result) { - is IdleResult, - is DisconnectedResult, - is LinkLossResult, - is MissingServiceResult, - is UnknownErrorResult -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) - is ConnectingResult, - is SuccessResult -> { - val text = state.uartManagerState.device.name ?: state.uartManagerState.device.address ?: stringResource(id = R.string.uart_title) - LoggerIconAppBar(text, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLogger) - } - } - } - }.exhaustive - } + AppBar(state = state, navigateUp = navigateUp) { viewModel.onEvent(it) } Column(modifier = Modifier) { when (state.uartManagerState) { @@ -70,6 +51,30 @@ fun UARTScreen() { } } +@SuppressLint("MissingPermission") +@Composable +private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTViewEvent) -> Unit) { + Column(modifier = Modifier) { + when (state.uartManagerState) { + NoDeviceState -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) + is WorkingState -> when (state.uartManagerState.result) { + is IdleResult, + is DisconnectedResult, + is LinkLossResult, + is MissingServiceResult, + is UnknownErrorResult -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) + is ConnectingResult, + is SuccessResult -> { + val text = state.uartManagerState.device.nameOrAddress() + LoggerIconAppBar(text, navigateUp, { onEvent(DisconnectEvent) }) { + onEvent(OpenLogger) + } + } + } + }.exhaustive + } +} + @Composable private fun SuccessScreen(data: UARTData, state: UARTViewState, viewModel: UARTViewModel) { val viewEntity = PagerViewEntity( diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt index 666b333d..eebbcde5 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt @@ -5,6 +5,7 @@ import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTData import no.nordicsemi.android.uart.data.UARTMacro +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice internal data class UARTViewState( val editedPosition: Int? = null, @@ -28,7 +29,7 @@ internal data class UARTViewState( internal sealed class HTSManagerState internal data class WorkingState( - val device: BluetoothDevice, + val device: DiscoveredBluetoothDevice, val result: BleManagerResult ) : HTSManagerState() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt index c3da2b1e..af2c87de 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt @@ -67,7 +67,7 @@ internal class UARTViewModel @Inject constructor( private fun handleArgs(args: DestinationResult) { when (args) { is CancelDestinationResult -> navigationManager.navigateUp() - is SuccessDestinationResult -> repository.launch(args.getDevice().device) + is SuccessDestinationResult -> repository.launch(args.getDevice()) }.exhaustive } From f14d1313c52abf0c0aaab109c496e7c0e9dc5485 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sylwester=20Zieli=C5=84ski?= Date: Tue, 10 May 2022 15:25:51 +0200 Subject: [PATCH 20/20] Change Toolbar to display connected device --- .../android/service/BleManagerStatus.kt | 9 ++- .../service/ConnectionObserverAdapter.kt | 6 +- .../nordicsemi/android/bps/data/BPSManager.kt | 2 +- .../android/bps/repository/BPSRepository.kt | 1 - .../android/bps/view/BPSContentView.kt | 2 +- .../nordicsemi/android/bps/view/BPSScreen.kt | 26 +++++++-- .../android/bps/view/BPSScreenViewEvent.kt | 7 --- .../android/bps/view/BPSViewEvent.kt | 7 +++ .../android/bps/view/BPSViewState.kt | 1 + .../android/bps/viewmodel/BPSViewModel.kt | 2 +- .../android/cgms/data/CGMManager.kt | 2 +- .../nordicsemi/android/cgms/view/CGMScreen.kt | 25 +++++++-- .../android/cgms/view/CGMViewState.kt | 6 +- ...{CGMScreenViewModel.kt => CGMViewModel.kt} | 4 +- .../nordicsemi/android/csc/data/CSCManager.kt | 2 +- .../nordicsemi/android/csc/view/CSCScreen.kt | 21 ++++++- .../nordicsemi/android/gls/data/GLSManager.kt | 2 +- .../android/gls/main/view/GLSScreen.kt | 25 +++++++-- .../android/gls/main/view/GLSState.kt | 6 +- .../gls/main/viewmodel/GLSViewModel.kt | 2 +- .../nordicsemi/android/hrs/data/HRSManager.kt | 2 +- .../nordicsemi/android/hrs/view/HRSScreen.kt | 21 ++++++- .../nordicsemi/android/hts/data/HTSManager.kt | 2 +- .../nordicsemi/android/hts/view/HTSScreen.kt | 22 +++++++- .../nordicsemi/android/prx/data/PRXManager.kt | 2 +- .../nordicsemi/android/prx/view/PRXScreen.kt | 21 ++++++- .../android/rscs/data/RSCSManager.kt | 2 +- .../android/rscs/view/RSCSScreen.kt | 21 ++++++- .../android/uart/data/UARTManager.kt | 2 +- .../android/uart/repository/UARTRepository.kt | 3 - .../android/uart/view/UARTScreen.kt | 56 ++++++++----------- .../nordicsemi/android/uart/view/UARTState.kt | 3 - .../android/uart/viewmodel/UARTViewModel.kt | 2 +- 33 files changed, 214 insertions(+), 103 deletions(-) delete mode 100644 profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreenViewEvent.kt create mode 100644 profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewEvent.kt rename profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/{CGMScreenViewModel.kt => CGMViewModel.kt} (95%) diff --git a/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt b/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt index e57e07e0..ebd7e812 100644 --- a/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt +++ b/lib_service/src/main/java/no/nordicsemi/android/service/BleManagerStatus.kt @@ -1,5 +1,8 @@ package no.nordicsemi.android.service +import android.annotation.SuppressLint +import android.bluetooth.BluetoothDevice + sealed class BleManagerResult { fun isRunning(): Boolean { @@ -17,7 +20,11 @@ sealed class BleManagerResult { class IdleResult : BleManagerResult() class ConnectingResult : BleManagerResult() -data class SuccessResult(val data: T) : BleManagerResult() +data class SuccessResult(val device: BluetoothDevice, val data: T) : BleManagerResult() { + + @SuppressLint("MissingPermission") + fun deviceName(): String = device.name ?: device.address +} class LinkLossResult(val data: T) : BleManagerResult() class DisconnectedResult : BleManagerResult() diff --git a/lib_service/src/main/java/no/nordicsemi/android/service/ConnectionObserverAdapter.kt b/lib_service/src/main/java/no/nordicsemi/android/service/ConnectionObserverAdapter.kt index 82d1dab7..dff8cda7 100644 --- a/lib_service/src/main/java/no/nordicsemi/android/service/ConnectionObserverAdapter.kt +++ b/lib_service/src/main/java/no/nordicsemi/android/service/ConnectionObserverAdapter.kt @@ -34,7 +34,7 @@ class ConnectionObserverAdapter : ConnectionObserver { override fun onDeviceReady(device: BluetoothDevice) { Log.d(TAG, "onDeviceReady()") - _status.value = SuccessResult(lastValue!!) + _status.value = SuccessResult(device, lastValue!!) } override fun onDeviceDisconnecting(device: BluetoothDevice) { @@ -53,8 +53,8 @@ class ConnectionObserverAdapter : ConnectionObserver { fun setValue(value: T) { lastValue = value - if (_status.value.isRunning()) { - _status.value = SuccessResult(value) + (_status.value as? SuccessResult)?.let { + _status.value = SuccessResult(it.device, value) } } } diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/data/BPSManager.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/data/BPSManager.kt index 1837aaf8..0b4d02e5 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/data/BPSManager.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/data/BPSManager.kt @@ -61,7 +61,7 @@ internal class BPSManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt index c723e49c..d4a3f043 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/repository/BPSRepository.kt @@ -1,6 +1,5 @@ package no.nordicsemi.android.bps.repository -import android.bluetooth.BluetoothDevice import android.content.Context import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.scopes.ViewModelScoped diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSContentView.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSContentView.kt index 29b017cc..acd10f1a 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSContentView.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSContentView.kt @@ -15,7 +15,7 @@ import no.nordicsemi.android.bps.R import no.nordicsemi.android.bps.data.BPSData @Composable -internal fun BPSContentView(state: BPSData, onEvent: (BPSScreenViewEvent) -> Unit) { +internal fun BPSContentView(state: BPSData, onEvent: (BPSViewEvent) -> Unit) { Column( horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.padding(16.dp) diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt index 81c0fbf0..ce7c0a17 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreen.kt @@ -1,5 +1,6 @@ package no.nordicsemi.android.bps.view +import android.annotation.SuppressLint import androidx.compose.foundation.layout.Column import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll @@ -9,8 +10,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.bps.R +import no.nordicsemi.android.bps.data.BPSData import no.nordicsemi.android.bps.viewmodel.BPSViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,11 +29,7 @@ fun BPSScreen() { Column { val navigateUp = { viewModel.onEvent(DisconnectEvent) } - LoggerIconAppBar(stringResource(id = R.string.bps_title), { - viewModel.onEvent(DisconnectEvent) - }, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state = state, navigateUp = navigateUp, viewModel = viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -48,3 +47,20 @@ fun BPSScreen() { } } } + +@Composable +private fun AppBar(state: BPSViewState, navigateUp: () -> Unit, viewModel: BPSViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.bps_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, { + viewModel.onEvent(DisconnectEvent) + }, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreenViewEvent.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreenViewEvent.kt deleted file mode 100644 index d057a27a..00000000 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSScreenViewEvent.kt +++ /dev/null @@ -1,7 +0,0 @@ -package no.nordicsemi.android.bps.view - -internal sealed class BPSScreenViewEvent - -internal object DisconnectEvent : BPSScreenViewEvent() - -internal object OpenLoggerEvent : BPSScreenViewEvent() diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewEvent.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewEvent.kt new file mode 100644 index 00000000..acb1adf3 --- /dev/null +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewEvent.kt @@ -0,0 +1,7 @@ +package no.nordicsemi.android.bps.view + +internal sealed class BPSViewEvent + +internal object DisconnectEvent : BPSViewEvent() + +internal object OpenLoggerEvent : BPSViewEvent() diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt index e720d7c2..d5b145a2 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/view/BPSViewState.kt @@ -2,6 +2,7 @@ package no.nordicsemi.android.bps.view import no.nordicsemi.android.bps.data.BPSData import no.nordicsemi.android.service.BleManagerResult +import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice internal sealed class BPSViewState diff --git a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt index 62664cdc..8ea7928a 100644 --- a/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt +++ b/profile_bps/src/main/java/no/nordicsemi/android/bps/viewmodel/BPSViewModel.kt @@ -43,7 +43,7 @@ internal class BPSViewModel @Inject constructor( }.exhaustive } - fun onEvent(event: BPSScreenViewEvent) { + fun onEvent(event: BPSViewEvent) { when (event) { DisconnectEvent -> navigationManager.navigateUp() OpenLoggerEvent -> repository.openLogger() diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/data/CGMManager.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/data/CGMManager.kt index 034e3c6c..cb17db14 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/data/CGMManager.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/data/CGMManager.kt @@ -85,7 +85,7 @@ internal class CGMManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt index ac2bd00c..2246958c 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.cgms.R -import no.nordicsemi.android.cgms.viewmodel.CGMScreenViewModel +import no.nordicsemi.android.cgms.data.CGMData +import no.nordicsemi.android.cgms.viewmodel.CGMViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -20,15 +22,13 @@ import no.nordicsemi.ui.scanner.ui.Reason @Composable fun CGMScreen() { - val viewModel: CGMScreenViewModel = hiltViewModel() + val viewModel: CGMViewModel = hiltViewModel() val state = viewModel.state.collectAsState().value Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.cgms_title), navigateUp, { viewModel.onEvent(DisconnectEvent)}) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -46,3 +46,18 @@ fun CGMScreen() { } } } + +@Composable +private fun AppBar(state: CGMViewState, navigateUp: () -> Unit, viewModel: CGMViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.cgms_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMViewState.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMViewState.kt index f25acb02..35db4a28 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMViewState.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/view/CGMViewState.kt @@ -3,7 +3,7 @@ package no.nordicsemi.android.cgms.view import no.nordicsemi.android.cgms.data.CGMData import no.nordicsemi.android.service.BleManagerResult -internal sealed class BPSViewState +internal sealed class CGMViewState -internal data class WorkingState(val result: BleManagerResult) : BPSViewState() -internal object NoDeviceState : BPSViewState() +internal data class WorkingState(val result: BleManagerResult) : CGMViewState() +internal object NoDeviceState : CGMViewState() diff --git a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMViewModel.kt similarity index 95% rename from profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt rename to profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMViewModel.kt index 76a5115b..9cf47f27 100644 --- a/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMScreenViewModel.kt +++ b/profile_cgms/src/main/java/no/nordicsemi/android/cgms/viewmodel/CGMViewModel.kt @@ -16,12 +16,12 @@ import no.nordicsemi.ui.scanner.ScannerDestinationId import javax.inject.Inject @HiltViewModel -internal class CGMScreenViewModel @Inject constructor( +internal class CGMViewModel @Inject constructor( private val repository: CGMRepository, private val navigationManager: NavigationManager ) : ViewModel() { - private val _state = MutableStateFlow(NoDeviceState) + private val _state = MutableStateFlow(NoDeviceState) val state = _state.asStateFlow() init { diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/data/CSCManager.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/data/CSCManager.kt index 273ce2af..520fa5fa 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/data/CSCManager.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/data/CSCManager.kt @@ -59,7 +59,7 @@ internal class CSCManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt index 045ba619..f9ec79d6 100644 --- a/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt +++ b/profile_csc/src/main/java/no/nordicsemi/android/csc/view/CSCScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.csc.R +import no.nordicsemi.android.csc.data.CSCData import no.nordicsemi.android.csc.viewmodel.CSCViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,9 +28,7 @@ fun CSCScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.csc_title), navigateUp, { viewModel.onEvent(OnDisconnectButtonClick) }) { - viewModel.onEvent(OpenLogger) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state.cscManagerState) { @@ -46,3 +46,18 @@ fun CSCScreen() { } } } + +@Composable +private fun AppBar(state: CSCViewState, navigateUp: () -> Unit, viewModel: CSCViewModel) { + val toolbarName = (state.cscManagerState as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.csc_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(OnDisconnectButtonClick) }) { + viewModel.onEvent(OpenLogger) + } + } +} diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/data/GLSManager.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/data/GLSManager.kt index 5ede2603..c6b99e46 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/data/GLSManager.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/data/GLSManager.kt @@ -71,7 +71,7 @@ internal class GLSManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt index 342d672e..6b4e90f9 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.gls.R +import no.nordicsemi.android.gls.data.GLSData import no.nordicsemi.android.gls.main.viewmodel.GLSViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,11 +28,7 @@ fun GLSScreen() { Column { val navigateUp = { viewModel.onEvent(DisconnectEvent) } - LoggerIconAppBar(stringResource(id = R.string.gls_title), { - viewModel.onEvent(DisconnectEvent) - }, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -48,3 +46,20 @@ fun GLSScreen() { } } } + +@Composable +private fun AppBar(state: GLSViewState, navigateUp: () -> Unit, viewModel: GLSViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.gls_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, { + viewModel.onEvent(DisconnectEvent) + }, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSState.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSState.kt index 63839047..f9ded715 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSState.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/view/GLSState.kt @@ -3,7 +3,7 @@ package no.nordicsemi.android.gls.main.view import no.nordicsemi.android.gls.data.GLSData import no.nordicsemi.android.service.BleManagerResult -internal sealed class BPSViewState +internal sealed class GLSViewState -internal data class WorkingState(val result: BleManagerResult) : BPSViewState() -internal object NoDeviceState : BPSViewState() +internal data class WorkingState(val result: BleManagerResult) : GLSViewState() +internal object NoDeviceState : GLSViewState() diff --git a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt index 033c101f..eb62319b 100644 --- a/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt +++ b/profile_gls/src/main/java/no/nordicsemi/android/gls/main/viewmodel/GLSViewModel.kt @@ -21,7 +21,7 @@ internal class GLSViewModel @Inject constructor( private val navigationManager: NavigationManager ) : ViewModel() { - private val _state = MutableStateFlow(NoDeviceState) + private val _state = MutableStateFlow(NoDeviceState) val state = _state.asStateFlow() init { diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/data/HRSManager.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/data/HRSManager.kt index 41466198..c1095d9a 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/data/HRSManager.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/data/HRSManager.kt @@ -61,7 +61,7 @@ internal class HRSManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt index f2960a89..87505533 100644 --- a/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt +++ b/profile_hrs/src/main/java/no/nordicsemi/android/hrs/view/HRSScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.hrs.R +import no.nordicsemi.android.hrs.data.HRSData import no.nordicsemi.android.hrs.viewmodel.HRSViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,9 +28,7 @@ fun HRSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.hrs_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -46,3 +46,18 @@ fun HRSScreen() { } } } + +@Composable +private fun AppBar(state: HRSViewState, navigateUp: () -> Unit, viewModel: HRSViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.hrs_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/data/HTSManager.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/data/HTSManager.kt index cfeb285e..7be575f3 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/data/HTSManager.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/data/HTSManager.kt @@ -56,7 +56,7 @@ internal class HTSManager internal constructor( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt index c5075b8a..4b780caf 100644 --- a/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt +++ b/profile_hts/src/main/java/no/nordicsemi/android/hts/view/HTSScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.hts.R +import no.nordicsemi.android.hts.data.HTSData import no.nordicsemi.android.hts.viewmodel.HTSViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,9 +28,7 @@ fun HTSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUp) } - LoggerIconAppBar(stringResource(id = R.string.hts_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state.htsManagerState) { @@ -46,3 +46,19 @@ fun HTSScreen() { } } } + +@Composable +private fun AppBar(state: HTSViewState, navigateUp: () -> Unit, viewModel: HTSViewModel) { + val toolbarName = (state.htsManagerState as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.hts_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} + diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/data/PRXManager.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/data/PRXManager.kt index 1e4eb51e..db10b09c 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/data/PRXManager.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/data/PRXManager.kt @@ -68,7 +68,7 @@ internal class PRXManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt index 28c81e5a..b5230b9a 100644 --- a/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt +++ b/profile_prx/src/main/java/no/nordicsemi/android/prx/view/PRXScreen.kt @@ -10,8 +10,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.prx.R +import no.nordicsemi.android.prx.data.PRXData import no.nordicsemi.android.prx.viewmodel.PRXViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -27,9 +29,7 @@ fun PRXScreen() { Column(horizontalAlignment = Alignment.CenterHorizontally) { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.prx_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -47,3 +47,18 @@ fun PRXScreen() { } } } + +@Composable +private fun AppBar(state: PRXViewState, navigateUp: () -> Unit, viewModel: PRXViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.prx_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/data/RSCSManager.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/data/RSCSManager.kt index 01e4918c..cc8ed938 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/data/RSCSManager.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/data/RSCSManager.kt @@ -56,7 +56,7 @@ internal class RSCSManager internal constructor( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt index add69d15..f3c04d11 100644 --- a/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt +++ b/profile_rscs/src/main/java/no/nordicsemi/android/rscs/view/RSCSScreen.kt @@ -9,8 +9,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.hilt.navigation.compose.hiltViewModel import no.nordicsemi.android.rscs.R +import no.nordicsemi.android.rscs.data.RSCSData import no.nordicsemi.android.rscs.viewmodel.RSCSViewModel import no.nordicsemi.android.service.* +import no.nordicsemi.android.theme.view.BackIconAppBar import no.nordicsemi.android.theme.view.LoggerIconAppBar import no.nordicsemi.android.utils.exhaustive import no.nordicsemi.ui.scanner.ui.DeviceConnectingView @@ -26,9 +28,7 @@ fun RSCSScreen() { Column { val navigateUp = { viewModel.onEvent(NavigateUpEvent) } - LoggerIconAppBar(stringResource(id = R.string.rscs_title), navigateUp, { viewModel.onEvent(DisconnectEvent) }) { - viewModel.onEvent(OpenLoggerEvent) - } + AppBar(state, navigateUp, viewModel) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { when (state) { @@ -46,3 +46,18 @@ fun RSCSScreen() { } } } + +@Composable +private fun AppBar(state: RSCSViewState, navigateUp: () -> Unit, viewModel: RSCSViewModel) { + val toolbarName = (state as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.rscs_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { viewModel.onEvent(DisconnectEvent) }) { + viewModel.onEvent(OpenLoggerEvent) + } + } +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt index 299cbae4..c3ce714f 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/data/UARTManager.kt @@ -69,7 +69,7 @@ internal class UARTManager( val dataHolder = ConnectionObserverAdapter() init { - setConnectionObserver(dataHolder) + connectionObserver = dataHolder data.onEach { dataHolder.setValue(it) diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt index e3cc5095..41d58f5b 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/repository/UARTRepository.kt @@ -32,8 +32,6 @@ class UARTRepository @Inject internal constructor( private val _data = MutableStateFlow>(IdleResult()) internal val data = _data.asStateFlow() - var device: DiscoveredBluetoothDevice? = null - val isRunning = data.map { it.isRunning() } val hasBeenDisconnected = data.map { it.hasBeenDisconnected() } @@ -44,7 +42,6 @@ class UARTRepository @Inject internal constructor( } fun start(device: DiscoveredBluetoothDevice, scope: CoroutineScope) { - this.device = device val createdLogger = toolboxLoggerFactory.create("UART", device.address()).also { logger = it } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt index 8587e90c..d9079ea5 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTScreen.kt @@ -1,6 +1,5 @@ package no.nordicsemi.android.uart.view -import android.annotation.SuppressLint import androidx.compose.foundation.layout.Column import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll @@ -34,44 +33,33 @@ fun UARTScreen() { AppBar(state = state, navigateUp = navigateUp) { viewModel.onEvent(it) } - Column(modifier = Modifier) { - when (state.uartManagerState) { - NoDeviceState -> NoDeviceView() - is WorkingState -> when (state.uartManagerState.result) { - is IdleResult, - is ConnectingResult -> Scroll { DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } } - is DisconnectedResult -> Scroll { DeviceDisconnectedView(Reason.USER, navigateUp) } - is LinkLossResult -> Scroll { DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) } - is MissingServiceResult -> Scroll { DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) } - is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } - is SuccessResult -> SuccessScreen(state.uartManagerState.result.data, state, viewModel) - } - }.exhaustive - } + when (state.uartManagerState) { + NoDeviceState -> NoDeviceView() + is WorkingState -> when (state.uartManagerState.result) { + is IdleResult, + is ConnectingResult -> Scroll { DeviceConnectingView { viewModel.onEvent(DisconnectEvent) } } + is DisconnectedResult -> Scroll { DeviceDisconnectedView(Reason.USER, navigateUp) } + is LinkLossResult -> Scroll { DeviceDisconnectedView(Reason.LINK_LOSS, navigateUp) } + is MissingServiceResult -> Scroll { DeviceDisconnectedView(Reason.MISSING_SERVICE, navigateUp) } + is UnknownErrorResult -> Scroll { DeviceDisconnectedView(Reason.UNKNOWN, navigateUp) } + is SuccessResult -> SuccessScreen(state.uartManagerState.result.data, state, viewModel) + } + }.exhaustive } } -@SuppressLint("MissingPermission") @Composable private fun AppBar(state: UARTViewState, navigateUp: () -> Unit, onEvent: (UARTViewEvent) -> Unit) { - Column(modifier = Modifier) { - when (state.uartManagerState) { - NoDeviceState -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) - is WorkingState -> when (state.uartManagerState.result) { - is IdleResult, - is DisconnectedResult, - is LinkLossResult, - is MissingServiceResult, - is UnknownErrorResult -> BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) - is ConnectingResult, - is SuccessResult -> { - val text = state.uartManagerState.device.nameOrAddress() - LoggerIconAppBar(text, navigateUp, { onEvent(DisconnectEvent) }) { - onEvent(OpenLogger) - } - } - } - }.exhaustive + val toolbarName = (state.uartManagerState as? WorkingState)?.let { + (it.result as? SuccessResult)?.deviceName() + } + + if (toolbarName == null) { + BackIconAppBar(stringResource(id = R.string.uart_title), navigateUp) + } else { + LoggerIconAppBar(toolbarName, navigateUp, { onEvent(DisconnectEvent) }) { + onEvent(OpenLogger) + } } } diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt index eebbcde5..a41e6821 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/view/UARTState.kt @@ -1,11 +1,9 @@ package no.nordicsemi.android.uart.view -import android.bluetooth.BluetoothDevice import no.nordicsemi.android.service.BleManagerResult import no.nordicsemi.android.uart.data.UARTConfiguration import no.nordicsemi.android.uart.data.UARTData import no.nordicsemi.android.uart.data.UARTMacro -import no.nordicsemi.ui.scanner.DiscoveredBluetoothDevice internal data class UARTViewState( val editedPosition: Int? = null, @@ -29,7 +27,6 @@ internal data class UARTViewState( internal sealed class HTSManagerState internal data class WorkingState( - val device: DiscoveredBluetoothDevice, val result: BleManagerResult ) : HTSManagerState() diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt index af2c87de..690dd5a6 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/viewmodel/UARTViewModel.kt @@ -40,7 +40,7 @@ internal class UARTViewModel @Inject constructor( if (it is IdleResult) { return@onEach } - _state.value = _state.value.copy(uartManagerState = WorkingState(repository.device!!, it)) + _state.value = _state.value.copy(uartManagerState = WorkingState(it)) }.launchIn(viewModelScope) dataSource.getConfigurations().onEach {