diff --git a/res/menu/select_local_apps_action_mode.xml b/res/menu/select_local_apps_action_mode.xml index 2550ebcfe..89d8f8e7b 100644 --- a/res/menu/select_local_apps_action_mode.xml +++ b/res/menu/select_local_apps_action_mode.xml @@ -1,5 +1,10 @@
\ No newline at end of file diff --git a/src/org/fdroid/fdroid/views/SelectLocalAppsActivity.java b/src/org/fdroid/fdroid/views/SelectLocalAppsActivity.java index ff0ad5445..1ccbd0281 100644 --- a/src/org/fdroid/fdroid/views/SelectLocalAppsActivity.java +++ b/src/org/fdroid/fdroid/views/SelectLocalAppsActivity.java @@ -2,13 +2,11 @@ package org.fdroid.fdroid.views; import android.annotation.TargetApi; +import android.app.Activity; import android.content.Intent; import android.os.Bundle; -import android.support.v4.app.FragmentActivity; -import android.view.ActionMode; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; +import android.view.*; +import android.widget.SearchView; import org.fdroid.fdroid.PreferencesActivity; import org.fdroid.fdroid.R; @@ -16,9 +14,10 @@ import org.fdroid.fdroid.views.fragments.SelectLocalAppsFragment; @TargetApi(11) // TODO replace with appcompat-v7 -public class SelectLocalAppsActivity extends FragmentActivity { +public class SelectLocalAppsActivity extends Activity { private static final String TAG = "SelectLocalAppsActivity"; private SelectLocalAppsFragment selectLocalAppsFragment = null; + private SearchView searchView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,13 +29,15 @@ public class SelectLocalAppsActivity extends FragmentActivity { protected void onResume() { super.onResume(); if (selectLocalAppsFragment == null) - selectLocalAppsFragment = (SelectLocalAppsFragment) getSupportFragmentManager().findFragmentById( - R.id.fragment_app_list); + selectLocalAppsFragment = (SelectLocalAppsFragment) getFragmentManager() + .findFragmentById(R.id.fragment_app_list); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.select_local_apps_activity, menu); + searchView = (SearchView) menu.findItem(R.id.action_search).getActionView(); + searchView.setOnQueryTextListener(selectLocalAppsFragment); return true; } @@ -47,6 +48,10 @@ public class SelectLocalAppsActivity extends FragmentActivity { setResult(RESULT_CANCELED); finish(); return true; + case R.id.action_search: + SearchView searchView = (SearchView) item.getActionView(); + searchView.setIconified(false); + return true; case R.id.action_settings: startActivity(new Intent(this, PreferencesActivity.class)); return true; @@ -60,6 +65,7 @@ public class SelectLocalAppsActivity extends FragmentActivity { public boolean onCreateActionMode(ActionMode mode, Menu menu) { MenuInflater inflater = mode.getMenuInflater(); inflater.inflate(R.menu.select_local_apps_action_mode, menu); + menu.findItem(R.id.action_search).setActionView(searchView); return true; } diff --git a/src/org/fdroid/fdroid/views/fragments/SelectLocalAppsFragment.java b/src/org/fdroid/fdroid/views/fragments/SelectLocalAppsFragment.java index 4342719a5..182d95dcb 100644 --- a/src/org/fdroid/fdroid/views/fragments/SelectLocalAppsFragment.java +++ b/src/org/fdroid/fdroid/views/fragments/SelectLocalAppsFragment.java @@ -15,17 +15,19 @@ limitations under the License. package org.fdroid.fdroid.views.fragments; import android.annotation.TargetApi; +import android.app.ListFragment; +import android.app.LoaderManager.LoaderCallbacks; +import android.content.CursorLoader; +import android.content.Loader; import android.database.Cursor; +import android.net.Uri; import android.os.Bundle; -import android.support.v4.app.ListFragment; -import android.support.v4.app.LoaderManager.LoaderCallbacks; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; -import android.support.v4.widget.SimpleCursorAdapter; import android.text.TextUtils; import android.view.ActionMode; import android.view.View; import android.widget.ListView; +import android.widget.SearchView.OnQueryTextListener; +import android.widget.SimpleCursorAdapter; import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.R; @@ -35,18 +37,20 @@ import org.fdroid.fdroid.views.SelectLocalAppsActivity; import java.util.HashSet; -public class SelectLocalAppsFragment extends ListFragment implements LoaderCallbacks