mirror of
https://github.com/a-mayb3/KanbanCloneAndroid.git
synced 2026-03-21 18:15:38 +01:00
Moved Activities to ui package
This commit is contained in:
parent
23dba7e1d0
commit
49a0e83e3e
3 changed files with 25 additions and 15 deletions
|
|
@ -16,10 +16,10 @@
|
||||||
android:theme="@style/Theme.KanbanCloneAndroid"
|
android:theme="@style/Theme.KanbanCloneAndroid"
|
||||||
android:usesCleartextTraffic="true" >
|
android:usesCleartextTraffic="true" >
|
||||||
<activity
|
<activity
|
||||||
android:name="com.campusaula.edbole.kanban_clone_android.LoginActivity"
|
android:name="com.campusaula.edbole.kanban_clone_android.ui.LoginActivity"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.campusaula.edbole.kanban_clone_android.MainActivity"
|
android:name="com.campusaula.edbole.kanban_clone_android.ui.MainActivity"
|
||||||
android:exported="true" >
|
android:exported="true" >
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,31 @@
|
||||||
package com.campusaula.edbole.kanban_clone_android
|
package com.campusaula.edbole.kanban_clone_android.ui
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.appcompat.widget.AppCompatButton
|
||||||
|
import androidx.appcompat.widget.AppCompatEditText
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
|
import com.campusaula.edbole.kanban_clone_android.R
|
||||||
import com.campusaula.edbole.kanban_clone_android.network.ApiService
|
import com.campusaula.edbole.kanban_clone_android.network.ApiService
|
||||||
import com.campusaula.edbole.kanban_clone_android.network.RetrofitInstance
|
import com.campusaula.edbole.kanban_clone_android.network.RetrofitInstance
|
||||||
import com.campusaula.edbole.kanban_clone_android.kanban.ErrorResponse
|
import com.campusaula.edbole.kanban_clone_android.kanban.ErrorResponse
|
||||||
|
import com.campusaula.edbole.kanban_clone_android.kanban.UserLogin
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import retrofit2.Retrofit
|
import retrofit2.Retrofit
|
||||||
|
|
||||||
class LoginActivity : AppCompatActivity() {
|
class LoginActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var emailInput : androidx.appcompat.widget.AppCompatEditText
|
private lateinit var emailInput : AppCompatEditText
|
||||||
private lateinit var passwordInput : androidx.appcompat.widget.AppCompatEditText
|
private lateinit var passwordInput : AppCompatEditText
|
||||||
|
|
||||||
private lateinit var loginButton : androidx.appcompat.widget.AppCompatButton
|
private lateinit var loginButton : AppCompatButton
|
||||||
private lateinit var logonButton : androidx.appcompat.widget.AppCompatButton
|
private lateinit var logonButton : AppCompatButton
|
||||||
|
|
||||||
private lateinit var retrofit : Retrofit
|
private lateinit var retrofit : Retrofit
|
||||||
private lateinit var api : ApiService
|
private lateinit var api : ApiService
|
||||||
|
|
@ -47,14 +53,14 @@ class LoginActivity : AppCompatActivity() {
|
||||||
val password = passwordInput.text.toString()
|
val password = passwordInput.text.toString()
|
||||||
|
|
||||||
if (email.isEmpty() && password.isEmpty()) {
|
if (email.isEmpty() && password.isEmpty()) {
|
||||||
android.widget.Toast.makeText(this, "Please enter email and password", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this, "Please enter email and password", Toast.LENGTH_SHORT).show()
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
}
|
}
|
||||||
|
|
||||||
lifecycleScope.launch{
|
lifecycleScope.launch{
|
||||||
try {
|
try {
|
||||||
val loginResponse = api.login(
|
val loginResponse = api.login(
|
||||||
com.campusaula.edbole.kanban_clone_android.kanban.UserLogin(
|
UserLogin(
|
||||||
email = email,
|
email = email,
|
||||||
password = password
|
password = password
|
||||||
)
|
)
|
||||||
|
|
@ -67,10 +73,14 @@ class LoginActivity : AppCompatActivity() {
|
||||||
// Después del login exitoso OkHttp/CookieJar habrá guardado las cookies.
|
// Después del login exitoso OkHttp/CookieJar habrá guardado las cookies.
|
||||||
val authValue = RetrofitInstance.getAuthCookieForUrl(baseUrl)
|
val authValue = RetrofitInstance.getAuthCookieForUrl(baseUrl)
|
||||||
if (authValue != null) {
|
if (authValue != null) {
|
||||||
android.widget.Toast.makeText(this@LoginActivity, "Auth cookie guardada", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this@LoginActivity, "Auth cookie guardada", Toast.LENGTH_SHORT).show()
|
||||||
} else {
|
} else {
|
||||||
android.widget.Toast.makeText(this@LoginActivity, "Login OK pero no se encontró cookie de auth", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this@LoginActivity, "Login OK pero no se encontró cookie de auth", Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
|
// Navegar a MainActivity
|
||||||
|
val intent = Intent(this@LoginActivity, MainActivity::class.java)
|
||||||
|
startActivity(intent)
|
||||||
|
finish()
|
||||||
} else {
|
} else {
|
||||||
if (loginResponse.code() == 401) {
|
if (loginResponse.code() == 401) {
|
||||||
// parse error body if possible
|
// parse error body if possible
|
||||||
|
|
@ -85,14 +95,14 @@ class LoginActivity : AppCompatActivity() {
|
||||||
// clear stored cookies for base host
|
// clear stored cookies for base host
|
||||||
RetrofitInstance.clearCookiesForHost(baseHost)
|
RetrofitInstance.clearCookiesForHost(baseHost)
|
||||||
|
|
||||||
android.widget.Toast.makeText(this@LoginActivity, "Login failed (401): $errMsg", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this@LoginActivity, "Login failed (401): $errMsg", Toast.LENGTH_SHORT).show()
|
||||||
} else {
|
} else {
|
||||||
android.widget.Toast.makeText(this@LoginActivity, "Login failed: ${loginResponse.code()}", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this@LoginActivity, "Login failed: ${loginResponse.code()}", Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (ex: Exception){
|
} catch (ex: Exception){
|
||||||
android.widget.Toast.makeText(this@LoginActivity, "Login failed: ${ex.message}", android.widget.Toast.LENGTH_SHORT).show()
|
Toast.makeText(this@LoginActivity, "Login failed: ${ex.message}", Toast.LENGTH_SHORT).show()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
android:id="@+id/main"
|
android:id="@+id/main"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context="com.campusaula.edbole.kanban_clone_android.LoginActivity">
|
tools:context="com.campusaula.edbole.kanban_clone_android.ui.LoginActivity">
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:layout_width="350dp"
|
android:layout_width="350dp"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue