summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/SearchActivity.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2012-10-28 17:19:07 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2012-10-28 17:19:07 +0100
commit8e7a4025543840b7f984fed1db9b9ea08e03a679 (patch)
treebd5105aa93d2a948d674b9dcaf35be8da49227ca /src/de/danoeh/antennapod/activity/SearchActivity.java
parent1cac6a2de9c75a99335b013e1077b721b627858e (diff)
downloadAntennaPod-8e7a4025543840b7f984fed1db9b9ea08e03a679.zip
Use thread for searching instead of AsyncTask
Diffstat (limited to 'src/de/danoeh/antennapod/activity/SearchActivity.java')
-rw-r--r--src/de/danoeh/antennapod/activity/SearchActivity.java78
1 files changed, 39 insertions, 39 deletions
diff --git a/src/de/danoeh/antennapod/activity/SearchActivity.java b/src/de/danoeh/antennapod/activity/SearchActivity.java
index 8bc38fa5b..9b2f5188b 100644
--- a/src/de/danoeh/antennapod/activity/SearchActivity.java
+++ b/src/de/danoeh/antennapod/activity/SearchActivity.java
@@ -69,8 +69,10 @@ public class SearchActivity extends SherlockListActivity {
if (AppConfig.DEBUG)
Log.d(TAG, "Starting search");
String query = intent.getStringExtra(SearchManager.QUERY);
- getSupportActionBar().setSubtitle(
- getString(R.string.search_term_label) + "\"" + query + "\"");
+ getSupportActionBar()
+ .setSubtitle(
+ getString(R.string.search_term_label) + "\""
+ + query + "\"");
handleSearchRequest(query);
}
}
@@ -133,48 +135,46 @@ public class SearchActivity extends SherlockListActivity {
}
@SuppressLint({ "NewApi", "NewApi" })
- private void handleSearchRequest(String query) {
- AsyncTask<String, Void, ArrayList<SearchResult>> executor = new AsyncTask<String, Void, ArrayList<SearchResult>>() {
-
- @Override
- protected void onPreExecute() {
- if (searchAdapter != null) {
- searchAdapter.clear();
- searchAdapter.notifyDataSetChanged();
- }
- txtvStatus.setText(R.string.search_status_searching);
- }
+ private void handleSearchRequest(final String query) {
+ if (searchAdapter != null) {
+ searchAdapter.clear();
+ searchAdapter.notifyDataSetChanged();
+ }
+ txtvStatus.setText(R.string.search_status_searching);
- @Override
- protected ArrayList<SearchResult> doInBackground(String... params) {
- if (AppConfig.DEBUG)
- Log.d(TAG, "Starting background work");
- return FeedSearcher.performSearch(SearchActivity.this, params[0], selectedFeed);
- }
+ Thread thread = new Thread() {
@Override
- protected void onPostExecute(ArrayList<SearchResult> result) {
- if (AppConfig.DEBUG)
- Log.d(TAG, "Background work finished");
- if (AppConfig.DEBUG)
- Log.d(TAG, "Found " + result.size() + " results");
- content = result;
-
- searchAdapter = new SearchlistAdapter(SearchActivity.this, 0,
- content);
- getListView().setAdapter(searchAdapter);
- searchAdapter.notifyDataSetChanged();
- if (content.isEmpty()) {
- txtvStatus.setText(R.string.search_status_no_results);
+ public void run() {
+ Log.d(TAG, "Starting background work");
+ final ArrayList<SearchResult> result = FeedSearcher
+ .performSearch(SearchActivity.this, query, selectedFeed);
+ if (SearchActivity.this != null) {
+ SearchActivity.this.runOnUiThread(new Runnable() {
+
+ @Override
+ public void run() {
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Background work finished");
+ if (AppConfig.DEBUG)
+ Log.d(TAG, "Found " + result.size()
+ + " results");
+ content = result;
+
+ searchAdapter = new SearchlistAdapter(
+ SearchActivity.this, 0, content);
+ getListView().setAdapter(searchAdapter);
+ searchAdapter.notifyDataSetChanged();
+ if (content.isEmpty()) {
+ txtvStatus
+ .setText(R.string.search_status_no_results);
+ }
+ }
+ });
}
-
}
-
};
- if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.GINGERBREAD_MR1) {
- executor.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, query);
- } else {
- executor.execute(query);
- }
+ thread.start();
+
}
}