diff --git a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt index e036f92..3079b46 100755 --- a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt +++ b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Room.kt @@ -31,7 +31,6 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -42,7 +41,6 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import org.jsoup.Jsoup import org.jsoup.safety.Safelist @@ -55,17 +53,14 @@ import ru.risdeveau.pixeldragon.ui.item.MXCImage @Composable fun Room(modifier: Modifier = Modifier, rid: String) { var eventsId by remember { mutableStateOf(listOf()) } - val coroutineScope = rememberCoroutineScope() val listState = rememberLazyListState() - LaunchedEffect(true) { - coroutineScope.launch { - withContext(Dispatchers.IO) { - val readMark = getAccountData(ME!!.userId, rid, "m.fully_read") - val eventsAround = getEventsAround(rid, readMark!!.getString("event_id")) //FIXME: Null check - eventsId = eventsAround.let { - it.before + listOf(it.base) + it.after - } + LaunchedEffect(Unit) { + withContext(Dispatchers.IO) { + val readMark = getAccountData(ME!!.userId, rid, "m.fully_read") + val eventsAround = getEventsAround(rid, readMark!!.getString("event_id")) //FIXME: Null check + eventsId = eventsAround.let { + it.before + listOf(it.base) + it.after } } } diff --git a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Rooms.kt b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Rooms.kt index fc5bbc8..e05deaa 100755 --- a/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Rooms.kt +++ b/app/src/main/java/ru/risdeveau/pixeldragon/ui/layout/Rooms.kt @@ -26,14 +26,12 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp import androidx.navigation.NavController import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import ru.risdeveau.pixeldragon.api.getRooms import ru.risdeveau.pixeldragon.repo.Room @@ -42,7 +40,6 @@ import ru.risdeveau.pixeldragon.ui.item.MXCImage @Composable fun RoomList(modifier: Modifier = Modifier, navController: NavController) { var list by remember { mutableStateOf(listOf()) } - val coroutineScope = rememberCoroutineScope() val listState = rememberLazyListState() // if (itemState.scrollToTop) { @@ -52,12 +49,8 @@ fun RoomList(modifier: Modifier = Modifier, navController: NavController) { // } // } - LaunchedEffect(true) { - coroutineScope.launch { - withContext(Dispatchers.IO) { - list = getRooms() - } - } + LaunchedEffect(Unit) { + list = withContext(Dispatchers.IO) { getRooms() } } LazyColumn(modifier = modifier, state = listState) { @@ -76,14 +69,9 @@ fun RoomList(modifier: Modifier = Modifier, navController: NavController) { @Composable fun RoomItem(modifier: Modifier = Modifier, rid: String, navController: NavController) { var room by remember { mutableStateOf(null) } - val scope = rememberCoroutineScope() - LaunchedEffect(true) { - scope.launch { - withContext(Dispatchers.IO) { - room = Room.getById(rid) - } - } + LaunchedEffect(Unit) { + room = withContext(Dispatchers.IO) { Room.getById(rid) } } if (room != null) {