Фиксы аунтификации

This commit is contained in:
2023-04-18 01:50:35 +03:00
parent 4029e93768
commit 8b06ccdaa2
4 changed files with 46 additions and 19 deletions
@@ -53,12 +53,17 @@ class MainActivity : ComponentActivity() {
GlobalScope.launch(Dispatchers.IO) { GlobalScope.launch(Dispatchers.IO) {
val credentialsDao = app.database.credentialsDao() val credentialsDao = app.database.credentialsDao()
val globalUserContext = app.database.globalUserContextDao()
if(credentialsDao.credentialsIsExists()) { if(credentialsDao.credentialsIsExists()) {
val credentials = credentialsDao.getCredentials() val credentials = credentialsDao.getCredentials()
if (!credentials.rememberMe) if (!credentials.rememberMe) {
credentialsDao.deleteCredentials() credentialsDao.deleteCredentials()
globalUserContext.deleteGlobalUserContext()
}
} }
} }
} }
@@ -1,5 +1,6 @@
package ru.megboyzz.dnevnik.authorization package ru.megboyzz.dnevnik.authorization
import android.util.Log
import com.google.gson.Gson import com.google.gson.Gson
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import org.jsoup.Connection import org.jsoup.Connection
@@ -88,6 +89,7 @@ class AuthorizationManager(dataBase: AppDataBase) {
.execute() .execute()
}.onFailure { }.onFailure {
Log.e("Auth", it.message.toString())
return AuthorizationStatus.NO_INTERNET return AuthorizationStatus.NO_INTERNET
}.onSuccess { response1 -> }.onSuccess { response1 ->
val htmlByLines = response1.body().split("\n") val htmlByLines = response1.body().split("\n")
@@ -1,5 +1,8 @@
package ru.megboyzz.dnevnik.screens package ru.megboyzz.dnevnik.screens
import androidx.compose.foundation.layout.Column
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.compose.viewModel
@@ -52,27 +55,41 @@ fun LoginScreen(navController: NavController) {
if(loginStatus.value == AuthorizationStatus.LOGGED) if(loginStatus.value == AuthorizationStatus.LOGGED)
navController.navigate(AppNavRoute.Marks) navController.navigate(AppNavRoute.Marks)
Column() {
Button(onClick = {
login.value = "08012002@mail.ru"
password.value = "1282565121024QWEasdfZXC"
}) {
Text("Я")
}
Button(onClick = {
login.value = "kitsekaterina"
password.value = "k12345"
}) {
Text("Катя")
}
LoginScreenContent( LoginScreenContent(
login = login.value, login = login.value,
onLoginChange = { login.value = it }, onLoginChange = { login.value = it },
password = password.value, password = password.value,
onPasswordChange = { password.value = it }, onPasswordChange = { password.value = it },
isError = loginStatus.value == AuthorizationStatus.WRONG_CREDENTIALS, isError = loginStatus.value == AuthorizationStatus.WRONG_CREDENTIALS,
onErrorChange = { }, onErrorChange = { },
isLoading = isLoading, isLoading = isLoading,
isRememberMe = rememberMe.value, isRememberMe = rememberMe.value,
onRememberChange = { rememberMe.value = it }, onRememberChange = { rememberMe.value = it },
onSignIn = { onSignIn = {
if(loginStatus.value != AuthorizationStatus.LOGGED) if (loginStatus.value != AuthorizationStatus.LOGGED)
authorizationViewModel.login() authorizationViewModel.login()
}, },
onSignUp = { /*TODO*/ }, onSignUp = { /*TODO*/ },
onForgetPassword = { /* TODO */ } onForgetPassword = { /* TODO */ }
) )
}
} }
@@ -1,5 +1,6 @@
package ru.megboyzz.dnevnik.viewmodel package ru.megboyzz.dnevnik.viewmodel
import android.util.Log
import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
@@ -33,7 +34,9 @@ class AuthorizationViewModel(application: App) : AndroidViewModel(application) {
viewModelScope.launch(Dispatchers.IO) { viewModelScope.launch(Dispatchers.IO) {
loginStatus.emit(AuthorizationStatus.LOGGING) loginStatus.emit(AuthorizationStatus.LOGGING)
loginStatus.emit(authManager.login(login.value, password.value, rememberMe.value)) val login1 = authManager.login(login.value, password.value, rememberMe.value)
Log.i("Auth", login1.toString())
loginStatus.emit(login1)
} }