From 70b9d0883034919c38a652b147694ee2c805bee3 Mon Sep 17 00:00:00 2001 From: FineFindus <63370021+FineFindus@users.noreply.github.com> Date: Mon, 27 Nov 2023 19:07:43 +0100 Subject: [PATCH] fix: hide link card to akkoma hastags (#939) * fix: hide link card to akkoma hastags * generify method name --------- Co-authored-by: sk --- .../main/java/org/joinmastodon/android/model/Card.java | 8 ++++++++ .../android/ui/displayitems/StatusDisplayItem.java | 3 +-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Card.java b/mastodon/src/main/java/org/joinmastodon/android/model/Card.java index 00ea52c90..de4554ca9 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Card.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Card.java @@ -2,6 +2,7 @@ package org.joinmastodon.android.model; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; +import android.net.Uri; import com.google.gson.annotations.SerializedName; @@ -47,6 +48,13 @@ public class Card extends BaseModel{ } } + public boolean isHashtagUrl(String statusUrl){ + Uri parsedUrl=Uri.parse(url); + Uri parsedStatusUrl=Uri.parse(statusUrl); + if(parsedUrl.getHost()==null || parsedUrl.getPath()==null || parsedStatusUrl.getHost()==null) return false; + return title.equals("Akkoma") && parsedUrl.getHost().equals(parsedStatusUrl.getHost()) && parsedUrl.getPath().startsWith("/tag/"); + } + @Override public String toString(){ return "Card{"+ diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java index 5f9835126..4e6193ceb 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/StatusDisplayItem.java @@ -28,7 +28,6 @@ import org.joinmastodon.android.fragments.ThreadFragment; import org.joinmastodon.android.model.Account; import org.joinmastodon.android.model.Attachment; import org.joinmastodon.android.model.DisplayItemsParent; -import org.joinmastodon.android.model.FilterAction; import org.joinmastodon.android.model.LegacyFilter; import org.joinmastodon.android.model.FilterContext; import org.joinmastodon.android.model.FilterResult; @@ -293,7 +292,7 @@ public abstract class StatusDisplayItem{ if(statusForContent.poll!=null){ buildPollItems(parentID, fragment, statusForContent.poll, status, contentItems); } - if(statusForContent.card!=null && statusForContent.mediaAttachments.isEmpty() && statusForContent.quote==null){ + if(statusForContent.card!=null && statusForContent.mediaAttachments.isEmpty() && statusForContent.quote==null && !statusForContent.card.isHashtagUrl(statusForContent.url)){ contentItems.add(new LinkCardStatusDisplayItem(parentID, fragment, statusForContent)); } if(statusForContent.quote!=null && !(parentObject instanceof Notification)){