From 284e841e6c9e0a4b65c04a997252e22cf0faabcd Mon Sep 17 00:00:00 2001 From: sweetbread Date: Wed, 20 Mar 2024 20:28:28 +0300 Subject: [PATCH] bug: LoginActivity now starts MainActivity --- app/src/main/AndroidManifest.xml | 8 +-- .../sweetbread/unn/ui/layout/LoginActivity.kt | 19 +++++- .../sweetbread/unn/ui/layout/MainActivity.kt | 64 ++----------------- 3 files changed, 27 insertions(+), 64 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8c8e329..779eaa1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,10 @@ + @@ -22,10 +26,6 @@ - \ No newline at end of file diff --git a/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt b/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt index e8915bf..bc4595e 100644 --- a/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt +++ b/app/src/main/java/ru/sweetbread/unn/ui/layout/LoginActivity.kt @@ -36,14 +36,30 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking import ru.sweetbread.unn.R import ru.sweetbread.unn.ui.auth import ru.sweetbread.unn.ui.theme.UNNTheme import splitties.activities.start +import splitties.preferences.Preferences + +object LoginData : Preferences("loginData") { + var login by stringPref("login", "") + var password by stringPref("password", "") +} class LoginActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + if ((LoginData.login != "") and (LoginData.password != "")) + runBlocking { + if (auth()) { + start() + finish() + } + } + setContent { UNNTheme { Surface( @@ -62,13 +78,14 @@ class LoginActivity : ComponentActivity() { LoginData.login = login LoginData.password = password start() + finish() }, { scope.launch { snackbarHostState .showSnackbar( message = "Error", - duration = SnackbarDuration.Long + duration = SnackbarDuration.Short ) } }) diff --git a/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt b/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt index f09c5bb..ac3fdd3 100644 --- a/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt +++ b/app/src/main/java/ru/sweetbread/unn/ui/layout/MainActivity.kt @@ -4,86 +4,38 @@ import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.aspectRatio import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.foundation.lazy.items -import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.AccountBox import androidx.compose.material.icons.filled.DateRange import androidx.compose.material.icons.filled.Home import androidx.compose.material3.Icon -import androidx.compose.material3.LinearProgressIndicator import androidx.compose.material3.MaterialTheme import androidx.compose.material3.NavigationBar import androidx.compose.material3.NavigationBarItem import androidx.compose.material3.Scaffold import androidx.compose.material3.Surface import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -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.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.text.style.TextOverflow -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp -import androidx.compose.ui.zIndex -import androidx.navigation.NavType import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import androidx.navigation.compose.rememberNavController -import androidx.navigation.navArgument -import com.kizitonwose.calendar.compose.WeekCalendar -import com.kizitonwose.calendar.compose.weekcalendar.rememberWeekCalendarState import io.ktor.client.HttpClient import io.ktor.client.plugins.HttpRequestRetry import io.ktor.client.plugins.HttpTimeout import io.ktor.client.plugins.cache.HttpCache -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.runBlocking -import ru.sweetbread.unn.ui.Auditorium -import ru.sweetbread.unn.ui.Building -import ru.sweetbread.unn.ui.Discipline -import ru.sweetbread.unn.ui.KindOfWork -import ru.sweetbread.unn.ui.Lecturer -import ru.sweetbread.unn.ui.LecturerRank -import ru.sweetbread.unn.ui.ScheduleUnit -import ru.sweetbread.unn.ui.auth -import ru.sweetbread.unn.ui.getSchedule -import ru.sweetbread.unn.ui.theme.UNNTheme -import splitties.activities.start -import splitties.preferences.Preferences -import splitties.toast.toast -import java.time.DayOfWeek -import java.time.LocalDate -import java.time.LocalTime -import java.time.format.DateTimeFormatter -import io.ktor.client.plugins.logging.* -import ru.sweetbread.unn.ui.Type +import io.ktor.client.plugins.logging.LogLevel +import io.ktor.client.plugins.logging.Logger +import io.ktor.client.plugins.logging.Logging import ru.sweetbread.unn.ui.composes.Schedule -import ru.sweetbread.unn.ui.composes.ScheduleDay - -object LoginData : Preferences("loginData") { - var login by stringPref("login", "") - var password by stringPref("password", "") -} +import ru.sweetbread.unn.ui.theme.UNNTheme +import splitties.toast.toast val client = HttpClient { install(HttpCache) @@ -111,12 +63,6 @@ class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - - if (LoginData.login.isEmpty() or LoginData.password.isEmpty()) start() - runBlocking { - if (!auth()) start() - } - setContent { UNNTheme { Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background) {