Replace collectAsState() by collectAsStateWithLifecycle() everywhere
This commit is contained in:
parent
dab044d313
commit
698abfe32b
@ -108,4 +108,8 @@ dependencies {
|
||||
implementation "io.coil-kt:coil-compose:2.4.0"
|
||||
|
||||
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.4"
|
||||
|
||||
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1"
|
||||
implementation "androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1"
|
||||
implementation "androidx.lifecycle:lifecycle-runtime-compose:2.6.1"
|
||||
}
|
@ -11,10 +11,10 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||
import cafe.adriel.voyager.navigator.tab.Tab
|
||||
@ -27,8 +27,8 @@ object AccountTab : Tab {
|
||||
override val options: TabOptions
|
||||
@Composable
|
||||
get() = TabOptions(
|
||||
index = 3u,
|
||||
title = "Account"
|
||||
index = 3u,
|
||||
title = "Account"
|
||||
)
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@ -36,24 +36,24 @@ object AccountTab : Tab {
|
||||
override fun Content() {
|
||||
val navigator = LocalNavigator.currentOrThrow
|
||||
val viewModel = getViewModel<AccountViewModel>()
|
||||
val closeHome by viewModel.closeHome.collectAsState()
|
||||
val closeHome by viewModel.closeHome.collectAsStateWithLifecycle()
|
||||
|
||||
if (closeHome) {
|
||||
navigator.replaceAll(AccountSelectionScreen())
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
topBar = {
|
||||
TopAppBar(title = { Text(text = "Account") })
|
||||
}
|
||||
topBar = {
|
||||
TopAppBar(title = { Text(text = "Account") })
|
||||
}
|
||||
) { paddingValues ->
|
||||
Column(
|
||||
modifier = Modifier.padding(paddingValues)
|
||||
modifier = Modifier.padding(paddingValues)
|
||||
) {
|
||||
Row {
|
||||
Button(onClick = { viewModel.deleteAccount() }) {
|
||||
Text(
|
||||
text = "Delete"
|
||||
text = "Delete"
|
||||
)
|
||||
}
|
||||
|
||||
@ -61,7 +61,7 @@ object AccountTab : Tab {
|
||||
|
||||
Button(onClick = { navigator.push(AccountSelectionScreen()) }) {
|
||||
Text(
|
||||
text = "New"
|
||||
text = "New"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -10,12 +10,12 @@ import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import cafe.adriel.voyager.androidx.AndroidScreen
|
||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||
@ -30,7 +30,7 @@ class AccountSelectionScreen : AndroidScreen() {
|
||||
@Composable
|
||||
override fun Content() {
|
||||
val viewModel = getViewModel<AccountSelectionViewModel>()
|
||||
val navState by viewModel.navState.collectAsState()
|
||||
val navState by viewModel.navState.collectAsStateWithLifecycle()
|
||||
val navigator = LocalNavigator.currentOrThrow
|
||||
|
||||
Column(
|
||||
|
@ -14,7 +14,6 @@ import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
@ -22,6 +21,7 @@ import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import cafe.adriel.voyager.navigator.tab.Tab
|
||||
import cafe.adriel.voyager.navigator.tab.TabOptions
|
||||
import org.koin.androidx.compose.getViewModel
|
||||
@ -41,7 +41,7 @@ object FeedTab : Tab {
|
||||
val viewModel = getViewModel<FeedViewModel>()
|
||||
var showDialog by remember { mutableStateOf(false) }
|
||||
|
||||
val state by viewModel.feedsState.collectAsState()
|
||||
val state by viewModel.feedsState.collectAsStateWithLifecycle()
|
||||
|
||||
if (showDialog) {
|
||||
AddFeedDialog(
|
||||
|
@ -26,11 +26,11 @@ import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.material3.rememberDrawerState
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.collectAsState
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||
import cafe.adriel.voyager.navigator.tab.Tab
|
||||
@ -60,9 +60,9 @@ object TimelineTab : Tab {
|
||||
override fun Content() {
|
||||
val viewModel = getViewModel<TimelineViewModel>()
|
||||
|
||||
val state by viewModel.timelineState.collectAsState()
|
||||
val drawerState by viewModel.drawerState.collectAsState()
|
||||
val isRefreshing by viewModel.isRefreshing.collectAsState()
|
||||
val state by viewModel.timelineState.collectAsStateWithLifecycle()
|
||||
val drawerState by viewModel.drawerState.collectAsStateWithLifecycle()
|
||||
val isRefreshing by viewModel.isRefreshing.collectAsStateWithLifecycle()
|
||||
|
||||
val navigator = LocalNavigator.currentOrThrow
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user