From 777957b28a332bfed93a504f53daf024d6164aae Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Date: Thu, 1 Jan 2026 07:37:37 +0100 Subject: [PATCH] [android] Use error in textfield instead alert dialog Signed-off-by: Jean-Baptiste --- .../BookmarkCategorySettingsFragment.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java b/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java index 9c3ed39df..5c11336cb 100644 --- a/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java +++ b/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java @@ -61,8 +61,8 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment private void initViews(@NonNull View root) { mEditCategoryNameView = root.findViewById(R.id.edit_list_name_view); - TextInputLayout clearNameBtn = root.findViewById(R.id.edit_list_name_input); - clearNameBtn.setEndIconOnClickListener(v -> clearAndFocus(mEditCategoryNameView)); + TextInputLayout mEditCategoryNameLayout = root.findViewById(R.id.edit_list_name_input); + mEditCategoryNameLayout.setEndIconOnClickListener(v -> clearAndFocus(mEditCategoryNameView)); mEditCategoryNameView.setText(mCategory.getName()); InputFilter[] f = {new InputFilter.LengthFilter(TEXT_LENGTH_LIMIT)}; mEditCategoryNameView.setFilters(f); @@ -75,7 +75,19 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { - clearNameBtn.setEndIconVisible(charSequence.length() > 0); + if (charSequence.length() > 0) + { + mEditCategoryNameLayout.setEndIconVisible(true); + if (BookmarkManager.INSTANCE.isUsedCategoryName(charSequence.toString()) && !TextUtils.equals(charSequence.toString(), mCategory.getName())) + { + mEditCategoryNameLayout.setError(getString(R.string.bookmarks_error_title_list_name_already_taken)); + } + } + else + { + mEditCategoryNameLayout.setEndIconVisible(false); + mEditCategoryNameLayout.setError(getString(R.string.bookmarks_error_title_empty_list_name)); + } } @Override