From 13cd391af004ddbf731832dd4e5f1cad486487b7 Mon Sep 17 00:00:00 2001 From: Pau Date: Fri, 23 May 2025 00:48:01 +0200 Subject: [PATCH] Updated String resources and provided context --- .../acloc/activity/AddNewPlaceActivity.java | 2 +- .../acloc/activity/AddReportActivity.java | 3 +- .../example/acloc/activity/LoginActivity.java | 4 +- .../acloc/activity/PlaceDetailActivity.java | 2 +- .../dialog/AlertChangePasswordDialog.java | 2 +- .../dialog/AlertViewAddNewPlaceDialog.java | 2 +- .../AlertViewOrUpdateProfileDialog.java | 2 +- .../com/example/acloc/utility/Helper.java | 46 +++++++++---------- app/src/main/res/values-es/strings.xml | 4 ++ app/src/main/res/values/strings.xml | 4 ++ 10 files changed, 39 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/com/example/acloc/activity/AddNewPlaceActivity.java b/app/src/main/java/com/example/acloc/activity/AddNewPlaceActivity.java index 1e5193c..3568a5e 100644 --- a/app/src/main/java/com/example/acloc/activity/AddNewPlaceActivity.java +++ b/app/src/main/java/com/example/acloc/activity/AddNewPlaceActivity.java @@ -227,7 +227,7 @@ public class AddNewPlaceActivity extends AppCompatActivity implements View.OnCli private void onClickBtnSubmit() { View[] views = {etPlaceName, etLatitude, etLongitude, etAddress, etPlaceDescription}; - if (Helper.isEmptyFieldValidation(views)) { + if (Helper.isEmptyFieldValidation(context, views)) { setInputDataToEntity(); if (place_uuid != null && !place_uuid.isEmpty()) { diff --git a/app/src/main/java/com/example/acloc/activity/AddReportActivity.java b/app/src/main/java/com/example/acloc/activity/AddReportActivity.java index 48ed373..2bb9cdb 100644 --- a/app/src/main/java/com/example/acloc/activity/AddReportActivity.java +++ b/app/src/main/java/com/example/acloc/activity/AddReportActivity.java @@ -2,7 +2,6 @@ package com.example.acloc.activity; import static com.example.acloc.utility.Constants.BASE_URL; -import android.app.Dialog; import android.content.Context; import android.content.Intent; import android.graphics.PorterDuff; @@ -273,7 +272,7 @@ public class AddReportActivity extends AppCompatActivity implements View.OnClick private void onClickBtnSubmit() { View[] views = {etPlaceName, etDescription}; - if (Helper.isEmptyFieldValidation(views) && isValidateRating()) { + if (Helper.isEmptyFieldValidation(context, views) && isValidateRating()) { setInputDataToEntity(); if (report_uuid != null && !report_uuid.isEmpty()) { diff --git a/app/src/main/java/com/example/acloc/activity/LoginActivity.java b/app/src/main/java/com/example/acloc/activity/LoginActivity.java index cda1e93..62fa09c 100644 --- a/app/src/main/java/com/example/acloc/activity/LoginActivity.java +++ b/app/src/main/java/com/example/acloc/activity/LoginActivity.java @@ -53,7 +53,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList Helper.goTo(this, MainActivity.class); finish(); } else { - // Optionally force logout if token expired + // force logout if token expired SharedPref.setIsLoggedIn(this, false); SharedPref.setAccessToken(this, ""); // clear token setContentView(R.layout.activity_login); @@ -112,7 +112,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList private void onClickBtnLogin() { View[] views = {etUsername, etPassword}; - if (Helper.isEmptyFieldValidation(views)) { + if (Helper.isEmptyFieldValidation(context, views)) { setInputDataToEntity(); loginUserWithRetrofit(); } diff --git a/app/src/main/java/com/example/acloc/activity/PlaceDetailActivity.java b/app/src/main/java/com/example/acloc/activity/PlaceDetailActivity.java index ee708fb..d1ff42b 100644 --- a/app/src/main/java/com/example/acloc/activity/PlaceDetailActivity.java +++ b/app/src/main/java/com/example/acloc/activity/PlaceDetailActivity.java @@ -78,7 +78,7 @@ public class PlaceDetailActivity extends AppCompatActivity implements View.OnCli super.onResume(); if (adapter != null) { setDataVisibility(false); - adapter.clearReports(); // Safe way to clear and notify + adapter.clearReports(); // clear and notify } if (context != null) loadData(); diff --git a/app/src/main/java/com/example/acloc/dialog/AlertChangePasswordDialog.java b/app/src/main/java/com/example/acloc/dialog/AlertChangePasswordDialog.java index b480bb2..5f2707f 100644 --- a/app/src/main/java/com/example/acloc/dialog/AlertChangePasswordDialog.java +++ b/app/src/main/java/com/example/acloc/dialog/AlertChangePasswordDialog.java @@ -91,7 +91,7 @@ public class AlertChangePasswordDialog implements View.OnClickListener { private void onClickBtnUpdate() { View[] views = {etOldPassword, etNewPassword}; - if (Helper.isEmptyFieldValidation(views) && Helper.isPasswordValid(etNewPassword)) { + if (Helper.isEmptyFieldValidation(context, views) && Helper.isPasswordValid(context, etNewPassword)) { String username = SharedPref.getUserName(context); String oldPassword = Helper.getStringFromInput(etOldPassword); String newPassword = Helper.getStringFromInput(etNewPassword); diff --git a/app/src/main/java/com/example/acloc/dialog/AlertViewAddNewPlaceDialog.java b/app/src/main/java/com/example/acloc/dialog/AlertViewAddNewPlaceDialog.java index 04d1326..4d5cf03 100644 --- a/app/src/main/java/com/example/acloc/dialog/AlertViewAddNewPlaceDialog.java +++ b/app/src/main/java/com/example/acloc/dialog/AlertViewAddNewPlaceDialog.java @@ -115,7 +115,7 @@ public class AlertViewAddNewPlaceDialog implements View.OnClickListener { private void onClickBtnSubmit() { View[] views = {etPlaceName, etLatitude, etLongitude, etAddress, etPlaceDescription}; - if (Helper.isEmptyFieldValidation(views)) { + if (Helper.isEmptyFieldValidation(context, views)) { setInputDataToEntity(); if (place_uuid != null && !place_uuid.isEmpty()) { diff --git a/app/src/main/java/com/example/acloc/dialog/AlertViewOrUpdateProfileDialog.java b/app/src/main/java/com/example/acloc/dialog/AlertViewOrUpdateProfileDialog.java index 36b7738..dcb29fd 100644 --- a/app/src/main/java/com/example/acloc/dialog/AlertViewOrUpdateProfileDialog.java +++ b/app/src/main/java/com/example/acloc/dialog/AlertViewOrUpdateProfileDialog.java @@ -115,7 +115,7 @@ public class AlertViewOrUpdateProfileDialog implements View.OnClickListener { private void onClickBtnUpdate() { View[] views = {etUsername, etEmail}; - if (Helper.isEmptyFieldValidation(views) && Helper.isEmailValid(etEmail)) { + if (Helper.isEmptyFieldValidation(context, views) && Helper.isEmailValid(context, etEmail)) { setInputDataToEntity(); String uuid = SharedPref.getUserUid(context); updateUserWithRetrofit(uuid, entity.getUsername(), entity.getEmail()); diff --git a/app/src/main/java/com/example/acloc/utility/Helper.java b/app/src/main/java/com/example/acloc/utility/Helper.java index 3f79400..0832931 100644 --- a/app/src/main/java/com/example/acloc/utility/Helper.java +++ b/app/src/main/java/com/example/acloc/utility/Helper.java @@ -14,6 +14,7 @@ import com.google.android.material.snackbar.Snackbar; import com.google.android.material.textfield.MaterialAutoCompleteTextView; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; +import com.ieslamar.acloc.R; import java.io.Serializable; import java.text.SimpleDateFormat; @@ -49,17 +50,6 @@ public class Helper { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent); - // No need to finish explicitly here, flags handle it - if (context instanceof Activity) { - ((Activity) context).finish(); - } - } - - public static void goToAndFinish(Context context, Class activity, String key, Serializable object) { - Intent intent = new Intent(context, activity); - intent.putExtra(key, object); - context.startActivity(intent); - if (context instanceof Activity) { ((Activity) context).finish(); } @@ -75,6 +65,16 @@ public class Helper { // } } + public static void goToAndFinish(Context context, Class activity, String key, Serializable object) { + Intent intent = new Intent(context, activity); + intent.putExtra(key, object); + context.startActivity(intent); + + if (context instanceof Activity) { + ((Activity) context).finish(); + } + } + public static int getIntValueFromString(String value) { try { return Integer.parseInt(value); @@ -137,7 +137,7 @@ public class Helper { return isValidate; } - public static boolean isEmptyFieldValidation(View[] inputFields) { + public static boolean isEmptyFieldValidation(Context context, View[] inputFields) { boolean isValidate = true; try { for (View view : inputFields) { @@ -156,13 +156,13 @@ public class Helper { if (inputText.isEmpty()) { if (textInputLayout != null) { - textInputLayout.setError("Please " + textInputLayout.getHint()); + textInputLayout.setError(context.getString(R.string.please) +" "+ textInputLayout.getHint()); textInputLayout.setErrorEnabled(true); } else { if (view instanceof TextInputEditText) { - ((TextInputEditText) view).setError("Empty"); + ((TextInputEditText) view).setError(context.getString(R.string.empty)); } else if (view instanceof MaterialAutoCompleteTextView) { - ((MaterialAutoCompleteTextView) view).setError("Empty"); + ((MaterialAutoCompleteTextView) view).setError(context.getString(R.string.empty)); } } isValidate = false; @@ -185,7 +185,7 @@ public class Helper { return isValidate; } - public static boolean isEmailValid(View emailView) { + public static boolean isEmailValid(Context context, View emailView) { boolean isValidate = true; try { TextInputLayout textInputLayout = null; @@ -204,13 +204,13 @@ public class Helper { // Regex for email validation if (!emailText.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$")) { if (textInputLayout != null) { - textInputLayout.setError("Invalid Email Address"); + textInputLayout.setError(context.getString(R.string.invalid_email_address)); textInputLayout.setErrorEnabled(true); } else { if (emailView instanceof TextInputEditText) { - ((TextInputEditText) emailView).setError("Invalid Email Address"); + ((TextInputEditText) emailView).setError(context.getString(R.string.invalid_email_address)); } else if (emailView instanceof MaterialAutoCompleteTextView) { - ((MaterialAutoCompleteTextView) emailView).setError("Invalid Email Address"); + ((MaterialAutoCompleteTextView) emailView).setError(context.getString(R.string.invalid_email_address)); } } isValidate = false; @@ -232,7 +232,7 @@ public class Helper { return isValidate; } - public static boolean isPasswordValid(View passwordView) { + public static boolean isPasswordValid(Context context, View passwordView) { boolean isValidate = true; try { TextInputLayout textInputLayout = null; @@ -253,13 +253,13 @@ public class Helper { if (!passwordText.matches(passwordPattern)) { if (textInputLayout != null) { - textInputLayout.setError("Password must be at least 6 characters, include 1 uppercase, 1 lowercase, 1 digit, and 1 special character."); + textInputLayout.setError(context.getString(R.string.password_validation_requirement)); textInputLayout.setErrorEnabled(true); } else { if (passwordView instanceof TextInputEditText) { - ((TextInputEditText) passwordView).setError("Password must be at least 6 characters, include 1 uppercase, 1 lowercase, 1 digit, and 1 special character."); + ((TextInputEditText) passwordView).setError(context.getString(R.string.password_validation_requirement)); } else if (passwordView instanceof MaterialAutoCompleteTextView) { - ((MaterialAutoCompleteTextView) passwordView).setError("Password must be at least 6 characters, include 1 uppercase, 1 lowercase, 1 digit, and 1 special character."); + ((MaterialAutoCompleteTextView) passwordView).setError(context.getString(R.string.password_validation_requirement)); } } isValidate = false; diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index e191eaa..fcedf0f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -170,6 +170,10 @@ Error de análisis Ningún lugar encontrado cerca de esta dirección Lugar no encontrado + Dirección de correo no válida + Por favor + Vacío + La contraseña debe tener al menos 6 caracteres, incluir 1 mayúscula, 1 minúscula, 1 dígito y 1 carácter especial. \ 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 2749725..9ce168f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -173,6 +173,10 @@ Response parsing error No places found near this location Location not found + Invalid email address + Please + Empty + Password must be at least 6 characters, include 1 uppercase, 1 lowercase, 1 digit, and 1 special character. \ No newline at end of file