use derived state
This commit is contained in:
parent
5699dcf39e
commit
4337a95a39
1 changed files with 6 additions and 3 deletions
|
|
@ -18,8 +18,10 @@ package io.element.android.features.createroom.impl.configureroom
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.derivedStateOf
|
||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.saveable.rememberSaveable
|
import androidx.compose.runtime.saveable.rememberSaveable
|
||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import dagger.assisted.Assisted
|
import dagger.assisted.Assisted
|
||||||
|
|
@ -43,9 +45,10 @@ class ConfigureRoomPresenter @AssistedInject constructor(
|
||||||
var topic by rememberSaveable { mutableStateOf("") }
|
var topic by rememberSaveable { mutableStateOf("") }
|
||||||
var avatarUri by rememberSaveable { mutableStateOf<Uri?>(null) }
|
var avatarUri by rememberSaveable { mutableStateOf<Uri?>(null) }
|
||||||
var privacy by rememberSaveable { mutableStateOf<RoomPrivacy?>(null) }
|
var privacy by rememberSaveable { mutableStateOf<RoomPrivacy?>(null) }
|
||||||
val isCreateButtonEnabled by rememberSaveable(roomName, privacy) {
|
val isCreateButtonEnabled by remember {
|
||||||
val enabled = roomName.isNotEmpty() && privacy != null
|
derivedStateOf {
|
||||||
mutableStateOf(enabled)
|
roomName.isNotEmpty() && privacy != null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun handleEvents(event: ConfigureRoomEvents) {
|
fun handleEvents(event: ConfigureRoomEvents) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue