From f6c4f253a396b2283076770871b7711a7a68745b Mon Sep 17 00:00:00 2001 From: scimmiamorta <ale.beni95@gmail.com> Date: Sat, 28 Dec 2024 11:41:47 +0100 Subject: [PATCH] First Commit --- app/build.gradle.kts | 1 + .../auth/EditProfileFragment.kt | 20 +++++++---- .../taskmanagement/auth/LoginFragment.kt | 5 +-- .../taskmanagement/auth/RegisterFragment.kt | 34 +++++++++++-------- .../com/example/taskmanagement/auth/User.kt | 2 +- .../taskmanagement/auth/WelcomeFragment.kt | 5 +-- app/src/main/res/values-it/strings.xml | 3 ++ app/src/main/res/values/strings.xml | 4 ++- gradle/libs.versions.toml | 2 ++ 9 files changed, 48 insertions(+), 28 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b50f326..6bcd63b 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -53,6 +53,7 @@ dependencies { implementation(libs.androidx.navigation.fragment.ktx) implementation(libs.androidx.navigation.ui.ktx) implementation(libs.androidx.swiperefreshlayout) + implementation(libs.androidx.media3.common.ktx) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) diff --git a/app/src/main/java/com/example/taskmanagement/auth/EditProfileFragment.kt b/app/src/main/java/com/example/taskmanagement/auth/EditProfileFragment.kt index bcf385e..f87324d 100644 --- a/app/src/main/java/com/example/taskmanagement/auth/EditProfileFragment.kt +++ b/app/src/main/java/com/example/taskmanagement/auth/EditProfileFragment.kt @@ -21,13 +21,12 @@ class EditProfileFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? - ): View? { + ): View { binding = FragmentEditProfileBinding.inflate(inflater, container, false) firebaseAuth = FirebaseAuth.getInstance() firestore = FirebaseFirestore.getInstance() - loadUserProfile() binding.buttonSaveProfile.setOnClickListener { @@ -60,7 +59,12 @@ class EditProfileFragment : Fragment() { } } ?.addOnFailureListener { - Toast.makeText(context, "Errore nel caricamento dei dati", Toast.LENGTH_SHORT).show() + Toast.makeText( + context, + getString(R.string.error_fetching_data), + Toast.LENGTH_SHORT + ) + .show() } } } @@ -74,7 +78,7 @@ class EditProfileFragment : Fragment() { val skills = binding.editTextSkills.text.toString().trim() if (firstName.isEmpty() || lastName.isEmpty() || street.isEmpty() || skills.isEmpty()) { - Toast.makeText(context, "Compila tutti i campi", Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(R.string.fill_all_field), Toast.LENGTH_SHORT).show() return } @@ -91,10 +95,14 @@ class EditProfileFragment : Fragment() { ?.document(it) ?.set(userData) ?.addOnSuccessListener { - Toast.makeText(context, "Profilo aggiornato", Toast.LENGTH_SHORT).show() + Toast.makeText(context, getString(R.string.profile_updated), Toast.LENGTH_SHORT).show() } ?.addOnFailureListener { - Toast.makeText(context, "Errore nell'aggiornamento del profilo", Toast.LENGTH_SHORT).show() + Toast.makeText( + context, + getString((R.string.error_updating_profile)), + Toast.LENGTH_SHORT + ).show() } } } diff --git a/app/src/main/java/com/example/taskmanagement/auth/LoginFragment.kt b/app/src/main/java/com/example/taskmanagement/auth/LoginFragment.kt index e91919d..76b62ee 100644 --- a/app/src/main/java/com/example/taskmanagement/auth/LoginFragment.kt +++ b/app/src/main/java/com/example/taskmanagement/auth/LoginFragment.kt @@ -62,10 +62,8 @@ class LoginFragment : Fragment() { binding.username.setOnEditorActionListener { _, actionId, _ -> if (actionId == EditorInfo.IME_ACTION_DONE) { - val email = binding.username.text.toString() val pass = binding.password.text.toString() - when { email.isEmpty() || pass.isEmpty() -> { Toast.makeText( @@ -73,7 +71,6 @@ class LoginFragment : Fragment() { Toast.LENGTH_SHORT ).show() } - else -> { loginUser(email, pass) } @@ -95,7 +92,6 @@ class LoginFragment : Fragment() { Toast.LENGTH_SHORT ).show() } - else -> { loginUser(email, pass) } @@ -161,6 +157,7 @@ class LoginFragment : Fragment() { editor.putString("user", userJson) editor.apply() } + private fun saveUserRoleLocally(role: String?) { val sharedPreferences = requireContext().getSharedPreferences("TaskManagerPrefs", Context.MODE_PRIVATE) diff --git a/app/src/main/java/com/example/taskmanagement/auth/RegisterFragment.kt b/app/src/main/java/com/example/taskmanagement/auth/RegisterFragment.kt index f7cfecf..8548902 100644 --- a/app/src/main/java/com/example/taskmanagement/auth/RegisterFragment.kt +++ b/app/src/main/java/com/example/taskmanagement/auth/RegisterFragment.kt @@ -2,7 +2,6 @@ package com.example.taskmanagement.auth import android.content.Context import android.os.Bundle -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -55,20 +54,32 @@ class RegisterFragment : Fragment() { private fun validateInputs(email: String, pass: String, verifyPass: String): Boolean { return when { email.isEmpty() || pass.isEmpty() || verifyPass.isEmpty() -> { - showToast("Per favore, completa tutti i campi.") + Toast.makeText( + requireContext(), + getString(R.string.fill_all_field), + Toast.LENGTH_SHORT + ).show() false } + !isPasswordStrong(pass) -> { - showToast(getString(R.string.password_not_strong_enough)) + Toast.makeText( + requireContext(), + getString(R.string.password_not_strong_enough), + Toast.LENGTH_SHORT + ).show() false } pass != verifyPass -> { - showToast(getString(R.string.passwords_do_not_match)) + Toast.makeText( + requireContext(), + getString(R.string.passwords_do_not_match), + Toast.LENGTH_SHORT + ).show() false } - else -> true } } @@ -82,25 +93,23 @@ class RegisterFragment : Fragment() { private fun registerUser(email: String, pass: String) { mAuth.createUserWithEmailAndPassword(email, pass).addOnCompleteListener { task -> if (task.isSuccessful) { - Log.d("RegisterFragment", "SONO in registerUser") val userId = mAuth.currentUser?.uid val user = User(email = email, password = pass) - userId?.let { FirebaseFirestore.getInstance().collection("users") .document(it) .set(user) .addOnSuccessListener { saveUserLocally(user) - showToast(getString(R.string.registration_success)) + Toast.makeText(requireContext(), getString(R.string.registration_success), Toast.LENGTH_SHORT).show() findNavController().navigate(R.id.action_registerFragment_to_loginFragment) } - .addOnFailureListener { e -> - showToast("Errore nel salvataggio dei dati: ${e.message}") + .addOnFailureListener { + Toast.makeText(requireContext(), getString(R.string.error_fetching_data), Toast.LENGTH_SHORT).show() } } } else { - showToast(task.exception?.message ?: "Errore sconosciuto.") + Toast.makeText(requireContext(), getString(R.string.error_fetching_data), Toast.LENGTH_SHORT).show() } } } @@ -115,7 +124,4 @@ class RegisterFragment : Fragment() { editor.apply() } - private fun showToast(message: String) { - Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show() - } } diff --git a/app/src/main/java/com/example/taskmanagement/auth/User.kt b/app/src/main/java/com/example/taskmanagement/auth/User.kt index 389d687..a7a2800 100644 --- a/app/src/main/java/com/example/taskmanagement/auth/User.kt +++ b/app/src/main/java/com/example/taskmanagement/auth/User.kt @@ -1,3 +1,3 @@ package com.example.taskmanagement.auth -data class User(val email: String = "", val password: String = "", val role: String="Dev") \ No newline at end of file +data class User(val email: String = "", val password: String = "", val role: String = "Dev") \ No newline at end of file diff --git a/app/src/main/java/com/example/taskmanagement/auth/WelcomeFragment.kt b/app/src/main/java/com/example/taskmanagement/auth/WelcomeFragment.kt index 9f41fca..a9d3ba2 100644 --- a/app/src/main/java/com/example/taskmanagement/auth/WelcomeFragment.kt +++ b/app/src/main/java/com/example/taskmanagement/auth/WelcomeFragment.kt @@ -1,6 +1,7 @@ package com.example.taskmanagement.auth import android.os.Bundle +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -40,7 +41,7 @@ class WelcomeFragment : Fragment() { try { findNavController().navigate(R.id.action_welcomeFragment_to_loginFragment) } catch (e: Exception) { - android.util.Log.e("WelcomeFragment", "Errore durante la navigazione", e) + Log.e("WelcomeFragment", "Errore durante la navigazione", e) } } @@ -48,7 +49,7 @@ class WelcomeFragment : Fragment() { try { findNavController().navigate(R.id.action_welcomeFragment_to_registerFragment) } catch (e: Exception) { - android.util.Log.e("WelcomeFragment", "Errore durante la navigazione", e) + Log.e("WelcomeFragment", "Errore durante la navigazione", e) } } } diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c7cdff0..f783f33 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -167,4 +167,7 @@ <string name="only_pm_can_edit_tasks">Solo i PM possono modificare i task!</string> <string name="assigned_tasks">Tasks assegnati</string> <string name="statistics">Statistiche</string> + <string name="fill_all_field">Completa tutti i campi</string> + <string name="profile_updated">Profilo aggiornato con successo</string> + <string name="error_updating_profile">Errore aggiornamento profilo</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 aee8c96..d3aabf2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -188,6 +188,8 @@ <string name="number" translatable="false">0</string> <string name="assigned_tasks">Assigned Tasks</string> <string name="statistics">Statics</string> - + <string name="fill_all_field">Fill in all fields</string> + <string name="profile_updated">Profile updated successfully</string> + <string name="error_updating_profile">Error updating profile</string> </resources> \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ae74a88..379dcd9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,6 +16,7 @@ firebaseAuthKtx = "23.1.0" navigationFragmentKtx = "2.8.5" navigationUiKtx = "2.8.5" swiperefreshlayout = "1.1.0" +media3CommonKtx = "1.5.1" [libraries] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } @@ -32,6 +33,7 @@ firebase-auth-ktx = { group = "com.google.firebase", name = "firebase-auth-ktx", androidx-navigation-fragment-ktx = { group = "androidx.navigation", name = "navigation-fragment-ktx", version.ref = "navigationFragmentKtx" } androidx-navigation-ui-ktx = { group = "androidx.navigation", name = "navigation-ui-ktx", version.ref = "navigationUiKtx" } androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" } +androidx-media3-common-ktx = { group = "androidx.media3", name = "media3-common-ktx", version.ref = "media3CommonKtx" } [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -- GitLab