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 596b7d343e..d922d7d246 100644 --- a/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java +++ b/android/app/src/main/java/app/organicmaps/bookmarks/BookmarkCategorySettingsFragment.java @@ -1,8 +1,10 @@ package app.organicmaps.bookmarks; import android.os.Bundle; +import android.text.Editable; import android.text.InputFilter; import android.text.TextUtils; +import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; @@ -72,6 +74,20 @@ public class BookmarkCategorySettingsFragment extends BaseMwmToolbarFragment InputFilter[] f = { new InputFilter.LengthFilter(TEXT_LENGTH_LIMIT) }; mEditCategoryNameView.setFilters(f); mEditCategoryNameView.requestFocus(); + mEditCategoryNameView.addTextChangedListener(new TextWatcher() + { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) + { + clearNameBtn.setEndIconVisible(charSequence.length() > 0); + } + + @Override + public void afterTextChanged(Editable editable) {} + }); mEditDescView = root.findViewById(R.id.edit_description); mEditDescView.setText(mCategory.getDescription()); } diff --git a/android/app/src/main/java/app/organicmaps/widget/placepage/EditBookmarkFragment.java b/android/app/src/main/java/app/organicmaps/widget/placepage/EditBookmarkFragment.java index 4eae727461..c4521f03ec 100644 --- a/android/app/src/main/java/app/organicmaps/widget/placepage/EditBookmarkFragment.java +++ b/android/app/src/main/java/app/organicmaps/widget/placepage/EditBookmarkFragment.java @@ -3,7 +3,9 @@ package app.organicmaps.widget.placepage; import android.content.Context; import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.text.Editable; import android.text.TextUtils; +import android.text.TextWatcher; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -26,8 +28,10 @@ import app.organicmaps.bookmarks.data.BookmarkInfo; import app.organicmaps.bookmarks.data.BookmarkManager; import app.organicmaps.bookmarks.data.Icon; import app.organicmaps.util.Graphics; +import app.organicmaps.util.InputUtils; import app.organicmaps.util.UiUtils; import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; import java.util.List; @@ -38,6 +42,8 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View. private TextInputEditText mEtDescription; private TextInputEditText mEtName; + @NonNull + private TextInputLayout clearNameBtn; private TextView mTvBookmarkGroup; private ImageView mIvColor; private BookmarkCategory mBookmarkCategory; @@ -94,6 +100,22 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View. if (mBookmark != null) mIcon = mBookmark.getIcon(); mEtName = view.findViewById(R.id.et__bookmark_name); + clearNameBtn = view.findViewById(R.id.edit_bookmark_name_input); + clearNameBtn.setEndIconOnClickListener(v -> clearAndFocus(mEtName)); + mEtName.addTextChangedListener(new TextWatcher() + { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) + { + clearNameBtn.setEndIconVisible(charSequence.length() > 0); + } + + @Override + public void afterTextChanged(Editable editable) {} + }); mEtDescription = view.findViewById(R.id.et__description); mTvBookmarkGroup = view.findViewById(R.id.tv__bookmark_set); mTvBookmarkGroup.setOnClickListener(this); @@ -238,4 +260,10 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View. { mListener = listener; } + private void clearAndFocus(TextView textView) + { + textView.getEditableText().clear(); + textView.requestFocus(); + InputUtils.showKeyboard(textView); + } } diff --git a/android/app/src/main/res/layout/edit_bookmark_common.xml b/android/app/src/main/res/layout/edit_bookmark_common.xml index 3b1ef49d74..c36658e026 100644 --- a/android/app/src/main/res/layout/edit_bookmark_common.xml +++ b/android/app/src/main/res/layout/edit_bookmark_common.xml @@ -16,10 +16,14 @@ android:layout_marginEnd="@dimen/margin_half" android:orientation="vertical"> + android:textColorHint="?android:textColorSecondary" + app:endIconMode="custom" + app:endIconDrawable="@drawable/ic_clear_rounded" + app:endIconTint="?android:textColorSecondary">