From 47f959ec07b16112b04d5024563239ada1b24920 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Date: Tue, 30 Dec 2025 18:48:52 +0100 Subject: [PATCH] [android] Show error message behind text field instead in a floating view Signed-off-by: Jean-Baptiste --- .../organicmaps/dialog/EditTextDialogFragment.java | 2 +- .../java/app/organicmaps/editor/EditorFragment.java | 6 ++---- .../src/main/java/app/organicmaps/util/UiUtils.java | 11 +---------- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/dialog/EditTextDialogFragment.java b/android/app/src/main/java/app/organicmaps/dialog/EditTextDialogFragment.java index 2bbe8ef4e..998c633f0 100644 --- a/android/app/src/main/java/app/organicmaps/dialog/EditTextDialogFragment.java +++ b/android/app/src/main/java/app/organicmaps/dialog/EditTextDialogFragment.java @@ -152,7 +152,7 @@ public class EditTextDialogFragment extends BaseMwmDialogFragment if (mInputValidator != null) { final String maybeError = mInputValidator.validate(activity, input); - mEtInputLayout.getEditText().setError(maybeError); + mEtInputLayout.setError(maybeError); mEtInputLayout.requestFocus(); return maybeError == null; } diff --git a/android/app/src/main/java/app/organicmaps/editor/EditorFragment.java b/android/app/src/main/java/app/organicmaps/editor/EditorFragment.java index b86b62b54..bfee6f727 100644 --- a/android/app/src/main/java/app/organicmaps/editor/EditorFragment.java +++ b/android/app/src/main/java/app/organicmaps/editor/EditorFragment.java @@ -196,10 +196,8 @@ public class EditorFragment extends BaseMwmFragment implements View.OnClickListe { final Context context = mInputBuildingLevels.getContext(); final boolean isValid = Editor.nativeIsLevelValid(s.toString()); - UiUtils.setInputError(mInputBuildingLevels, - isValid ? null - : context.getString(R.string.error_enter_correct_storey_number, - Editor.nativeGetMaxEditableBuildingLevels())); + mInputBuildingLevels.setError(isValid ? null : context.getString(R.string.error_enter_correct_storey_number, + Editor.nativeGetMaxEditableBuildingLevels())); } }); diff --git a/android/app/src/main/java/app/organicmaps/util/UiUtils.java b/android/app/src/main/java/app/organicmaps/util/UiUtils.java index 7ff68131e..5b5864f17 100644 --- a/android/app/src/main/java/app/organicmaps/util/UiUtils.java +++ b/android/app/src/main/java/app/organicmaps/util/UiUtils.java @@ -24,7 +24,6 @@ import androidx.annotation.ColorInt; import androidx.annotation.IdRes; import androidx.annotation.NonNull; import androidx.annotation.StringRes; -import androidx.core.content.ContextCompat; import androidx.core.content.res.ResourcesCompat; import androidx.core.graphics.Insets; import androidx.core.view.WindowCompat; @@ -209,15 +208,7 @@ public final class UiUtils } public static void setInputError(@NonNull TextInputLayout layout, @StringRes int error) { - setInputError(layout, error == 0 ? null : layout.getContext().getString(error)); - } - - public static void setInputError(@NonNull TextInputLayout layout, String error) - { - layout.getEditText().setError(error); - layout.getEditText().setTextColor(error == null - ? ThemeUtils.getColor(layout.getContext(), android.R.attr.textColorPrimary) - : ContextCompat.getColor(layout.getContext(), R.color.base_red)); + layout.setError(error == 0 ? null : layout.getContext().getString(error)); } public static void setFullscreen(@NonNull Activity activity, boolean fullscreen)