File tree Expand file tree Collapse file tree
src/main/java/com/example/viewmodelmigration Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -141,7 +141,7 @@ Only `app/` is built in the first alpha.
141141## Next milestones (planned, v0.2)
142142
143143- [ ] Add UI tests for article edit/delete interactions
144- - [ ] Add ` collectAsStateWithLifecycle ` in Compose state collection
144+ - [x ] Add ` collectAsStateWithLifecycle ` in Compose state collection
145145- [ ] Replace demo placeholder with real screen recording (` docs/images/demo.gif ` )
146146- [ ] Improve Article detail validation UX
147147- [ ] Prepare v0.2.0 roadmap and release notes
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ android {
3636dependencies {
3737 implementation(" androidx.core:core-ktx:1.13.1" )
3838 implementation(" androidx.lifecycle:lifecycle-runtime-ktx:2.8.3" )
39+ implementation(" androidx.lifecycle:lifecycle-runtime-compose:2.8.3" )
3940 implementation(" androidx.lifecycle:lifecycle-viewmodel-compose:2.8.3" )
4041 implementation(" androidx.activity:activity-compose:1.9.0" )
4142
Original file line number Diff line number Diff line change @@ -12,12 +12,12 @@ import androidx.compose.material3.MaterialTheme
1212import androidx.compose.material3.Surface
1313import androidx.compose.material3.Text
1414import androidx.compose.runtime.Composable
15- import androidx.compose.runtime.collectAsState
1615import androidx.compose.runtime.getValue
1716import androidx.compose.ui.Alignment
1817import androidx.compose.ui.Modifier
1918import androidx.compose.ui.tooling.preview.Preview
2019import androidx.compose.ui.unit.dp
20+ import androidx.lifecycle.compose.collectAsStateWithLifecycle
2121import androidx.lifecycle.viewmodel.compose.viewModel
2222import com.example.viewmodelmigration.ui.ArticleDetailScreen
2323import com.example.viewmodelmigration.ui.ArticleListScreen
@@ -41,7 +41,7 @@ class MainActivity : ComponentActivity() {
4141private fun AppRoot (
4242 viewModel : ArticleListViewModel = viewModel()
4343) {
44- val uiState by viewModel.uiState.collectAsState ()
44+ val uiState by viewModel.uiState.collectAsStateWithLifecycle ()
4545
4646 val selectedArticle = uiState.articles.firstOrNull {
4747 it.id == uiState.selectedArticleId
You can’t perform that action at this time.
0 commit comments