android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_content"
+ android:saveEnabled="false"
android:visibility="gone"
android:layout_gravity="center"
android:focusable="true"
<LinearLayout
android:id="@+id/search_container"
android:layout_width="match_parent"
+ android:saveEnabled="false"
android:layout_height="@dimen/all_apps_search_bar_height"
android:layout_gravity="start|top"
android:orientation="horizontal"
@Override
public void onSearchResult(String query, ArrayList<ComponentKey> apps) {
if (apps != null) {
- mApps.setOrderedFilter(apps);
+ if (mApps.setOrderedFilter(apps)) {
+ mAppsRecyclerView.onSearchResultsChanged();
+ }
mAdapter.setLastSearchQuery(query);
- mAppsRecyclerView.onSearchResultsChanged();
}
}
@Override
public void clearSearchResult() {
- mApps.setOrderedFilter(null);
- mAppsRecyclerView.onSearchResultsChanged();
+ if (mApps.setOrderedFilter(null)) {
+ mAppsRecyclerView.onSearchResultsChanged();
+ }
// Clear the search query
mSearchQueryBuilder.clear();
/**
* Sets the sorted list of filtered components.
*/
- public void setOrderedFilter(ArrayList<ComponentKey> f) {
+ public boolean setOrderedFilter(ArrayList<ComponentKey> f) {
if (mSearchResults != f) {
+ boolean same = mSearchResults != null && mSearchResults.equals(f);
mSearchResults = f;
updateAdapterItems();
+ return !same;
}
+ return false;
}
/**