jenkins-bot has submitted this change and it was merged.
Change subject: A few Search refinements.
......................................................................
A few Search refinements.
- "Select all" search text upon invoking the search fragment.
- Scroll to top of list when search term changes.
Change-Id: Id5af1450c7c97ab07848417eb71d61e59e6a783c
---
M wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java
M wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
M wikipedia/src/main/java/org/wikipedia/search/TitleSearchFragment.java
3 files changed, 47 insertions(+), 0 deletions(-)
Approvals:
BearND: Looks good to me, approved
jenkins-bot: Verified
diff --git
a/wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java
b/wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java
index ac3d088..a41ccb4 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/FullSearchFragment.java
@@ -197,6 +197,17 @@
getWikidataDescriptions(lastResults.getResults());
getPageThumbnails(lastResults.getResults());
}
+
+ if (continueOffset == 0) {
+ // scroll to top, but post it to the message queue,
because it should be done
+ // after the data set is updated.
+ searchResultsList.post(new Runnable() {
+ @Override
+ public void run() {
+ searchResultsList.setSelectionAfterHeaderView();
+ }
+ });
+ }
}
@Override
diff --git
a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
index ce16dfa..9b37324 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
@@ -25,6 +25,7 @@
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.EditorInfo;
+import android.widget.EditText;
import android.widget.TextView;
public class SearchArticlesFragment extends Fragment {
@@ -358,6 +359,13 @@
// automatically trigger the showing of the corresponding search
results.
if (isValidQuery(lastSearchedText)) {
searchView.setQuery(lastSearchedText, false);
+
+ // automatically select all text in the search field, so that
typing a new character
+ // will clear it by default
+ EditText editText = getSearchViewEditText(searchView);
+ if (editText != null) {
+ editText.selectAll();
+ }
}
MenuItemCompat.setActionView(searchAction, searchView);
}
@@ -378,6 +386,26 @@
}
}
+ /**
+ * Retrieve the EditText component from inside a SearchView widget, so
that operations
+ * may be performed on the EditText, such as selecting text.
+ * @param parent SearchView from which to retrieve the EditText view.
+ * @return EditText view, or null if not found.
+ */
+ private EditText getSearchViewEditText(ViewGroup parent) {
+ for (int i = 0; i < parent.getChildCount(); i++) {
+ if (parent.getChildAt(i) instanceof EditText) {
+ return (EditText)parent.getChildAt(i);
+ } else if (parent.getChildAt(i) instanceof ViewGroup) {
+ EditText et =
getSearchViewEditText((ViewGroup)parent.getChildAt(i));
+ if (et != null) {
+ return et;
+ }
+ }
+ }
+ return null;
+ }
+
/*
Update any UI elements related to WP Zero
*/
diff --git
a/wikipedia/src/main/java/org/wikipedia/search/TitleSearchFragment.java
b/wikipedia/src/main/java/org/wikipedia/search/TitleSearchFragment.java
index 5bf54a5..1327af0 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/TitleSearchFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/TitleSearchFragment.java
@@ -278,6 +278,14 @@
if (result.size() == 0 && onNoResultsListener != null) {
onNoResultsListener.onNoResults();
}
+ // scroll to top, but post it to the message queue,
because it should be done
+ // after the data set is updated.
+ searchResultsList.post(new Runnable() {
+ @Override
+ public void run() {
+ searchResultsList.setSelectionAfterHeaderView();
+ }
+ });
}
@Override
--
To view, visit https://gerrit.wikimedia.org/r/168979
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Id5af1450c7c97ab07848417eb71d61e59e6a783c
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits