From 54b2b206eac507031fc493c049f3474c5ddf9dd5 Mon Sep 17 00:00:00 2001 From: Eric Kok Date: Fri, 13 Sep 2013 14:51:48 +0200 Subject: [PATCH] React to hardware search button presses by opening the search view (by expanding the menu option). --- .../org/transdroid/core/gui/TorrentsActivity.java | 12 +++++++++++- .../transdroid/core/gui/search/SearchActivity.java | 10 ++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/core/src/org/transdroid/core/gui/TorrentsActivity.java b/core/src/org/transdroid/core/gui/TorrentsActivity.java index 1741190c..0e1927f4 100644 --- a/core/src/org/transdroid/core/gui/TorrentsActivity.java +++ b/core/src/org/transdroid/core/gui/TorrentsActivity.java @@ -135,6 +135,7 @@ public class TorrentsActivity extends SherlockFragmentActivity implements OnNavi protected ServerStatusView serverStatusView; @SystemService protected SearchManager searchManager; + private MenuItem searchMenu = null; // Settings @Bean @@ -262,10 +263,11 @@ public class TorrentsActivity extends SherlockFragmentActivity implements OnNavi // For Android 2.1+, add an expandable SearchView to the action bar MenuItem item = menu.findItem(R.id.action_search); if (android.os.Build.VERSION.SDK_INT >= 8) { - final SearchView searchView = new SearchView(this); + SearchView searchView = new SearchView(this); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setQueryRefinementEnabled(true); item.setActionView(searchView); + searchMenu = item; } } return true; @@ -486,6 +488,14 @@ public class TorrentsActivity extends SherlockFragmentActivity implements OnNavi } + @Override + public boolean onSearchRequested() { + if (searchMenu != null) { + searchMenu.expandActionView(); + } + return true; + } + @OptionsItem(resName = "action_add_fromurl") protected void startUrlEntryDialog() { UrlEntryDialog.startUrlEntry(this); diff --git a/core/src/org/transdroid/core/gui/search/SearchActivity.java b/core/src/org/transdroid/core/gui/search/SearchActivity.java index d1d2897b..0b7d27eb 100644 --- a/core/src/org/transdroid/core/gui/search/SearchActivity.java +++ b/core/src/org/transdroid/core/gui/search/SearchActivity.java @@ -77,6 +77,7 @@ public class SearchActivity extends SherlockFragmentActivity implements OnNaviga protected SearchHelper searchHelper; @SystemService protected SearchManager searchManager; + private MenuItem searchMenu = null; private SearchRecentSuggestions suggestions = new SearchRecentSuggestions(this, TorrentSearchHistoryProvider.AUTHORITY, TorrentSearchHistoryProvider.MODE); @@ -154,6 +155,7 @@ public class SearchActivity extends SherlockFragmentActivity implements OnNaviga searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setQueryRefinementEnabled(true); item.setActionView(searchView); + searchMenu = item; } } return true; @@ -198,6 +200,14 @@ public class SearchActivity extends SherlockFragmentActivity implements OnNaviga } + @Override + public boolean onSearchRequested() { + if (searchMenu != null) { + searchMenu.expandActionView(); + } + return true; + } + @TargetApi(Build.VERSION_CODES.HONEYCOMB) @OptionsItem(android.R.id.home) protected void navigateUp() {