Fix some bugs related to how the conversation header renders.

This commit is contained in:
Greyson Parrelli 2024-02-09 16:34:08 -05:00 committed by Clark Chen
parent aa76cefb1c
commit 88d6c91517

View file

@ -129,27 +129,26 @@ public class ConversationHeaderView extends ConstraintLayout {
public void showBackgroundBubble(boolean enabled) {
if (enabled) {
setBackgroundResource(R.drawable.wallpaper_bubble_background_18);
binding.messageRequestInfoOutline.setVisibility(View.INVISIBLE);
binding.messageRequestDivider.setVisibility(View.VISIBLE);
} else {
setBackground(null);
binding.messageRequestInfoOutline.setVisibility(View.VISIBLE);
binding.messageRequestDivider.setVisibility(View.INVISIBLE);
}
hideDecoratorsIfContentIsNotPresent();
updateOutlineVisibility();
}
public void hideSubtitle() {
binding.messageRequestSubtitle.setVisibility(View.GONE);
updateOutlineVisibility();
}
public void showDescription() {
binding.messageRequestDescription.setVisibility(View.VISIBLE);
updateOutlineVisibility();
}
public void hideDescription() {
binding.messageRequestDescription.setVisibility(View.GONE);
updateOutlineVisibility();
}
public void hideButton() {
@ -160,13 +159,19 @@ public class ConversationHeaderView extends ConstraintLayout {
binding.messageRequestDescription.setMovementMethod(enable ? LongClickMovementMethod.getInstance(getContext()) : null);
}
private void hideDecoratorsIfContentIsNotPresent() {
private void updateOutlineVisibility() {
if (ViewKt.isVisible(binding.messageRequestSubtitle) || ViewKt.isVisible(binding.messageRequestDescription)) {
return;
if (getBackground() != null) {
binding.messageRequestInfoOutline.setVisibility(View.GONE);
binding.messageRequestDivider.setVisibility(View.VISIBLE);
} else {
binding.messageRequestInfoOutline.setVisibility(View.VISIBLE);
binding.messageRequestDivider.setVisibility(View.INVISIBLE);
}
} else {
binding.messageRequestInfoOutline.setVisibility(View.GONE);
binding.messageRequestDivider.setVisibility(View.GONE);
}
binding.messageRequestInfoOutline.setVisibility(View.GONE);
binding.messageRequestDivider.setVisibility(View.GONE);
}
private @NonNull CharSequence prependIcon(@NonNull CharSequence input, @DrawableRes int iconRes) {