diff options
8 files changed, 30 insertions, 15 deletions
diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt index 8f75685..4290c0a 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninDataSource.kt @@ -1,7 +1,8 @@ package com.frannazario.proyectoandroid.data.datasources import androidx.lifecycle.LiveData +import com.frannazario.proyectoandroid.data.responses.SigninResponse interface SigninDataSource { - fun register(email: String, password: String): LiveData<SigninDataSource> + fun register(email: String, password: String): LiveData<SigninResponse> }
\ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt index f319b40..7841045 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/datasources/SigninRemoteDataSource.kt @@ -1,20 +1,22 @@ package com.frannazario.proyectoandroid.data.datasources +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.frannazario.proyectoandroid.data.responses.SigninResponse import com.google.firebase.auth.FirebaseAuth -import com.google.firebase.ktx.Firebase -interface SigninRemoteDataSource: SigninDataSource{ +class SigninRemoteDataSource: SigninDataSource { private val auth = FirebaseAuth.getInstance() - fun register(email: String, password: String): LiveData<SigninResponse> { + override fun register(email: String, password: String): LiveData<SigninResponse> { val resultLiveData = MutableLiveData<SigninResponse>() auth.createUserWithEmailAndPassword(email, password) - .addOnCompleteListener{ task -> - if (task.isSuccessful){ + .addOnCompleteListener { task -> + if (task.isSuccessful) { val user = auth.currentUser resultLiveData.value = SigninResponse.Success(user) - } else{ + } else { val error = task.exception?.message ?: "Error desconocido" resultLiveData.value = SigninResponse.Error(error) } diff --git a/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt index 974ed83..c5c6fc9 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/data/repositories/SigninRepository.kt @@ -2,8 +2,15 @@ package com.frannazario.proyectoandroid.data.repositories import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import com.frannazario.proyectoandroid.data.datasources.SigninDataSource +import com.frannazario.proyectoandroid.data.datasources.SigninRemoteDataSource import com.frannazario.proyectoandroid.data.responses.SigninResponse import com.google.firebase.auth.FirebaseAuth -class SigninRepository { +class SigninRepository( + private val remoteDataSource: SigninDataSource = SigninRemoteDataSource() +) { + fun register(email: String, password: String): LiveData<SigninResponse> { + return remoteDataSource.register(email, password) + } }
\ No newline at end of file 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 8ed890d..e7f70ed 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 @@ -10,7 +10,7 @@ class SigninViewModel(private val repository: SigninRepository = SigninRepositor private val signinResponseLiveData = MutableLiveData<SigninResponse>() - fun getRegisterResultLiveData(): LiveData<SigninResponse> { + fun getSigninResultLiveData(): LiveData<SigninResponse> { return signinResponseLiveData } 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 c533991..2b4f40e 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 @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment +import com.frannazario.proyectoandroid.data.responses.SigninResponse import com.frannazario.proyectoandroid.data.viewmodels.SigninViewModel import com.frannazario.proyectoandroid.databinding.FragmentSigninBinding @@ -14,9 +15,8 @@ class SigninFragment: Fragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - viewModel= SigninViewModel() + viewModel = SigninViewModel() } - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -28,6 +28,11 @@ class SigninFragment: Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel + viewModel.getSigninResultLiveData().observe(viewLifecycleOwner) { response -> + when (response) { + is SigninResponse.Success -> {} + is SigninResponse.Error -> {} + } + } } }
\ No newline at end of file diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt index d982329..d31dad1 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Color.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Color.kt @@ -1,4 +1,4 @@ -package com.frannazario.proyectoandroid.ui.theme +package com.frannazario.proyectoandroid.presentation.ui.theme import androidx.compose.ui.graphics.Color diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt index 8b02c04..4693ca1 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Theme.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package com.frannazario.proyectoandroid.ui.theme +package com.frannazario.proyectoandroid.presentation.ui.theme import android.app.Activity import android.os.Build diff --git a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt index 4bae58a..5e3a43b 100644 --- a/app/src/main/java/com/frannazario/proyectoandroid/ui/theme/Type.kt +++ b/app/src/main/java/com/frannazario/proyectoandroid/presentation/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package com.frannazario.proyectoandroid.ui.theme +package com.frannazario.proyectoandroid.presentation.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle |