Center number display vertically for non-signal contacts.

This commit is contained in:
Alan Evans 2020-11-11 13:43:41 -04:00 committed by Cody Henthorne
parent b937534ce5
commit 8e39267c42

View file

@ -1,6 +1,5 @@
package org.thoughtcrime.securesms.conversation; package org.thoughtcrime.securesms.conversation;
import android.annotation.SuppressLint;
import android.content.Context; import android.content.Context;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.text.TextUtils; import android.text.TextUtils;
@ -24,17 +23,10 @@ import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.recipients.LiveRecipient; import org.thoughtcrime.securesms.recipients.LiveRecipient;
import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.ExpirationUtil; import org.thoughtcrime.securesms.util.ExpirationUtil;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.ViewUtil;
import java.util.UUID;
public class ConversationTitleView extends RelativeLayout { public class ConversationTitleView extends RelativeLayout {
@SuppressWarnings("unused")
private static final String TAG = ConversationTitleView.class.getSimpleName();
private View content;
private AvatarImageView avatar; private AvatarImageView avatar;
private TextView title; private TextView title;
private TextView subtitle; private TextView subtitle;
@ -56,7 +48,6 @@ public class ConversationTitleView extends RelativeLayout {
public void onFinishInflate() { public void onFinishInflate() {
super.onFinishInflate(); super.onFinishInflate();
this.content = findViewById(R.id.content);
this.title = findViewById(R.id.title); this.title = findViewById(R.id.title);
this.subtitle = findViewById(R.id.subtitle); this.subtitle = findViewById(R.id.subtitle);
this.verified = findViewById(R.id.verified_indicator); this.verified = findViewById(R.id.verified_indicator);
@ -122,26 +113,13 @@ public class ConversationTitleView extends RelativeLayout {
updateSubtitleVisibility(); updateSubtitleVisibility();
} }
private void setRecipientTitle(Recipient recipient) { private void setRecipientTitle(@NonNull Recipient recipient) {
if (recipient.isGroup()) setGroupRecipientTitle(recipient); if (recipient.isGroup()) setGroupRecipientTitle(recipient);
else if (recipient.isSelf()) setSelfTitle(); else if (recipient.isSelf()) setSelfTitle();
else setIndividualRecipientTitle(recipient); else setIndividualRecipientTitle(recipient);
} }
@SuppressLint("SetTextI18n") private void setGroupRecipientTitle(@NonNull Recipient recipient) {
private void setNonContactRecipientTitle(Recipient recipient) {
this.title.setText(Util.getFirstNonEmpty(recipient.getE164().orNull(), recipient.getUuid().transform(UUID::toString).orNull()));
if (recipient.getProfileName().isEmpty()) {
this.subtitle.setText(null);
} else {
this.subtitle.setText("~" + recipient.getProfileName().toString());
}
updateSubtitleVisibility();
}
private void setGroupRecipientTitle(Recipient recipient) {
this.title.setText(recipient.getDisplayName(getContext())); this.title.setText(recipient.getDisplayName(getContext()));
this.subtitle.setText(Stream.of(recipient.getParticipants()) this.subtitle.setText(Stream.of(recipient.getParticipants())
.sorted((a, b) -> Boolean.compare(a.isSelf(), b.isSelf())) .sorted((a, b) -> Boolean.compare(a.isSelf(), b.isSelf()))
@ -157,10 +135,11 @@ public class ConversationTitleView extends RelativeLayout {
this.subtitleContainer.setVisibility(View.GONE); this.subtitleContainer.setVisibility(View.GONE);
} }
private void setIndividualRecipientTitle(Recipient recipient) { private void setIndividualRecipientTitle(@NonNull Recipient recipient) {
final String displayName = recipient.getDisplayNameOrUsername(getContext()); final String displayName = recipient.getDisplayNameOrUsername(getContext());
this.title.setText(displayName); this.title.setText(displayName);
this.subtitle.setText(null); this.subtitle.setText(null);
updateSubtitleVisibility();
updateVerifiedSubtitleVisibility(); updateVerifiedSubtitleVisibility();
} }