Fix overflow handling in condensed mode.

This commit is contained in:
Greyson Parrelli 2025-01-06 11:49:16 -05:00
parent 62038e83dd
commit a504c9dd56

View file

@ -992,7 +992,11 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
} }
private boolean hasExtraText(MessageRecord messageRecord) { private boolean hasExtraText(MessageRecord messageRecord) {
return MessageRecordUtil.hasExtraText(messageRecord) || (!messageRecord.isDisplayBodyEmpty(context) && isContentCondensed()); return MessageRecordUtil.hasExtraText(messageRecord);
}
private boolean hasCondensedContent(MessageRecord messageRecord) {
return !messageRecord.isDisplayBodyEmpty(context) && isContentCondensed();
} }
private boolean hasQuote(MessageRecord messageRecord) { private boolean hasQuote(MessageRecord messageRecord) {
@ -1067,6 +1071,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
} }
if (isContentCondensed()) { if (isContentCondensed()) {
bodyText.setOverflowText(getLongMessageSpan(messageRecord));
bodyText.setMaxLines(CONDENSED_MODE_MAX_LINES); bodyText.setMaxLines(CONDENSED_MODE_MAX_LINES);
} else { } else {
bodyText.setMaxLines(Integer.MAX_VALUE); bodyText.setMaxLines(Integer.MAX_VALUE);
@ -1329,7 +1334,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
mediaThumbnailStub.require().setPlayVideoClickListener(playVideoClickListener); mediaThumbnailStub.require().setPlayVideoClickListener(playVideoClickListener);
mediaThumbnailStub.require().setOnLongClickListener(passthroughClickListener); mediaThumbnailStub.require().setOnLongClickListener(passthroughClickListener);
mediaThumbnailStub.require().setOnClickListener(passthroughClickListener); mediaThumbnailStub.require().setOnClickListener(passthroughClickListener);
mediaThumbnailStub.require().showShade(messageRecord.isDisplayBodyEmpty(getContext()) && !hasExtraText(messageRecord)); mediaThumbnailStub.require().showShade(messageRecord.isDisplayBodyEmpty(getContext()) && !hasExtraText(messageRecord) && !hasCondensedContent(messageRecord));
mediaThumbnailStub.require().setImageResource(requestManager, mediaThumbnailStub.require().setImageResource(requestManager,
thumbnailSlides, thumbnailSlides,
showControls, showControls,
@ -1521,7 +1526,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
topEnd = 0; topEnd = 0;
} }
if (hasLinkPreview(messageRecord) || hasExtraText(messageRecord)) { if (hasLinkPreview(messageRecord) || hasExtraText(messageRecord) || hasCondensedContent(messageRecord)) {
bottomStart = 0; bottomStart = 0;
bottomEnd = 0; bottomEnd = 0;
} }