Add search bar to SearchActivity.
Styling doesn't look exactly right yet but there's a bar. Creates an ItemDecoration to add a spacer above the first view. Removes the action bar and replaces it with a SearchView inside of a CardView. Remaining work: pixel pushing Bug: 37477506 Test: make RunSettingsRoboTests Change-Id: Ibf38c3c2725551bc4cd90e98d0020ec49c2eab2b Merged-In: I4a0f0c91c51ff5820b61a596520d80a3337c3466
This commit is contained in:
@@ -16,7 +16,6 @@
|
||||
|
||||
package com.android.settings.search2;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.Activity;
|
||||
import android.app.LoaderManager;
|
||||
import android.content.Context;
|
||||
@@ -32,7 +31,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.LinearLayout.LayoutParams;
|
||||
import android.widget.SearchView;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto;
|
||||
@@ -60,9 +58,6 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
|
||||
LoaderManager.LoaderCallbacks<List<? extends SearchResult>>, IndexingCallback {
|
||||
private static final String TAG = "SearchFragment";
|
||||
|
||||
@VisibleForTesting
|
||||
static final int SEARCH_TAG = "SearchViewTag".hashCode();
|
||||
|
||||
// State values
|
||||
private static final String STATE_QUERY = "state_query";
|
||||
private static final String STATE_SHOWING_SAVED_QUERY = "state_showing_saved_query";
|
||||
@@ -95,12 +90,12 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
|
||||
@VisibleForTesting
|
||||
SavedQueryController mSavedQueryController;
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
@VisibleForTesting
|
||||
SearchFeatureProvider mSearchFeatureProvider;
|
||||
|
||||
private SearchResultsAdapter mSearchAdapter;
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
@VisibleForTesting
|
||||
RecyclerView mResultsRecyclerView;
|
||||
@VisibleForTesting
|
||||
SearchView mSearchView;
|
||||
@@ -149,13 +144,6 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
|
||||
}
|
||||
|
||||
final Activity activity = getActivity();
|
||||
final ActionBar actionBar = activity.getActionBar();
|
||||
mSearchView = makeSearchView(actionBar, mQuery);
|
||||
actionBar.setCustomView(mSearchView);
|
||||
actionBar.setDisplayShowCustomEnabled(true);
|
||||
actionBar.setDisplayShowTitleEnabled(false);
|
||||
mSearchView.requestFocus();
|
||||
|
||||
// Run the Index update only if we have some space
|
||||
if (!Utils.isLowStorage(activity)) {
|
||||
mSearchFeatureProvider.updateIndex(activity, this /* indexingCallback */);
|
||||
@@ -172,8 +160,14 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
|
||||
mResultsRecyclerView.setAdapter(mSearchAdapter);
|
||||
mResultsRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
mResultsRecyclerView.addOnScrollListener(mScrollListener);
|
||||
mResultsRecyclerView.addItemDecoration(new HeaderDecorator());
|
||||
|
||||
mNoResultsView = view.findViewById(R.id.no_results_layout);
|
||||
|
||||
mSearchView = view.findViewById(R.id.search_view);
|
||||
mSearchView.setQuery(mQuery, false /* submitQuery */);
|
||||
mSearchView.setOnQueryTextListener(this);
|
||||
mSearchView.requestFocus();
|
||||
return view;
|
||||
}
|
||||
|
||||
@@ -347,19 +341,6 @@ public class SearchFragment extends InstrumentedFragment implements SearchView.O
|
||||
onQueryTextChange(query);
|
||||
}
|
||||
|
||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
||||
SearchView makeSearchView(ActionBar actionBar, String query) {
|
||||
final SearchView searchView = new SearchView(actionBar.getThemedContext());
|
||||
searchView.setIconifiedByDefault(false);
|
||||
searchView.setQuery(query, false /* submitQuery */);
|
||||
searchView.setOnQueryTextListener(this);
|
||||
searchView.setTag(SEARCH_TAG, searchView);
|
||||
final LayoutParams lp =
|
||||
new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
|
||||
searchView.setLayoutParams(lp);
|
||||
return searchView;
|
||||
}
|
||||
|
||||
private void hideKeyboard() {
|
||||
final Activity activity = getActivity();
|
||||
if (activity != null) {
|
||||
|
||||
Reference in New Issue
Block a user