mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-25 07:06:01 +00:00
Add guild search bar
This commit is contained in:
parent
3896d73e43
commit
b85a30de0a
3 changed files with 13 additions and 11 deletions
|
|
@ -8,7 +8,7 @@
|
|||
<SearchView android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/guild_search_view"
|
||||
android:queryHint="Search for guilds"/>
|
||||
android:queryHint="@string/guild_search_hint"/>
|
||||
|
||||
<android.support.design.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<Public
|
|||
|
||||
public APIHelper apiHelper;
|
||||
private List<Group> publicGuildList;
|
||||
private List<Group> fullPublicGuildList;
|
||||
private List<String> memberGuildIDs;
|
||||
private List<Group> publicGuildListCopy;
|
||||
|
||||
public void setPublicGuildList(List<Group> publicGuildList) {
|
||||
this.publicGuildList = publicGuildList;
|
||||
this.publicGuildListCopy = new ArrayList<>(publicGuildList);
|
||||
this.fullPublicGuildList = new ArrayList<>(publicGuildList);
|
||||
this.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
|
|
@ -98,14 +98,16 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<Public
|
|||
private boolean isInGroup(Group guild) {
|
||||
return this.memberGuildIDs != null && this.memberGuildIDs.contains(guild.id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filter getFilter() {
|
||||
return new Filter() {
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence constraint) {
|
||||
List<Group> filteredGuilds = null;
|
||||
|
||||
if(constraint.length() == 0) {
|
||||
filteredGuilds = publicGuildListCopy;
|
||||
filteredGuilds = fullPublicGuildList;
|
||||
} else {
|
||||
filteredGuilds = getFilteredResults(constraint.toString().toLowerCase());
|
||||
}
|
||||
|
|
@ -123,11 +125,11 @@ public class PublicGuildsRecyclerViewAdapter extends RecyclerView.Adapter<Public
|
|||
};
|
||||
}
|
||||
|
||||
protected List<Group> getFilteredResults(String constraint) {
|
||||
protected List<Group> getFilteredResults(String query) {
|
||||
List<Group> filteredGuilds = new ArrayList<>();
|
||||
|
||||
for(Group guild : publicGuildListCopy) {
|
||||
if(guild.name.toLowerCase().contains(constraint)) {
|
||||
for(Group guild : fullPublicGuildList) {
|
||||
if(guild.name.toLowerCase().contains(query)) {
|
||||
filteredGuilds.add(guild);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,14 +83,14 @@ public class PublicGuildsFragment extends BaseMainFragment implements SearchView
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextSubmit(String s) {
|
||||
viewAdapter.getFilter().filter(s);
|
||||
public boolean onQueryTextSubmit(String query) {
|
||||
viewAdapter.getFilter().filter(query);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onQueryTextChange(String s) {
|
||||
viewAdapter.getFilter().filter(s);
|
||||
public boolean onQueryTextChange(String query) {
|
||||
viewAdapter.getFilter().filter(query);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue