Search page fully functional for accounts and hashtags. Closes #44

This commit is contained in:
Vavassor 2017-06-19 15:47:53 -04:00
commit 401dd62af7
6 changed files with 78 additions and 31 deletions

View file

@ -8,6 +8,7 @@ import android.widget.TextView;
import com.keylesspalace.tusky.R;
import com.keylesspalace.tusky.entity.Account;
import com.keylesspalace.tusky.interfaces.AccountActionListener;
import com.keylesspalace.tusky.interfaces.LinkListener;
import com.pkmmte.view.CircularImageView;
import com.squareup.picasso.Picasso;
@ -48,4 +49,13 @@ class AccountViewHolder extends RecyclerView.ViewHolder {
}
});
}
void setupLinkListener(final LinkListener listener) {
container.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onViewAccount(id);
}
});
}
}

View file

@ -24,6 +24,7 @@ import android.widget.TextView;
import com.keylesspalace.tusky.R;
import com.keylesspalace.tusky.entity.Account;
import com.keylesspalace.tusky.entity.SearchResults;
import com.keylesspalace.tusky.interfaces.LinkListener;
import java.util.ArrayList;
import java.util.Arrays;
@ -35,11 +36,13 @@ public class SearchResultsAdapter extends RecyclerView.Adapter {
private List<Account> accountList;
private List<String> hashtagList;
private LinkListener linkListener;
public SearchResultsAdapter() {
public SearchResultsAdapter(LinkListener listener) {
super();
accountList = new ArrayList<>();
hashtagList = new ArrayList<>();
linkListener = listener;
}
@Override
@ -64,10 +67,11 @@ public class SearchResultsAdapter extends RecyclerView.Adapter {
if (position < accountList.size()) {
AccountViewHolder holder = (AccountViewHolder) viewHolder;
holder.setupWithAccount(accountList.get(position));
holder.setupLinkListener(linkListener);
} else {
HashtagViewHolder holder = (HashtagViewHolder) viewHolder;
int index = position - accountList.size();
holder.setHashtag(hashtagList.get(index));
holder.setup(hashtagList.get(index), linkListener);
}
}
@ -108,8 +112,14 @@ public class SearchResultsAdapter extends RecyclerView.Adapter {
hashtag = (TextView) itemView.findViewById(R.id.hashtag);
}
void setHashtag(String tag) {
void setup(final String tag, final LinkListener listener) {
hashtag.setText(String.format("#%s", tag));
hashtag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onViewTag(tag);
}
});
}
}
}