Improve search results (#1327)
* Add entities and request for search APIv2 * Implement search adapter and fragment * Fix issue with snackbar * Implement search accounts fragment * Implement generic search fragment * Remove unneeded import * Implement "status" actions, fix issues * Remove SFragment dependency * Update app/src/main/java/com/keylesspalace/tusky/components/search/fragments/SearchStatusesFragment.kt Co-Authored-By: Konrad Pozniak <connyduck@users.noreply.github.com> * Clean-up post review suggestions * Make TabLayout background colour match search bar * Corrected method call syntax * Added SwipeRefreshLayout to SearchFragment * Fixed refresh to update all three tabs
This commit is contained in:
parent
786a399bcd
commit
3b1288e99c
36 changed files with 1666 additions and 489 deletions
|
@ -15,7 +15,7 @@ import com.keylesspalace.tusky.interfaces.LinkListener;
|
|||
import com.keylesspalace.tusky.util.CustomEmojiHelper;
|
||||
import com.keylesspalace.tusky.util.ImageLoadingHelper;
|
||||
|
||||
class AccountViewHolder extends RecyclerView.ViewHolder {
|
||||
public class AccountViewHolder extends RecyclerView.ViewHolder {
|
||||
private TextView username;
|
||||
private TextView displayName;
|
||||
private ImageView avatar;
|
||||
|
@ -24,7 +24,7 @@ class AccountViewHolder extends RecyclerView.ViewHolder {
|
|||
private boolean showBotOverlay;
|
||||
private boolean animateAvatar;
|
||||
|
||||
AccountViewHolder(View itemView) {
|
||||
public AccountViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
username = itemView.findViewById(R.id.account_username);
|
||||
displayName = itemView.findViewById(R.id.account_display_name);
|
||||
|
@ -35,7 +35,7 @@ class AccountViewHolder extends RecyclerView.ViewHolder {
|
|||
animateAvatar = sharedPrefs.getBoolean("animateGifAvatars", false);
|
||||
}
|
||||
|
||||
void setupWithAccount(Account account) {
|
||||
public void setupWithAccount(Account account) {
|
||||
accountId = account.getId();
|
||||
String format = username.getContext().getString(R.string.status_username_format);
|
||||
String formattedUsername = String.format(format, account.getUsername());
|
||||
|
@ -58,7 +58,7 @@ class AccountViewHolder extends RecyclerView.ViewHolder {
|
|||
itemView.setOnClickListener(v -> listener.onViewAccount(accountId));
|
||||
}
|
||||
|
||||
void setupLinkListener(final LinkListener listener) {
|
||||
public void setupLinkListener(final LinkListener listener) {
|
||||
itemView.setOnClickListener(v -> listener.onViewAccount(accountId));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package com.keylesspalace.tusky.adapter
|
||||
|
||||
import android.view.View
|
||||
import android.widget.TextView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.keylesspalace.tusky.R
|
||||
import com.keylesspalace.tusky.interfaces.LinkListener
|
||||
|
||||
class HashtagViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
private val hashtag: TextView = itemView.findViewById(R.id.hashtag)
|
||||
|
||||
fun setup(tag: String, listener: LinkListener) {
|
||||
hashtag.text = String.format("#%s", tag)
|
||||
hashtag.setOnClickListener { listener.onViewTag(tag) }
|
||||
}
|
||||
}
|
|
@ -607,7 +607,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
|||
itemView.setOnClickListener(viewThreadListener);
|
||||
}
|
||||
|
||||
protected void setupWithStatus(StatusViewData.Concrete status, final StatusActionListener listener,
|
||||
public void setupWithStatus(StatusViewData.Concrete status, final StatusActionListener listener,
|
||||
boolean mediaPreviewEnabled, boolean showBotOverlay, boolean animateAvatar) {
|
||||
this.setupWithStatus(status, listener, mediaPreviewEnabled, showBotOverlay, animateAvatar, null);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ public class StatusViewHolder extends StatusBaseViewHolder {
|
|||
private TextView statusInfo;
|
||||
private ToggleButton contentCollapseButton;
|
||||
|
||||
StatusViewHolder(View itemView, boolean useAbsoluteTime) {
|
||||
public StatusViewHolder(View itemView, boolean useAbsoluteTime) {
|
||||
super(itemView, useAbsoluteTime);
|
||||
statusInfo = itemView.findViewById(R.id.status_info);
|
||||
contentCollapseButton = itemView.findViewById(R.id.button_toggle_content);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue