use derived state

This commit is contained in:
Florian Renaud
2023-04-13 17:49:14 +02:00
parent 5699dcf39e
commit 4337a95a39

View File

@@ -18,8 +18,10 @@ package io.element.android.features.createroom.impl.configureroom
import android.net.Uri
import androidx.compose.runtime.Composable
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import dagger.assisted.Assisted
@@ -43,9 +45,10 @@ class ConfigureRoomPresenter @AssistedInject constructor(
var topic by rememberSaveable { mutableStateOf("") }
var avatarUri by rememberSaveable { mutableStateOf<Uri?>(null) }
var privacy by rememberSaveable { mutableStateOf<RoomPrivacy?>(null) }
val isCreateButtonEnabled by rememberSaveable(roomName, privacy) {
val enabled = roomName.isNotEmpty() && privacy != null
mutableStateOf(enabled)
val isCreateButtonEnabled by remember {
derivedStateOf {
roomName.isNotEmpty() && privacy != null
}
}
fun handleEvents(event: ConfigureRoomEvents) {