From 0b8c023fe6950116488daf7d5240b1d562312397 Mon Sep 17 00:00:00 2001 From: ajay Date: Tue, 15 Apr 2025 10:58:40 +0530 Subject: [PATCH 1/4] Fix: Improve spacing and styling for 'Try Indexed Search' button --- .../ui/views/appbar/SearchView.java | 55 +++----------- .../main/res/drawable/button_background.xml | 14 ++++ .../res/drawable/ripple_button_background.xml | 14 ++++ app/src/main/res/layout-v21/layout_search.xml | 66 +++++++++++------ .../main/res/layout-w720dp/layout_search.xml | 73 ++++++++++++------- app/src/main/res/layout/layout_search.xml | 62 ++++++++++------ 6 files changed, 174 insertions(+), 110 deletions(-) create mode 100644 app/src/main/res/drawable/button_background.xml create mode 100644 app/src/main/res/drawable/ripple_button_background.xml diff --git a/app/src/main/java/com/amaze/filemanager/ui/views/appbar/SearchView.java b/app/src/main/java/com/amaze/filemanager/ui/views/appbar/SearchView.java index bd363724b6..29ca4bd663 100644 --- a/app/src/main/java/com/amaze/filemanager/ui/views/appbar/SearchView.java +++ b/app/src/main/java/com/amaze/filemanager/ui/views/appbar/SearchView.java @@ -52,20 +52,16 @@ import android.content.Context; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; -import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.text.Editable; -import android.text.Spannable; -import android.text.SpannableString; import android.text.TextWatcher; -import android.text.style.ForegroundColorSpan; -import android.text.style.StyleSpan; import android.view.ContextThemeWrapper; import android.view.View; import android.view.ViewAnimationUtils; import android.view.animation.AccelerateDecelerateInterpolator; import android.view.inputmethod.EditorInfo; import android.view.inputmethod.InputMethodManager; +import android.widget.LinearLayout; import android.widget.Toast; import androidx.appcompat.widget.AppCompatButton; @@ -99,7 +95,8 @@ public class SearchView { private final AppCompatTextView recentHintTV; private final AppCompatTextView searchResultsHintTV; - private final AppCompatTextView deepSearchTV; + private final AppCompatButton deepSearchButton; + private final LinearLayout deepSearchContainer; private final ChipGroup recentChipGroup; private final RecyclerView recyclerView; @@ -143,7 +140,8 @@ public SearchView(final AppBar appbar, MainActivity mainActivity) { recentChipGroup = mainActivity.findViewById(R.id.searchRecentItemsChipGroup); recentHintTV = mainActivity.findViewById(R.id.searchRecentHintTV); searchResultsHintTV = mainActivity.findViewById(R.id.searchResultsHintTV); - deepSearchTV = mainActivity.findViewById(R.id.searchDeepSearchTV); + deepSearchButton = mainActivity.findViewById(R.id.tryDeepSearchButton); + deepSearchContainer = mainActivity.findViewById(R.id.deepSearchContainer); recyclerView = mainActivity.findViewById(R.id.searchRecyclerView); searchResultsSortHintTV = mainActivity.findViewById(R.id.searchResultsSortHintTV); searchResultsSortButton = mainActivity.findViewById(R.id.searchResultsSortButton); @@ -205,7 +203,7 @@ public void afterTextChanged(Editable s) {} return false; }); - deepSearchTV.setOnClickListener( + deepSearchButton.setOnClickListener( v -> { String s = getSearchTerm(); @@ -225,11 +223,6 @@ public void afterTextChanged(Editable s) {} searchMode = 2; - deepSearchTV.setText( - getSpannableText( - mainActivity.getString(R.string.not_finding_what_you_re_looking_for), - mainActivity.getString(R.string.try_deep_search))); - } else if (searchMode == 2) { mainActivity @@ -240,7 +233,7 @@ public void afterTextChanged(Editable s) {} mainActivity.getCurrentMainFragment().getViewLifecycleOwner(), hybridFileParcelables -> updateResultList(hybridFileParcelables, s)); - deepSearchTV.setVisibility(View.GONE); + deepSearchContainer.setVisibility(View.GONE); } }); @@ -272,12 +265,9 @@ private void basicSearch(String s) { searchResultsHintTV.setVisibility(View.VISIBLE); searchResultsSortButton.setVisibility(View.VISIBLE); searchResultsSortHintTV.setVisibility(View.VISIBLE); - deepSearchTV.setVisibility(View.VISIBLE); + deepSearchContainer.setVisibility(View.VISIBLE); + searchMode = 1; - deepSearchTV.setText( - getSpannableText( - mainActivity.getString(R.string.not_finding_what_you_re_looking_for), - mainActivity.getString(R.string.try_indexed_search))); mainActivity .getCurrentMainFragment() @@ -356,11 +346,8 @@ private void initRecentSearches(Context context) { private void resetSearchMode() { searchMode = 0; - deepSearchTV.setText( - getSpannableText( - mainActivity.getString(R.string.not_finding_what_you_re_looking_for), - mainActivity.getString(R.string.try_indexed_search))); - deepSearchTV.setVisibility(View.GONE); + + deepSearchContainer.setVisibility(View.GONE); } /** @@ -616,31 +603,13 @@ private void initSearchViewColor(MainActivity a) { private void clearRecyclerView() { searchRecyclerViewAdapter.submitList(Collections.emptyList()); - deepSearchTV.setVisibility(View.GONE); + deepSearchContainer.setVisibility(View.GONE); searchResultsHintTV.setVisibility(View.GONE); searchResultsSortHintTV.setVisibility(View.GONE); searchResultsSortButton.setVisibility(View.GONE); } - private SpannableString getSpannableText(String s1, String s2) { - - SpannableString spannableString = new SpannableString(s1 + " " + s2); - - spannableString.setSpan( - new ForegroundColorSpan(mainActivity.getCurrentColorPreference().getAccent()), - s1.length() + 1, - spannableString.length(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - spannableString.setSpan( - new StyleSpan(Typeface.BOLD), - s1.length() + 1, - spannableString.length(), - Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - - return spannableString; - } - /** * Returns the current text in {@link SearchView#searchViewEditText} * diff --git a/app/src/main/res/drawable/button_background.xml b/app/src/main/res/drawable/button_background.xml new file mode 100644 index 0000000000..ecca43508e --- /dev/null +++ b/app/src/main/res/drawable/button_background.xml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ripple_button_background.xml b/app/src/main/res/drawable/ripple_button_background.xml new file mode 100644 index 0000000000..ec6e955999 --- /dev/null +++ b/app/src/main/res/drawable/ripple_button_background.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + diff --git a/app/src/main/res/layout-v21/layout_search.xml b/app/src/main/res/layout-v21/layout_search.xml index 17f265bb15..f90926b56b 100644 --- a/app/src/main/res/layout-v21/layout_search.xml +++ b/app/src/main/res/layout-v21/layout_search.xml @@ -85,7 +85,7 @@ android:paddingTop="8dp" android:paddingEnd="8dp" android:scrollbars="none" - app:layout_constraintBottom_toTopOf="@id/searchDeepSearchTV" + app:layout_constraintBottom_toTopOf="@+id/deepSearchContainer" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/searchRecentHintTV"> @@ -103,21 +103,45 @@ - + app:layout_constraintTop_toBottomOf="@id/searchRecentItemsScrollView"> + + + + + + + app:layout_constraintTop_toBottomOf="@+id/deepSearchContainer" /> + app:layout_constraintTop_toBottomOf="@+id/deepSearchContainer" />