diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java index c79851892..75e95d1b6 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/LinkCardStatusDisplayItem.java @@ -75,7 +75,8 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{ if(item.imgRequest!=null){ crossfadeDrawable.setSize(card.width, card.height); crossfadeDrawable.setBlurhashDrawable(card.blurhashPlaceholder); - crossfadeDrawable.setCrossfadeAlpha(item.status.spoilerRevealed ? 0f : 1f); + crossfadeDrawable.setCrossfadeAlpha(0f); + photo.setImageDrawable(null); photo.setImageDrawable(crossfadeDrawable); didClear=false; } @@ -84,8 +85,14 @@ public class LinkCardStatusDisplayItem extends StatusDisplayItem{ @Override public void setImage(int index, Drawable drawable){ crossfadeDrawable.setImageDrawable(drawable); - if(didClear && item.status.spoilerRevealed) + if(didClear) crossfadeDrawable.animateAlpha(0f); + Card card=item.status.card; + // Make sure the image is not stretched if the server returned wrong dimensions + if(drawable!=null && (drawable.getIntrinsicWidth()!=card.width || drawable.getIntrinsicHeight()!=card.height)){ + photo.setImageDrawable(null); + photo.setImageDrawable(crossfadeDrawable); + } } @Override