google-developer-training / basic-android-kotlin-compose-training-inventory-app

Apache License 2.0
77 stars 84 forks source link

Read and update data using Room #94

Open nogik777 opened 7 months ago

nogik777 commented 7 months ago

URL of codelab: https://developer.android.com/codelabs/basic-android-kotlin-compose-update-data-room?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-6-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-update-data-room#7

Specify the language of the codelab if it is not English:

In which task and step of the codelab can this issue be found? Read and update data with Room Step 8

Describe the problem

  1. In the ItemDetailsViewModel class, set outOfStock value based on the it.quantity in the map transformation.

val uiState: StateFlow = itemsRepository.getItemStream(itemId) .filterNotNull() .map { ItemDetailsUiState(outOfStock = it.quantity <= 0, itemDetails = it.toItemDetails()) }.stateIn( //... )

  1. Run your app. Notice that the app disables the Sell button when the quantity in stock is zero.

missed step of changing the button itself, in the file ItemDetailsScreen.kt , @Composable private fun ItemDetailsBody( itemDetailsUiState: ItemDetailsUiState, onSellItem: () -> Unit, onDelete: () -> Unit, modifier: Modifier = Modifier ).... Button(..... enabled = !itemDetailsUiState.outOfStock)