Merge branch 'search-widget' into 'master'
Replace search dialog with a search widget SearchView is the recommended way to implement search UI. See https://developer.android.com/guide/topics/search/search-dialog.html#UsingSearchWidget The UX is still far from ideal but looks much better now. Before and after (Gingerbred):   Before and after (Lollipop):   See merge request !168
This commit is contained in:
commit
682cf58aa9
@ -88,6 +88,10 @@
|
||||
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
||||
android:exported="false"/>
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.default_searchable"
|
||||
android:value=".SearchResults" />
|
||||
|
||||
<activity
|
||||
android:name=".FDroid"
|
||||
android:launchMode="singleTop"
|
||||
@ -292,10 +296,6 @@
|
||||
<data android:pathPattern="/.*/.*/FDROID/REPO" />
|
||||
<data android:pathPattern="/.*/.*/.*/FDROID/REPO" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.default_searchable"
|
||||
android:value=".SearchResults" />
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".privileged.views.InstallConfirmActivity"
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
<TextView
|
||||
style="@style/AppListEmptyText"
|
||||
android:layout_below="@id/category_spinner"
|
||||
android:text="@string/empty_available_app_list" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
@ -6,7 +6,8 @@
|
||||
android:id="@+id/action_search"
|
||||
android:icon="@drawable/ic_search_white"
|
||||
android:title="@string/menu_search"
|
||||
app:showAsAction="ifRoom"/>
|
||||
app:actionViewClass="android.support.v7.widget.SearchView"
|
||||
app:showAsAction="collapseActionView|ifRoom"/>
|
||||
<item
|
||||
android:id="@+id/action_update_repo"
|
||||
android:icon="@drawable/ic_refresh_white"
|
||||
|
@ -29,9 +29,11 @@ import android.content.res.Configuration;
|
||||
import android.database.ContentObserver;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.SearchView;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@ -239,6 +241,14 @@ public class FDroid extends ActionBarActivity {
|
||||
MenuItem btItem = menu.findItem(R.id.action_bluetooth_apk);
|
||||
btItem.setVisible(false);
|
||||
}
|
||||
|
||||
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search);
|
||||
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
|
||||
// LayoutParams.MATCH_PARENT does not work, use a big value instead
|
||||
searchView.setMaxWidth(1000000);
|
||||
|
||||
return super.onCreateOptionsMenu(menu);
|
||||
}
|
||||
|
||||
@ -264,10 +274,6 @@ public class FDroid extends ActionBarActivity {
|
||||
startActivity(new Intent(this, SwapWorkflowActivity.class));
|
||||
return true;
|
||||
|
||||
case R.id.action_search:
|
||||
onSearchRequested();
|
||||
return true;
|
||||
|
||||
case R.id.action_bluetooth_apk:
|
||||
/*
|
||||
* If Bluetooth has not been enabled/turned on, then enabling
|
||||
|
@ -23,7 +23,6 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v4.view.MenuItemCompat;
|
||||
import android.support.v7.app.ActionBarActivity;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
@ -73,15 +72,6 @@ public class SearchResults extends ActionBarActivity {
|
||||
setIntent(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
super.onCreateOptionsMenu(menu);
|
||||
MenuItem search = menu.add(Menu.NONE, SEARCH, 1, R.string.menu_search).setIcon(
|
||||
android.R.drawable.ic_menu_search);
|
||||
MenuItemCompat.setShowAsAction(search, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user