Change collectAsState to collectAsStateWithLifecycle

This commit is contained in:
Sylwester Zieliński
2023-02-20 18:01:34 +01:00
parent 757658d573
commit 2ac493ccda
12 changed files with 26 additions and 25 deletions

View File

@@ -70,6 +70,8 @@ dependencies {
implementation(libs.nordic.permission)
implementation(libs.nordic.analytics)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.nordic.ble.common)
implementation(libs.nordic.ble.ktx)

View File

@@ -39,7 +39,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalUriHandler
@@ -47,6 +46,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.analytics.Link
import no.nordicsemi.android.analytics.Profile
import no.nordicsemi.android.analytics.ProfileOpenEvent
@@ -72,7 +72,7 @@ private const val LOGGER_PACKAGE_NAME = "no.nordicsemi.android.log"
@Composable
fun HomeScreen() {
val viewModel: HomeViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
Scaffold(
topBar = {

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.bps.R
import no.nordicsemi.android.bps.viewmodel.BPSViewModel
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun BPSScreen() {
val viewModel: BPSViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(DisconnectEvent) }

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.cgms.R
import no.nordicsemi.android.cgms.viewmodel.CGMViewModel
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun CGMScreen() {
val viewModel: CGMViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUp) }

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun CSCScreen() {
val viewModel: CSCViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUp) }

View File

@@ -33,9 +33,9 @@ package no.nordicsemi.android.gls.details.view
import androidx.compose.foundation.layout.Column
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.res.stringResource
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.gls.R
import no.nordicsemi.android.gls.details.viewmodel.GLSDetailsViewModel
import no.nordicsemi.android.ui.view.LoggerBackIconAppBar
@@ -43,7 +43,7 @@ import no.nordicsemi.android.ui.view.LoggerBackIconAppBar
@Composable
internal fun GLSDetailsScreen() {
val viewModel: GLSDetailsViewModel = hiltViewModel()
val record = viewModel.record.collectAsState().value
val record = viewModel.record.collectAsStateWithLifecycle().value
Column {
LoggerBackIconAppBar(stringResource(id = R.string.gls_title)) {

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun GLSScreen() {
val viewModel: GLSViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(DisconnectEvent) }

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun HRSScreen() {
val viewModel: HRSViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUpEvent) }

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun HTSScreen() {
val viewModel: HTSViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUp) }

View File

@@ -38,12 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -66,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun PRXScreen() {
val viewModel: PRXViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUpEvent) }

View File

@@ -38,11 +38,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import no.nordicsemi.android.common.ui.scanner.view.DeviceConnectingView
import no.nordicsemi.android.common.ui.scanner.view.DeviceDisconnectedView
import no.nordicsemi.android.common.ui.scanner.view.Reason
@@ -65,7 +65,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun RSCSScreen() {
val viewModel: RSCSViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUpEvent) }

View File

@@ -40,13 +40,13 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.google.accompanist.pager.ExperimentalPagerApi
import no.nordicsemi.android.common.theme.view.PagerView
import no.nordicsemi.android.common.theme.view.PagerViewEntity
@@ -73,7 +73,7 @@ import no.nordicsemi.android.ui.view.NavigateUpButton
@Composable
fun UARTScreen() {
val viewModel: UARTViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
val navigateUp = { viewModel.onEvent(NavigateUp) }
@@ -145,7 +145,7 @@ private fun SuccessScreen() {
@Composable
private fun KeyboardView() {
val viewModel: UARTViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
(state.uartManagerState as? WorkingState)?.let {
(state.uartManagerState.result as? SuccessResult)?.let {
UARTContentView(it.data) { viewModel.onEvent(it) }
@@ -156,7 +156,7 @@ private fun KeyboardView() {
@Composable
private fun MacroView() {
val viewModel: UARTViewModel = hiltViewModel()
val state = viewModel.state.collectAsState().value
val state = viewModel.state.collectAsStateWithLifecycle().value
(state.uartManagerState as? WorkingState)?.let {
(state.uartManagerState.result as? SuccessResult)?.let {
MacroSection(state) { viewModel.onEvent(it) }