diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ea817a3..f3f54d2 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,7 @@ @@ -32,7 +31,7 @@ diff --git a/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/Login.kt b/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/Login.kt index 542a02a..b6cfdb9 100755 --- a/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/Login.kt +++ b/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/Login.kt @@ -1,7 +1,6 @@ /* * Created by sweetbread * Copyright (c) 2025. All rights reserved. - * Last modified 03.03.2025, 16:08 */ package ru.risdeveau.pixeldragon.ui.activity @@ -36,11 +35,9 @@ import androidx.compose.ui.text.input.KeyboardType import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.unit.dp import kotlinx.coroutines.DelicateCoroutinesApi -import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import ru.risdeveau.pixeldragon.api.getHomeserver import ru.risdeveau.pixeldragon.api.login -import ru.risdeveau.pixeldragon.initCheck import ru.risdeveau.pixeldragon.ui.theme.PixelDragonTheme import splitties.activities.start @@ -49,14 +46,6 @@ class Login : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - - GlobalScope.launch { - if (initCheck()) { - start() - finish() - } - } - enableEdgeToEdge() setContent { PixelDragonTheme { @@ -75,7 +64,10 @@ class Login : ComponentActivity() { .padding(innerPadding)) { LoginField( Modifier.align(Alignment.Center), - { start() }, + { + start() + finish() + }, { scope.launch { snackbarHostState diff --git a/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/MainActivity.kt b/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/MainActivity.kt index e0bef14..04c37a7 100755 --- a/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/MainActivity.kt +++ b/app/src/main/java/ru/risdeveau/pixeldragon/ui/activity/MainActivity.kt @@ -28,9 +28,11 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import ru.risdeveau.pixeldragon.api.Me import ru.risdeveau.pixeldragon.api.getMe +import ru.risdeveau.pixeldragon.initCheck import ru.risdeveau.pixeldragon.ui.layout.Room import ru.risdeveau.pixeldragon.ui.layout.RoomList import ru.risdeveau.pixeldragon.ui.theme.PixelDragonTheme +import splitties.activities.start var ME: Me? = null @@ -59,18 +61,30 @@ class MainActivity : ComponentActivity() { val navController = rememberNavController() LaunchedEffect(Unit) { - withContext(Dispatchers.IO) { - ME = getMe() + if (initCheck()) { + ME = withContext(Dispatchers.IO) { getMe() } + if (ME != null) { + navController.navigate("rooms") + } else { + start() + finish() + } + } else { + start() + finish() } } - NavHost(navController = navController, startDestination = "rooms") { + NavHost(navController = navController, startDestination = "none") { + composable("none") { } composable("rooms") { RoomList(Modifier.padding(innerPadding), navController) } composable( "room/{rid}", arguments = listOf(navArgument("rid") { type = NavType.StringType }) ) { navBackStackEntry -> - Room(Modifier.padding(innerPadding).fillMaxSize(), navBackStackEntry.arguments!!.getString("rid")!!) + Room(Modifier + .padding(innerPadding) + .fillMaxSize(), navBackStackEntry.arguments!!.getString("rid")!!) } composable( "space/{rid}",