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 00ea52c90a..de4554ca9b 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 @@ import android.graphics.Bitmap; import android.graphics.drawable.Drawable; +import android.net.Uri; import com.google.gson.annotations.SerializedName; @@ -47,6 +48,13 @@ public void postprocess() throws ObjectValidationException{ } } + 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 5f98351268..4e6193cebe 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.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 static ArrayList buildItems(BaseStatusListFragment 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)){