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
This commit is contained in:
parent
f0d72a3ec4
commit
e841d63ea9
@ -88,6 +88,10 @@
|
|||||||
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
android:name="org.fdroid.fdroid.data.InstalledAppProvider"
|
||||||
android:exported="false"/>
|
android:exported="false"/>
|
||||||
|
|
||||||
|
<meta-data
|
||||||
|
android:name="android.app.default_searchable"
|
||||||
|
android:value=".SearchResults" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".FDroid"
|
android:name=".FDroid"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
@ -292,10 +296,6 @@
|
|||||||
<data android:pathPattern="/.*/.*/FDROID/REPO" />
|
<data android:pathPattern="/.*/.*/FDROID/REPO" />
|
||||||
<data android:pathPattern="/.*/.*/.*/FDROID/REPO" />
|
<data android:pathPattern="/.*/.*/.*/FDROID/REPO" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
<meta-data
|
|
||||||
android:name="android.app.default_searchable"
|
|
||||||
android:value=".SearchResults" />
|
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".privileged.views.InstallConfirmActivity"
|
android:name=".privileged.views.InstallConfirmActivity"
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
android:id="@+id/action_search"
|
android:id="@+id/action_search"
|
||||||
android:icon="@drawable/ic_search_white"
|
android:icon="@drawable/ic_search_white"
|
||||||
android:title="@string/menu_search"
|
android:title="@string/menu_search"
|
||||||
app:showAsAction="ifRoom"/>
|
app:actionViewClass="android.support.v7.widget.SearchView"
|
||||||
|
app:showAsAction="collapseActionView|ifRoom"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/action_update_repo"
|
android:id="@+id/action_update_repo"
|
||||||
android:icon="@drawable/ic_refresh_white"
|
android:icon="@drawable/ic_refresh_white"
|
||||||
|
@ -29,9 +29,11 @@ import android.content.res.Configuration;
|
|||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.view.MenuItemCompat;
|
||||||
import android.support.v4.view.ViewPager;
|
import android.support.v4.view.ViewPager;
|
||||||
import android.support.v7.app.ActionBarActivity;
|
import android.support.v7.app.ActionBarActivity;
|
||||||
import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
|
import android.support.v7.widget.SearchView;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@ -239,6 +241,14 @@ public class FDroid extends ActionBarActivity {
|
|||||||
MenuItem btItem = menu.findItem(R.id.action_bluetooth_apk);
|
MenuItem btItem = menu.findItem(R.id.action_bluetooth_apk);
|
||||||
btItem.setVisible(false);
|
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);
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,10 +274,6 @@ public class FDroid extends ActionBarActivity {
|
|||||||
startActivity(new Intent(this, SwapWorkflowActivity.class));
|
startActivity(new Intent(this, SwapWorkflowActivity.class));
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case R.id.action_search:
|
|
||||||
onSearchRequested();
|
|
||||||
return true;
|
|
||||||
|
|
||||||
case R.id.action_bluetooth_apk:
|
case R.id.action_bluetooth_apk:
|
||||||
/*
|
/*
|
||||||
* If Bluetooth has not been enabled/turned on, then enabling
|
* If Bluetooth has not been enabled/turned on, then enabling
|
||||||
|
Loading…
x
Reference in New Issue
Block a user