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