Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1811,7 +1811,13 @@ private boolean isRTL() {
public Parcelable onSaveInstanceState() {
Parcelable superState = super.onSaveInstanceState();
SavedState savedState = new SavedState(superState);

savedState.suggestions = mSuggestionsAdapter.getDataSet();
if (mSuggestionsAdapter.isReversed()) {
// Reverse a copy of the suggestions to avoid altering original list
Collections.reverse(new ArrayList<>(savedState.suggestions));
}

savedState.isFocused = mIsFocused;
savedState.query = getQuery();
savedState.suggestionTextSize = mSuggestionsTextSizePx;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public class SearchSuggestionsAdapter extends RecyclerView.Adapter<RecyclerView.
private int mBodyTextSizePx;
private int mTextColor = -1;
private int mRightIconColor = -1;
private boolean mIsResultsReversed = false;

public interface OnBindSuggestionCallback {

Expand Down Expand Up @@ -123,6 +124,7 @@ public SearchSuggestionsAdapter(Context context, int suggestionTextSize, Listene
}

public void swapData(List<? extends SearchSuggestion> searchSuggestions) {
mIsResultsReversed = false;
mSearchSuggestions = searchSuggestions;
notifyDataSetChanged();
}
Expand Down Expand Up @@ -240,7 +242,12 @@ public void setShowMoveUpIcon(boolean show) {
}

public void reverseList() {
mIsResultsReversed = !mIsResultsReversed;
Collections.reverse(mSearchSuggestions);
notifyDataSetChanged();
}

public boolean isReversed() {
return mIsResultsReversed;
}
}