diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java index c7068fe54..84da4e170 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -97,7 +97,7 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { private final SparkButton favouriteButton; private final SparkButton bookmarkButton; private final ImageButton moreButton; - private final ConstraintLayout mediaContainer; + protected final ConstraintLayout mediaContainer; protected final MediaPreviewLayout mediaPreview; private final TextView sensitiveMediaWarning; private final View sensitiveMediaShow; @@ -808,7 +808,11 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { setBookmarked(actionable.getBookmarked()); List attachments = status.getAttachments(); boolean sensitive = actionable.getSensitive(); - if (statusDisplayOptions.mediaPreviewEnabled() && hasPreviewableAttachment(attachments)) { + if (attachments.isEmpty()) { + mediaContainer.setVisibility(View.GONE); + } else if (statusDisplayOptions.mediaPreviewEnabled() && hasPreviewableAttachment(attachments)) { + mediaContainer.setVisibility(View.VISIBLE); + setMediaPreviews(attachments, sensitive, listener, status.isShowingContent(), statusDisplayOptions.useBlurhash()); if (attachments.isEmpty()) { @@ -819,6 +823,8 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { mediaLabel.setVisibility(View.GONE); } } else { + mediaContainer.setVisibility(View.VISIBLE); + setMediaLabel(attachments, sensitive, listener, status.isShowingContent()); // Hide all unused views. mediaPreview.setVisibility(View.GONE); diff --git a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationViewHolder.java index 249509b9c..d94f60113 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/components/conversation/ConversationViewHolder.java @@ -24,7 +24,6 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.recyclerview.widget.RecyclerView; import com.keylesspalace.tusky.R; @@ -91,7 +90,11 @@ public class ConversationViewHolder extends StatusBaseViewHolder { setBookmarked(status.getBookmarked()); List attachments = status.getAttachments(); boolean sensitive = status.getSensitive(); - if (statusDisplayOptions.mediaPreviewEnabled() && hasPreviewableAttachment(attachments)) { + if (attachments.isEmpty()) { + mediaContainer.setVisibility(View.GONE); + } else if (statusDisplayOptions.mediaPreviewEnabled() && hasPreviewableAttachment(attachments)) { + mediaContainer.setVisibility(View.VISIBLE); + setMediaPreviews(attachments, sensitive, listener, statusViewData.isShowingContent(), statusDisplayOptions.useBlurhash()); @@ -103,6 +106,8 @@ public class ConversationViewHolder extends StatusBaseViewHolder { mediaLabel.setVisibility(View.GONE); } } else { + mediaContainer.setVisibility(View.VISIBLE); + setMediaLabel(attachments, sensitive, listener, statusViewData.isShowingContent()); // Hide all unused views. mediaPreview.setVisibility(View.GONE); diff --git a/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt b/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt index 3157919e1..b41b0e88c 100644 --- a/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt +++ b/app/src/main/java/com/keylesspalace/tusky/util/LinkHelper.kt @@ -86,7 +86,7 @@ fun setClickableText( trailingHashtagView == null || tags.isNullOrEmpty() -> Pair(spannableContent.length, emptyList()) else -> getTrailingHashtags(spannableContent) } - val inlineHashtags = mutableListOf() + val inlineHashtags = mutableSetOf() view.text = spannableContent.apply { styleQuoteSpans(view) diff --git a/app/src/main/res/layout/item_conversation.xml b/app/src/main/res/layout/item_conversation.xml index ba1072a1f..6588c679b 100644 --- a/app/src/main/res/layout/item_conversation.xml +++ b/app/src/main/res/layout/item_conversation.xml @@ -247,12 +247,11 @@ - + app:layout_constraintTop_toBottomOf="@+id/button_toggle_content" />