|
|
@ -117,6 +117,7 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable { |
|
|
|
return mFilteredList.size(); |
|
|
|
return mFilteredList.size(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Nullable |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Object getItem(int position) { |
|
|
|
public Object getItem(int position) { |
|
|
|
if (position > mFilteredList.size() || position < 0) { |
|
|
|
if (position > mFilteredList.size() || position < 0) { |
|
|
@ -138,14 +139,15 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable { |
|
|
|
mImage = (ImageView) view.findViewById(R.id.suggestionIcon); |
|
|
|
mImage = (ImageView) view.findViewById(R.id.suggestionIcon); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
final ImageView mImage; |
|
|
|
@NonNull final ImageView mImage; |
|
|
|
final TextView mTitle; |
|
|
|
@NonNull final TextView mTitle; |
|
|
|
final TextView mUrl; |
|
|
|
@NonNull final TextView mUrl; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Nullable |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public View getView(int position, View convertView, ViewGroup parent) { |
|
|
|
public View getView(int position, @Nullable View convertView, ViewGroup parent) { |
|
|
|
SuggestionHolder holder; |
|
|
|
SuggestionHolder holder; |
|
|
|
|
|
|
|
|
|
|
|
if (convertView == null) { |
|
|
|
if (convertView == null) { |
|
|
@ -190,12 +192,13 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable { |
|
|
|
return convertView; |
|
|
|
return convertView; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@NonNull |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public Filter getFilter() { |
|
|
|
public Filter getFilter() { |
|
|
|
return new SearchFilter(this); |
|
|
|
return new SearchFilter(this); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private synchronized void publishResults(List<HistoryItem> list) { |
|
|
|
private synchronized void publishResults(@NonNull List<HistoryItem> list) { |
|
|
|
mFilteredList.clear(); |
|
|
|
mFilteredList.clear(); |
|
|
|
mFilteredList.addAll(list); |
|
|
|
mFilteredList.addAll(list); |
|
|
|
notifyDataSetChanged(); |
|
|
|
notifyDataSetChanged(); |
|
|
@ -315,8 +318,9 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable { |
|
|
|
mSuggestionsAdapter = suggestionsAdapter; |
|
|
|
mSuggestionsAdapter = suggestionsAdapter; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@NonNull |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
protected FilterResults performFiltering(CharSequence constraint) { |
|
|
|
protected FilterResults performFiltering(@Nullable CharSequence constraint) { |
|
|
|
FilterResults results = new FilterResults(); |
|
|
|
FilterResults results = new FilterResults(); |
|
|
|
if (constraint == null || constraint.length() == 0) { |
|
|
|
if (constraint == null || constraint.length() == 0) { |
|
|
|
mSuggestionsAdapter.clearSuggestions(); |
|
|
|
mSuggestionsAdapter.clearSuggestions(); |
|
|
@ -359,8 +363,9 @@ public class SuggestionsAdapter extends BaseAdapter implements Filterable { |
|
|
|
return results; |
|
|
|
return results; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@NonNull |
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public CharSequence convertResultToString(Object resultValue) { |
|
|
|
public CharSequence convertResultToString(@NonNull Object resultValue) { |
|
|
|
return ((HistoryItem) resultValue).getUrl(); |
|
|
|
return ((HistoryItem) resultValue).getUrl(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|