From fd7d966148558178b5201a57bef4c457b06aa356 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Fri, 17 Jan 2025 12:35:48 +0100 Subject: [PATCH] improve preview card when there is no author or description (#4872) Remove the bottom space on vertical layout, center text vertically on horizontal layout. Make sure the image on the horizontal layout is at least square. Before / After: --- .../tusky/adapter/StatusBaseViewHolder.java | 9 +++++++-- app/src/main/res/layout/item_preview_card.xml | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) 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 5ec425b5bd..2f15bdf29a 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -1158,7 +1158,7 @@ protected void setupCard( providerName = Uri.parse(card.getUrl()).getHost(); } - if (TextUtils.isEmpty(providerName) && card.getPublishedAt() != null) { + if (TextUtils.isEmpty(providerName)) { cardMetadata.setVisibility(View.GONE); } else { cardMetadata.setVisibility(View.VISIBLE); @@ -1183,7 +1183,12 @@ protected void setupCard( } } - if (TextUtils.isEmpty(cardAuthorName)) { + final boolean hasNoAuthorName = TextUtils.isEmpty(cardAuthorName); + + if (hasNoAuthorName && TextUtils.isEmpty(card.getDescription())) { + cardAuthor.setVisibility(View.GONE); + cardAuthorButton.setVisibility(View.GONE); + } else if (hasNoAuthorName) { cardAuthor.setVisibility(View.VISIBLE); cardAuthor.setText(card.getDescription()); cardAuthorButton.setVisibility(View.GONE); diff --git a/app/src/main/res/layout/item_preview_card.xml b/app/src/main/res/layout/item_preview_card.xml index 6fb7d30587..b25f06fb4f 100644 --- a/app/src/main/res/layout/item_preview_card.xml +++ b/app/src/main/res/layout/item_preview_card.xml @@ -11,7 +11,7 @@ android:id="@+id/status_card_layout" android:layout_width="match_parent" android:layout_height="wrap_content" - android:minHeight="80dp" + android:minHeight="@dimen/card_image_horizontal_width" android:gravity="center" android:orientation="vertical"> @@ -29,6 +29,7 @@ android:paddingVertical="8dp" android:layout_width="match_parent" android:layout_height="wrap_content" + android:gravity="center_vertical" android:orientation="vertical">