Show username in all display name locations if only option.

This commit is contained in:
Cody Henthorne
2024-02-27 11:01:05 -05:00
committed by Alex Hart
parent c10c64a6a6
commit 5b2c458bcf
18 changed files with 22 additions and 46 deletions

View File

@@ -39,7 +39,7 @@ public class FromTextView extends SimpleEmojiTextView {
}
public void setText(Recipient recipient, boolean read, @Nullable String suffix) {
setText(recipient, recipient.getDisplayNameOrUsername(getContext()), read, suffix);
setText(recipient, recipient.getDisplayName(getContext()), read, suffix);
}
public void setText(Recipient recipient, @Nullable CharSequence fromString, boolean read, @Nullable String suffix) {

View File

@@ -45,7 +45,7 @@ object BioTextPreference {
val name = if (recipient.isSelf) {
context.getString(R.string.note_to_self)
} else {
recipient.getDisplayNameOrUsername(context)
recipient.getDisplayName(context)
}
if (!recipient.showVerified() && !recipient.isIndividual) {

View File

@@ -30,7 +30,7 @@ object SelectedContacts {
private val chip: ContactChip = itemView.findViewById(R.id.contact_chip)
override fun bind(model: Model) {
chip.text = model.recipient.getShortDisplayNameIncludingUsername(context)
chip.text = model.recipient.getShortDisplayName(context)
chip.setContact(model.selectedContact)
chip.isCloseIconVisible = true
chip.setOnCloseIconClickListener {

View File

@@ -76,7 +76,7 @@ public class ConversationHeaderView extends ConstraintLayout {
}
public String setTitle(@NonNull Recipient recipient) {
SpannableStringBuilder title = new SpannableStringBuilder(recipient.isSelf() ? getContext().getString(R.string.note_to_self) : recipient.getDisplayNameOrUsername(getContext()));
SpannableStringBuilder title = new SpannableStringBuilder(recipient.isSelf() ? getContext().getString(R.string.note_to_self) : recipient.getDisplayName(getContext()));
if (recipient.showVerified()) {
SpanUtil.appendCenteredImageSpan(title, ContextUtil.requireDrawable(getContext(), R.drawable.ic_official_28), 28, 28);
}

View File

@@ -207,7 +207,7 @@ public class ConversationTitleView extends ConstraintLayout {
}
private void setIndividualRecipientTitle(@NonNull Recipient recipient) {
final String displayName = recipient.getDisplayNameOrUsername(getContext());
final String displayName = recipient.getDisplayName(getContext());
this.title.setText(displayName);
this.subtitle.setText(null);
updateSubtitleVisibility();

View File

@@ -299,7 +299,7 @@ public final class ConversationListItem extends ConstraintLayout implements Bind
joinMembersDisposable.dispose();
setSubjectViewText(null);
fromView.setText(recipient.get(), recipient.get().getDisplayNameOrUsername(getContext()), false, null, false);
fromView.setText(recipient.get(), recipient.get().getDisplayName(getContext()), false, null, false);
setSubjectViewText(SearchUtil.getHighlightedSpan(locale, searchStyleFactory, messageResult.getBodySnippet(), highlightSubstring, SearchUtil.MATCH_ALL));
updateDateView = () -> dateView.setText(DateUtils.getBriefRelativeTimeSpanString(getContext(), locale, messageResult.getReceivedTimestampMs()));

View File

@@ -1584,7 +1584,7 @@ final class GroupsV2UpdateMessageProducer {
String beforeChunk = template.substring(startIndex, nearestPosition);
builder.append(beforeChunk);
builder.append(SpanUtil.clickable(Recipient.resolved(recipientId).getDisplayNameOrUsername(context), ContextCompat.getColor(context, R.color.conversation_item_update_text_color), v -> {
builder.append(SpanUtil.clickable(Recipient.resolved(recipientId).getDisplayName(context), ContextCompat.getColor(context, R.color.conversation_item_update_text_color), v -> {
if (!recipientId.isUnknown() && clickHandler != null) {
clickHandler.accept(recipientId);
}

View File

@@ -399,7 +399,7 @@ final class GroupMemberListAdapter extends RecyclerView.Adapter<GroupMemberListA
GroupMemberEntry.PendingMember pendingMember = (GroupMemberEntry.PendingMember) memberEntry;
bindImageAndText(pendingMember.getInvitee(), pendingMember.getInvitee().getDisplayNameOrUsername(context), pendingMember.getInvitee().getCombinedAboutAndEmoji());
bindImageAndText(pendingMember.getInvitee(), pendingMember.getInvitee().getDisplayName(context), pendingMember.getInvitee().getCombinedAboutAndEmoji());
bindRecipientClick(pendingMember.getInvitee());
if (pendingMember.isCancellable() && adminActionsListener != null) {

View File

@@ -162,7 +162,7 @@ public class AddMembersActivity extends PushContactSelectionActivity implements
Recipient recipient = Util.firstNonNull(state.getRecipient(), Recipient.UNKNOWN);
String message = getResources().getQuantityString(R.plurals.AddMembersActivity__add_d_members_to_s, state.getSelectionCount(),
recipient.getDisplayNameOrUsername(this), state.getGroupTitle(), state.getSelectionCount());
recipient.getDisplayName(this), state.getGroupTitle(), state.getSelectionCount());
new MaterialAlertDialogBuilder(this)
.setMessage(message)

View File

@@ -47,7 +47,7 @@ public final class AddToGroupViewModel extends ViewModel {
SignalExecutors.BOUNDED.execute(() -> {
Recipient recipient = Recipient.resolved(recipientId);
Recipient groupRecipient = Recipient.resolved(groupRecipientIds.get(0));
String recipientName = recipient.getDisplayNameOrUsername(context);
String recipientName = recipient.getDisplayName(context);
String groupName = groupRecipient.getDisplayName(context);
if (groupRecipient.getGroupId().get().isV1() && !recipient.hasE164()) {

View File

@@ -33,7 +33,7 @@ public final class GroupInviteSentDialog {
.setTitle(context.getResources().getQuantityString(R.plurals.GroupManagement_invitation_sent, size, size))
.setPositiveButton(android.R.string.ok, null);
if (size == 1) {
builder.setMessage(context.getString(R.string.GroupManagement_invite_single_user, recipients.get(0).getDisplayNameOrUsername(context)));
builder.setMessage(context.getString(R.string.GroupManagement_invite_single_user, recipients.get(0).getDisplayName(context)));
} else {
builder.setMessage(R.string.GroupManagement_invite_multiple_users)
.setView(R.layout.dialog_multiple_group_invites_sent);

View File

@@ -93,7 +93,7 @@ sealed class NotificationItem(val threadRecipient: Recipient, protected val reco
context.getString(R.string.SingleRecipientNotificationBuilder_new_message)
} else {
SpannableStringBuilder().apply {
append(Util.getBoldedString(authorRecipient.getShortDisplayNameIncludingUsername(context)))
append(Util.getBoldedString(authorRecipient.getShortDisplayName(context)))
if (threadRecipient != authorRecipient) {
append(Util.getBoldedString("@${threadRecipient.getDisplayName(context)}"))
}

View File

@@ -544,10 +544,6 @@ public class Recipient {
}
}
public boolean hasName() {
return groupName != null;
}
/**
* False iff it {@link #getDisplayName} would fall back to e164, email or unknown.
*/
@@ -560,6 +556,10 @@ public class Recipient {
public @NonNull String getDisplayName(@NonNull Context context) {
String name = getNameFromLocalData(context);
if (Util.isEmpty(name)) {
name = username;
}
if (Util.isEmpty(name)) {
name = getUnknownDisplayName(context);
}
@@ -567,20 +567,6 @@ public class Recipient {
return StringUtil.isolateBidi(name);
}
public @NonNull String getDisplayNameOrUsername(@NonNull Context context) {
String name = getNameFromLocalData(context);
if (Util.isEmpty(name)) {
name = StringUtil.isolateBidi(username);
}
if (Util.isEmpty(name)) {
name = StringUtil.isolateBidi(getUnknownDisplayName(context));
}
return StringUtil.isolateBidi(name);
}
public boolean hasNonUsernameDisplayName(@NonNull Context context) {
return getNameFromLocalData(context) != null;
}
@@ -643,16 +629,6 @@ public class Recipient {
String name = Util.getFirstNonEmpty(getGroupName(context),
getSystemProfileName().getGivenName(),
getProfileName().getGivenName(),
getDisplayName(context));
return StringUtil.isolateBidi(name);
}
public @NonNull String getShortDisplayNameIncludingUsername(@NonNull Context context) {
String name = Util.getFirstNonEmpty(getGroupName(context),
getSystemProfileName().getGivenName(),
getProfileName().getGivenName(),
shouldShowE164() ? getE164().orElse(null) : null,
getUsername().orElse(null),
getDisplayName(context));

View File

@@ -89,8 +89,8 @@ class AboutSheet : ComposeBottomSheetDialogFragment() {
model = AboutModel(
isSelf = recipient.get().isSelf,
hasAvatar = recipient.get().profileAvatarFileDetails.hasFile(),
displayName = recipient.get().getDisplayNameOrUsername(requireContext()),
shortName = recipient.get().getShortDisplayNameIncludingUsername(requireContext()),
displayName = recipient.get().getDisplayName(requireContext()),
shortName = recipient.get().getShortDisplayName(requireContext()),
about = recipient.get().about,
verified = verified,
recipientForAvatar = recipient.get(),

View File

@@ -184,7 +184,7 @@ public final class RecipientBottomSheetDialogFragment extends BottomSheetDialogF
}
String name = recipient.isSelf() ? requireContext().getString(R.string.note_to_self)
: recipient.getDisplayNameOrUsername(requireContext());
: recipient.getDisplayName(requireContext());
fullName.setVisibility(TextUtils.isEmpty(name) ? View.GONE : View.VISIBLE);
SpannableStringBuilder nameBuilder = new SpannableStringBuilder(name);
if (recipient.showVerified()) {

View File

@@ -22,7 +22,7 @@ public class ShareSelectionMappingModel implements MappingModel<ShareSelectionMa
String name = shareContact.getRecipientId()
.map(Recipient::resolved)
.map(recipient -> recipient.isSelf() ? context.getString(R.string.note_to_self)
: recipient.getShortDisplayNameIncludingUsername(context))
: recipient.getShortDisplayName(context))
.orElseGet(shareContact::getNumber);
return isFirst ? name : context.getString(R.string.ShareActivity__comma_s, name);

View File

@@ -21,7 +21,7 @@ class ShareInterstitialMappingModel extends RecipientMappingModel<ShareInterstit
@Override
public @NonNull String getName(@NonNull Context context) {
String name = recipient.isSelf() ? context.getString(R.string.note_to_self)
: recipient.getShortDisplayNameIncludingUsername(context);
: recipient.getShortDisplayName(context);
return isFirst ? name : context.getString(R.string.ShareActivity__comma_s, name);
}

View File

@@ -105,7 +105,7 @@ public final class GroupsV2UpdateMessageProducerTest {
private static Recipient recipientWithName(RecipientId id, String name) {
Recipient recipient = mock(Recipient.class);
when(recipient.getId()).thenReturn(id);
when(recipient.getDisplayNameOrUsername(any())).thenReturn(name);
when(recipient.getDisplayName(any())).thenReturn(name);
return recipient;
}