summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginDataSource.kt9
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginRemoteDataSource.kt26
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryDataSource.kt8
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryRemoteDataSource.kt26
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/repositories/LoginRepository.kt14
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/repositories/PasswordRecoveryRepository.kt14
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/responses/LoginResponse.kt9
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/responses/PasswordRecoveryResponse.kt8
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/utils/StringUtils.kt20
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/LoginViewModel.kt18
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/PasswordRecoveryViewModel.kt20
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt11
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt19
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt18
-rw-r--r--app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt16
-rw-r--r--app/src/main/res/layout/fragment_login.xml2
-rw-r--r--app/src/main/res/layout/fragment_signin.xml41
-rw-r--r--app/src/main/res/values-es/strings.xml3
-rw-r--r--app/src/main/res/values/strings.xml3
19 files changed, 271 insertions, 14 deletions
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginDataSource.kt
new file mode 100644
index 0000000..3f761ea
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginDataSource.kt
@@ -0,0 +1,9 @@
+package com.frannazario.proyectoandroid.data.datasources
+
+import androidx.lifecycle.LiveData
+import com.frannazario.proyectoandroid.data.responses.LoginResponse
+import com.frannazario.proyectoandroid.data.responses.SigninResponse
+
+interface LoginDataSource {
+ fun login (email: String, password: String): LiveData<LoginResponse>
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginRemoteDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginRemoteDataSource.kt
new file mode 100644
index 0000000..3f86c06
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/LoginRemoteDataSource.kt
@@ -0,0 +1,26 @@
+package com.frannazario.proyectoandroid.data.datasources
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import com.frannazario.proyectoandroid.data.responses.LoginResponse
+import com.google.firebase.auth.FirebaseAuth
+
+class LoginRemoteDataSource: LoginDataSource{
+ private val auth = FirebaseAuth.getInstance()
+
+ override fun login(email: String, password: String): LiveData<LoginResponse> {
+ val resultLiveData = MutableLiveData<LoginResponse>()
+
+ auth.signInWithEmailAndPassword(email, password)
+ .addOnCompleteListener { task ->
+ if (task.isSuccessful) {
+ val user = auth.currentUser
+ resultLiveData.value = LoginResponse.Success(user)
+ } else {
+ val error = task.exception?.message ?: "Error desconocido"
+ resultLiveData.value = LoginResponse.Error(error)
+ }
+ }
+ return resultLiveData
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryDataSource.kt
new file mode 100644
index 0000000..5ef08f4
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryDataSource.kt
@@ -0,0 +1,8 @@
+package com.frannazario.proyectoandroid.data.datasources
+
+import androidx.lifecycle.LiveData
+import com.frannazario.proyectoandroid.data.responses.PasswordRecoveryResponse
+
+interface PasswordRecoveryDataSource {
+ fun recover (email: String): LiveData<PasswordRecoveryResponse>
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryRemoteDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryRemoteDataSource.kt
new file mode 100644
index 0000000..08335ad
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/PasswordRecoveryRemoteDataSource.kt
@@ -0,0 +1,26 @@
+package com.frannazario.proyectoandroid.data.datasources
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import com.frannazario.proyectoandroid.data.responses.PasswordRecoveryResponse
+import com.google.firebase.auth.FirebaseAuth
+
+class PasswordRecoveryRemoteDataSource: PasswordRecoveryDataSource {
+ private val auth = FirebaseAuth.getInstance()
+
+ override fun recover (email: String): LiveData<PasswordRecoveryResponse> {
+ val resultLiveData = MutableLiveData<PasswordRecoveryResponse>()
+
+ auth.sendPasswordResetEmail(email)
+ .addOnCompleteListener { task ->
+ if (task.isSuccessful) {
+ val user = auth.currentUser
+ resultLiveData.value = PasswordRecoveryResponse.Success(user)
+ } else {
+ val error = task.exception?.message ?: "Error desconocido"
+ resultLiveData.value = PasswordRecoveryResponse.Error(error)
+ }
+ }
+ return resultLiveData
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/LoginRepository.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/LoginRepository.kt
new file mode 100644
index 0000000..9532534
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/LoginRepository.kt
@@ -0,0 +1,14 @@
+package com.frannazario.proyectoandroid.data.repositories
+
+import androidx.lifecycle.LiveData
+import com.frannazario.proyectoandroid.data.datasources.LoginDataSource
+import com.frannazario.proyectoandroid.data.datasources.LoginRemoteDataSource
+import com.frannazario.proyectoandroid.data.responses.LoginResponse
+
+class LoginRepository(
+ private val remoteDataSource: LoginDataSource = LoginRemoteDataSource()
+ ) {
+ fun login (email: String, password: String): LiveData<LoginResponse> {
+ return remoteDataSource.login(email, password)
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/PasswordRecoveryRepository.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/PasswordRecoveryRepository.kt
new file mode 100644
index 0000000..6550ae2
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/PasswordRecoveryRepository.kt
@@ -0,0 +1,14 @@
+package com.frannazario.proyectoandroid.data.repositories
+
+import androidx.lifecycle.LiveData
+import com.frannazario.proyectoandroid.data.datasources.PasswordRecoveryDataSource
+import com.frannazario.proyectoandroid.data.datasources.PasswordRecoveryRemoteDataSource
+import com.frannazario.proyectoandroid.data.responses.PasswordRecoveryResponse
+
+class PasswordRecoveryRepository (
+ private val remoteDataSource: PasswordRecoveryDataSource= PasswordRecoveryRemoteDataSource()
+ ) {
+ fun recover(email: String): LiveData<PasswordRecoveryResponse> {
+ return remoteDataSource.recover(email)
+ }
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/responses/LoginResponse.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/LoginResponse.kt
new file mode 100644
index 0000000..9eb5518
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/LoginResponse.kt
@@ -0,0 +1,9 @@
+package com.frannazario.proyectoandroid.data.responses
+
+import com.google.firebase.auth.FirebaseUser
+
+sealed class LoginResponse {
+
+ data class Success(val user: FirebaseUser?): LoginResponse()
+ data class Error(val error: String): LoginResponse()
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/responses/PasswordRecoveryResponse.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/PasswordRecoveryResponse.kt
new file mode 100644
index 0000000..98b5e39
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/responses/PasswordRecoveryResponse.kt
@@ -0,0 +1,8 @@
+package com.frannazario.proyectoandroid.data.responses
+
+import com.google.firebase.auth.FirebaseUser
+
+sealed class PasswordRecoveryResponse {
+ data class Success(val user: FirebaseUser?): PasswordRecoveryResponse()
+ data class Error(val error: String): PasswordRecoveryResponse()
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/utils/StringUtils.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/utils/StringUtils.kt
new file mode 100644
index 0000000..6b22894
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/utils/StringUtils.kt
@@ -0,0 +1,20 @@
+package com.frannazario.proyectoandroid.data.utils
+
+import android.annotation.SuppressLint
+
+fun String?.isEmail(): Boolean {
+ val emailRegex = "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
+ "\\@" +
+ "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
+ "(" +
+ "\\." +
+ "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
+ ")+"
+ return this?.matches(emailRegex.toRegex()) ?: false
+}
+
+@SuppressLint("SuspiciousIndentation")
+fun String?.isValidPassword(): Boolean {
+ val passwordRegex = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*?[#?!@\$%^&*-])[a-zA-Z\\d\\w\\W]{8,}\$"
+ return this?.matches(passwordRegex.toRegex()) ?: false
+} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/LoginViewModel.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/LoginViewModel.kt
new file mode 100644
index 0000000..9fe0988
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/LoginViewModel.kt
@@ -0,0 +1,18 @@
+package com.frannazario.proyectoandroid.data.viewmodels
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+import com.frannazario.proyectoandroid.data.repositories.LoginRepository
+import com.frannazario.proyectoandroid.data.responses.LoginResponse
+
+class LoginViewModel(private val repository: LoginRepository= LoginRepository()): ViewModel() {
+ private val loginResponseLiveData = MutableLiveData<LoginResponse>()
+ fun getLoginResultLiveData(): LiveData<LoginResponse> {
+ return loginResponseLiveData
+ }
+ fun login(email: String, password: String) {
+ val response = repository.login(email, password)
+ loginResponseLiveData.postValue(response.value)
+ }
+}
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/PasswordRecoveryViewModel.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/PasswordRecoveryViewModel.kt
new file mode 100644
index 0000000..b2511a8
--- /dev/null
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/PasswordRecoveryViewModel.kt
@@ -0,0 +1,20 @@
+package com.frannazario.proyectoandroid.data.viewmodels
+
+import androidx.lifecycle.LiveData
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+import com.frannazario.proyectoandroid.data.repositories.PasswordRecoveryRepository
+import com.frannazario.proyectoandroid.data.responses.PasswordRecoveryResponse
+
+class PasswordRecoveryViewModel(private val repository: PasswordRecoveryRepository = PasswordRecoveryRepository()): ViewModel() {
+ private val passwordRecoveryResponseLiveData = MutableLiveData<PasswordRecoveryResponse>()
+
+ fun getPasswordRecoveryResultLiveData(): LiveData<PasswordRecoveryResponse> {
+ return passwordRecoveryResponseLiveData
+ }
+
+ fun recover (email: String) {
+ val response = repository.recover(email)
+ passwordRecoveryResponseLiveData.postValue(response.value)
+ }
+}
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt
index e7f70ed..d2631b0 100644
--- a/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt
+++ b/app/src/main/java/com/frannazario/proyectoandroid/data/viewmodels/SigninViewModel.kt
@@ -5,6 +5,8 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import com.frannazario.proyectoandroid.data.repositories.SigninRepository
import com.frannazario.proyectoandroid.data.responses.SigninResponse
+import com.frannazario.proyectoandroid.data.utils.isEmail
+import com.frannazario.proyectoandroid.data.utils.isValidPassword
class SigninViewModel(private val repository: SigninRepository = SigninRepository()): ViewModel() {
@@ -14,8 +16,11 @@ class SigninViewModel(private val repository: SigninRepository = SigninRepositor
return signinResponseLiveData
}
- fun register(email: String, password: String) {
- val response = repository.register(email, password)
- signinResponseLiveData.postValue(response.value)
+ fun register(email: String?, password: String?) {
+ if(email.isEmail() &&
+ password.isValidPassword()) {
+ val response = repository.register(email ?: "", password ?: "")
+ signinResponseLiveData.postValue(response.value)
+ }
}
} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt
index fcabbe1..7167738 100644
--- a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt
+++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/LoginFragment.kt
@@ -7,11 +7,19 @@ import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.navigation.fragment.findNavController
import com.frannazario.proyectoandroid.R
+import com.frannazario.proyectoandroid.data.responses.LoginResponse
+import com.frannazario.proyectoandroid.data.viewmodels.LoginViewModel
import com.frannazario.proyectoandroid.databinding.FragmentLoginBinding
class LoginFragment: Fragment() {
private lateinit var binding: FragmentLoginBinding
+ private lateinit var viewModel: LoginViewModel
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ viewModel = LoginViewModel()
+ }
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -26,4 +34,15 @@ class LoginFragment: Fragment() {
}
return binding.root
}
+
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ viewModel.getLoginResultLiveData().observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is LoginResponse.Success -> {}
+ is LoginResponse.Error -> {}
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt
index 35b56d0..7c7d922 100644
--- a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt
+++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/PasswordRecoveryFragment.kt
@@ -5,10 +5,18 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
+import com.frannazario.proyectoandroid.data.responses.PasswordRecoveryResponse
+import com.frannazario.proyectoandroid.data.viewmodels.PasswordRecoveryViewModel
import com.frannazario.proyectoandroid.databinding.FragmentPasswordRecoveryBinding
class PasswordRecoveryFragment: Fragment() {
private lateinit var binding: FragmentPasswordRecoveryBinding
+ private lateinit var viewModel: PasswordRecoveryViewModel
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ viewModel = PasswordRecoveryViewModel()
+ }
override fun onCreateView(
inflater: LayoutInflater,
@@ -18,4 +26,14 @@ class PasswordRecoveryFragment: Fragment() {
binding = FragmentPasswordRecoveryBinding.inflate(inflater, container, false)
return binding.root
}
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ viewModel.getPasswordRecoveryResultLiveData().observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is PasswordRecoveryResponse.Success -> {}
+ is PasswordRecoveryResponse.Error -> {}
+ }
+ }
+ }
} \ No newline at end of file
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt
index 2b4f40e..7e1ab4e 100644
--- a/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt
+++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/fragments/SigninFragment.kt
@@ -4,7 +4,9 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.Toast
import androidx.fragment.app.Fragment
+import androidx.lifecycle.Observer
import com.frannazario.proyectoandroid.data.responses.SigninResponse
import com.frannazario.proyectoandroid.data.viewmodels.SigninViewModel
import com.frannazario.proyectoandroid.databinding.FragmentSigninBinding
@@ -30,9 +32,19 @@ class SigninFragment: Fragment() {
super.onViewCreated(view, savedInstanceState)
viewModel.getSigninResultLiveData().observe(viewLifecycleOwner) { response ->
when (response) {
- is SigninResponse.Success -> {}
- is SigninResponse.Error -> {}
+ is SigninResponse.Success -> {
+ Toast.makeText(requireContext(), "Funciona correctamente", Toast.LENGTH_LONG).show()
+ }
+ is SigninResponse.Error -> {
+ Toast.makeText(requireContext(), response.error, Toast.LENGTH_LONG).show()
+ }
}
}
+ binding.signupBtn.setOnClickListener {
+ viewModel.register(
+ binding.emailIet.text?.toString(),
+ binding.passwordIet.text?.toString()
+ )
+ }
}
} \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index ca2d5bc..61f0a8d 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -59,6 +59,6 @@
app:layout_constraintTop_toBottomOf="@id/forget_password_btn"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- android:text="@string/signin" />
+ android:text="@string/signup" />
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_signin.xml b/app/src/main/res/layout/fragment_signin.xml
index 863e130..f88a274 100644
--- a/app/src/main/res/layout/fragment_signin.xml
+++ b/app/src/main/res/layout/fragment_signin.xml
@@ -4,14 +4,43 @@
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
- <TextView
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/email_il"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/email_iet"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/field_email" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+
+ <com.google.android.material.textfield.TextInputLayout
+ android:id="@+id/password_il"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/email_il">
+
+ <com.google.android.material.textfield.TextInputEditText
+ android:id="@+id/password_iet"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:hint="@string/field_password" />
+
+ </com.google.android.material.textfield.TextInputLayout>
+ <Button
+ android:id="@+id/signup_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:text="A"
- android:textSize="200sp"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/password_il"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent" />
+ app:layout_constraintEnd_toEndOf="parent"
+ android:text="@string/signup" />
</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 1a2566e..ac08189 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="field_email">Correo electronico</string>
+ <string name="field_password">Contrasena</string>
<string name="field_signin">Registro</string>
<string name="forgot_password">Olvidé la contraseña</string>
- <string name="signin">Registrarte</string>
+ <string name="signup">Registrarte</string>
<string name="login">Acceder</string>
</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 36859ed..acba2eb 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -2,8 +2,9 @@
<string name="app_name" translatable="false">Proyecto android</string>
<string name="field_email">Email</string>
+ <string name="field_password">Password</string>
<string name="field_signin">Sign in</string>
<string name="forgot_password">Forget password</string>
- <string name="signin">Sign in</string>
+ <string name="signup">Sign Up</string>
<string name="login">Login</string>
</resources> \ No newline at end of file