summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/MainActivity.java
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@madoka.volgo-balt.ru>2012-01-19 13:05:48 +0300
committerAndrew Dolgov <fox@madoka.volgo-balt.ru>2012-01-19 13:05:48 +0300
commit60128ffe2f02f1850c5fb03aa98f7a05b9e832f8 (patch)
treec569f0d905ee7723c62bdb328f6921d12bb5318c /src/org/fox/ttrss/MainActivity.java
parent86245837643d3f9fb2cda3f6b73f496f42774048 (diff)
implement actionbar search for HC/ICS devices
Diffstat (limited to 'src/org/fox/ttrss/MainActivity.java')
-rw-r--r--src/org/fox/ttrss/MainActivity.java56
1 files changed, 55 insertions, 1 deletions
diff --git a/src/org/fox/ttrss/MainActivity.java b/src/org/fox/ttrss/MainActivity.java
index 5fc579af..40c0a331 100644
--- a/src/org/fox/ttrss/MainActivity.java
+++ b/src/org/fox/ttrss/MainActivity.java
@@ -31,6 +31,7 @@ import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
+import android.support.v4.widget.SearchViewCompat;
import android.util.Log;
import android.view.ActionMode;
import android.view.Display;
@@ -43,6 +44,7 @@ import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.LinearLayout;
+import android.widget.SearchView;
import android.widget.TextView;
import android.widget.Toast;
@@ -1201,8 +1203,52 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
} else if (m_selectedArticle != null) {
m_menu.setGroupVisible(R.id.menu_group_article, true);
- } else if (m_activeFeed != null || m_activeCategory != null) {
+ } else if (m_activeFeed != null) {
m_menu.setGroupVisible(R.id.menu_group_headlines, true);
+
+ MenuItem search = m_menu.findItem(R.id.search);
+
+ if (search != null && !m_compatMode) {
+ SearchView searchView = (SearchView) search.getActionView();
+ searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
+ private String query = "";
+
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ Log.d(TAG, "Search/onQueryTextSubmit");
+
+ HeadlinesFragment frag = (HeadlinesFragment) getSupportFragmentManager()
+ .findFragmentById(R.id.headlines_fragment);
+
+ if (frag != null) {
+ frag.setSearchQuery(query);
+ this.query = query;
+ }
+
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ // TODO Auto-generated method stub
+
+ Log.d(TAG, "Search/onQueryTextChange: " + newText);
+
+ if (newText.equals("") && !newText.equals(this.query)) {
+ HeadlinesFragment frag = (HeadlinesFragment) getSupportFragmentManager()
+ .findFragmentById(R.id.headlines_fragment);
+
+ if (frag != null) {
+ frag.setSearchQuery(newText);
+ this.query = newText;
+ }
+ }
+
+ return false;
+ }
+ });
+ }
+
} else {
m_menu.setGroupVisible(R.id.menu_group_feeds, true);
}
@@ -1422,6 +1468,14 @@ public class MainActivity extends FragmentActivity implements OnlineServices {
}
if (!append) {
+
+ MenuItem search = m_menu.findItem(R.id.search);
+
+ if (search != null && !m_compatMode) {
+ SearchView sv = (SearchView) search.getActionView();
+ sv.setQuery("", false);
+ }
+
HeadlinesFragment hf = new HeadlinesFragment();
FragmentTransaction ft = getSupportFragmentManager()