Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/126057
Change subject: Moved search handler to its own class
......................................................................
Moved search handler to its own class
Change-Id: I4be491bcf6ad7a6161e5e767f4022737939aa1c5
---
M wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
1 file changed, 43 insertions(+), 41 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/57/126057/1
diff --git
a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
index 0555c8e..e29a734 100644
--- a/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/search/SearchArticlesFragment.java
@@ -153,47 +153,7 @@
PopupMenu pageActionsMenu = new PopupMenu(getActivity(),
searchBarMenuButton);
PageActionsHandler pageActionsHandler = new
PageActionsHandler(app.getBus(), pageActionsMenu, searchBarMenuButton);
- searchHandler = new Handler(new Handler.Callback(){
- @Override
- public boolean handleMessage(Message msg) {
- final String searchTerm = (String) msg.obj;
- SearchArticlesTask searchTask = new SearchArticlesTask(app,
app.getAPIForSite(app.getPrimarySite()), app.getPrimarySite(), searchTerm) {
- @Override
- public void onFinish(List<PageTitle> result) {
- searchProgress.setVisibility(View.GONE);
- searchNetworkError.setVisibility(View.GONE);
- displayResults(result);
- searchResultsCache.put(app.getPrimaryLanguage() + "-"
+ searchTerm, result);
- lastSearchedText = searchTerm;
- curSearchTask = null;
- }
-
- @Override
- public void onCatch(Throwable caught) {
- searchProgress.setVisibility(View.GONE);
- searchNetworkError.setVisibility(View.VISIBLE);
- searchResultsList.setVisibility(View.GONE);
- curSearchTask = null;
- }
-
- @Override
- public void onBeforeExecute() {
- searchProgress.setVisibility(View.VISIBLE);
- isSearchActive = true;
- }
- };
- if (curSearchTask != null) {
- // This does not cancel the HTTP request itself
- // But it does cancel th execution of onFinish
- // This makes sure that a slower previous search query
does not override
- // the results of a newer search query
- curSearchTask.cancel();
- }
- curSearchTask = searchTask;
- searchTask.execute();
- return true;
- }
- });
+ searchHandler = new Handler(new SearchHandlerCallback());
searchResultsList.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
@@ -476,4 +436,46 @@
super.onStop();
app.getBus().unregister(this);
}
+
+ private class SearchHandlerCallback implements Handler.Callback {
+ @Override
+ public boolean handleMessage(Message msg) {
+ final String searchTerm = (String) msg.obj;
+ SearchArticlesTask searchTask = new SearchArticlesTask(app,
app.getAPIForSite(app.getPrimarySite()), app.getPrimarySite(), searchTerm) {
+ @Override
+ public void onFinish(List<PageTitle> result) {
+ searchProgress.setVisibility(View.GONE);
+ searchNetworkError.setVisibility(View.GONE);
+ displayResults(result);
+ searchResultsCache.put(app.getPrimaryLanguage() + "-" +
searchTerm, result);
+ lastSearchedText = searchTerm;
+ curSearchTask = null;
+ }
+
+ @Override
+ public void onCatch(Throwable caught) {
+ searchProgress.setVisibility(View.GONE);
+ searchNetworkError.setVisibility(View.VISIBLE);
+ searchResultsList.setVisibility(View.GONE);
+ curSearchTask = null;
+ }
+
+ @Override
+ public void onBeforeExecute() {
+ searchProgress.setVisibility(View.VISIBLE);
+ isSearchActive = true;
+ }
+ };
+ if (curSearchTask != null) {
+ // This does not cancel the HTTP request itself
+ // But it does cancel th execution of onFinish
+ // This makes sure that a slower previous search query does
not override
+ // the results of a newer search query
+ curSearchTask.cancel();
+ }
+ curSearchTask = searchTask;
+ searchTask.execute();
+ return true;
+ }
+ }
}
--
To view, visit https://gerrit.wikimedia.org/r/126057
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4be491bcf6ad7a6161e5e767f4022737939aa1c5
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits