diff --git a/src/frontends/android/res/values-de/strings.xml b/src/frontends/android/res/values-de/strings.xml
index 5207debcf..13a34b291 100644
--- a/src/frontends/android/res/values-de/strings.xml
+++ b/src/frontends/android/res/values-de/strings.xml
@@ -22,6 +22,7 @@
strongSwan
CA-Zertifikate neu laden
Log anzeigen
+ Suchen
Log
diff --git a/src/frontends/android/res/values/strings.xml b/src/frontends/android/res/values/strings.xml
index 8188db16e..07dd8c269 100644
--- a/src/frontends/android/res/values/strings.xml
+++ b/src/frontends/android/res/values/strings.xml
@@ -22,6 +22,7 @@
strongSwan
Reload CA certificates
View log
+ Search
Log
diff --git a/src/frontends/android/src/org/strongswan/android/data/TrustedCertificateEntry.java b/src/frontends/android/src/org/strongswan/android/data/TrustedCertificateEntry.java
index bedf06f74..de7ea32b4 100644
--- a/src/frontends/android/src/org/strongswan/android/data/TrustedCertificateEntry.java
+++ b/src/frontends/android/src/org/strongswan/android/data/TrustedCertificateEntry.java
@@ -106,6 +106,20 @@ public class TrustedCertificateEntry implements Comparable>
+public class TrustedCertificateListFragment extends ListFragment implements LoaderCallbacks>, OnQueryTextListener
{
private OnTrustedCertificateSelectedListener mListener;
private TrustedCertificateAdapter mAdapter;
@@ -54,6 +60,7 @@ public class TrustedCertificateListFragment extends ListFragment implements Load
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
+ setHasOptionsMenu(true);
setEmptyText(getString(R.string.no_certificates));
@@ -85,6 +92,32 @@ public class TrustedCertificateListFragment extends ListFragment implements Load
}
}
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
+ {
+ MenuItem item = menu.add(R.string.search);
+ item.setIcon(android.R.drawable.ic_menu_search);
+ item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
+
+ SearchView sv = new SearchView(getActivity());
+ sv.setOnQueryTextListener(this);
+ item.setActionView(sv);
+ }
+
+ @Override
+ public boolean onQueryTextSubmit(String query)
+ { /* already handled when the text changes */
+ return true;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText)
+ {
+ String search = TextUtils.isEmpty(newText) ? null : newText;
+ mAdapter.getFilter().filter(search);
+ return true;
+ }
+
@Override
public Loader> onCreateLoader(int id, Bundle args)
{ /* we don't need the id as we have only one loader */