diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index b50f326d01c13971ef4883628d0ea9aa35e72eec..6bcd63bfaba8e956cd08906823d56037e34c45cb 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 bcf385eb469571def7a620f7babf545cf699a3d0..f87324d84a06468ef7642b4361bef6702aa5cc1a 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 e91919d8ac5eaa92f835ebf7f928ac1f3db8442e..76b62ee63d3a70735227016dec93bbf2f91e2b60 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 f7cfecf1f39784e6e4df0a650dc2fc932226d9a5..854890261b1a8216458056efdd4dccfe4cf2b913 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 389d687bbfc7f176deb4b73b10a399f88fbfa33c..a7a2800a3d2ecf05b0e5be63dc63d442a481023d 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 9f41fcaf9e26ad236d325f3c76efb8b577c04ce7..a9d3ba208816e1c46d100a609ba448a04fdee644 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 c7cdff0a49a5290d9b2af0f38c57a42c7b201e8e..f783f3347920ad63afdaad8aa5573d7573ceda37 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 aee8c968d065126386c1f9e7124d7d522ea2a1cc..d3aabf25465af544e7f1d42c59bee5ccbae713cc 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 ae74a88acc3b44bd7d7383b7e21054f16b33509f..379dcd922b47fe3d72bcff03739ed6eec0f446c1 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" }