From fb2c321a3d4cef48ce07d8fcbe8eefa413bff285 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Mon, 29 Oct 2018 19:41:01 -0300
Subject: [PATCH] [android] Show contact alias inside private groups and their
 memberlist

---
 .../JoinMessageItemViewHolder.java             | 18 +++++++++++-------
 .../memberlist/MemberListAdapter.java          | 15 ++++++++++++---
 .../memberlist/MemberListItemHolder.java       |  6 ++++--
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/JoinMessageItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/JoinMessageItemViewHolder.java
index 09f50711e0..1ecd449cd2 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/JoinMessageItemViewHolder.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/conversation/JoinMessageItemViewHolder.java
@@ -10,6 +10,7 @@ import org.briarproject.briar.android.threaded.BaseThreadItemViewHolder;
 import org.briarproject.briar.android.threaded.ThreadItemAdapter.ThreadItemListener;
 
 import static org.briarproject.bramble.api.identity.AuthorInfo.Status.OURSELVES;
+import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName;
 
 @UiThread
 @NotNullByDefault
@@ -36,24 +37,27 @@ class JoinMessageItemViewHolder
 		if (item.isInitial()) {
 			textView.setText(R.string.groups_member_created_you);
 		} else {
-			textView.setText(
-					getContext().getString(R.string.groups_member_joined,
-							item.getAuthor().getName()));
+			String name = getContactDisplayName(item.getAuthor(),
+					item.getAuthorInfo().getAlias());
+			textView.setText(getContext()
+					.getString(R.string.groups_member_joined, name));
 		}
 	}
 
 	private void bind(JoinMessageItem item) {
 		Context ctx = getContext();
+		String name = getContactDisplayName(item.getAuthor(),
+				item.getAuthorInfo().getAlias());
 
 		if (item.isInitial()) {
-			textView.setText(ctx.getString(R.string.groups_member_created,
-					item.getAuthor().getName()));
+			textView.setText(
+					ctx.getString(R.string.groups_member_created, name));
 		} else {
 			if (item.getAuthorInfo().getStatus() == OURSELVES) {
 				textView.setText(R.string.groups_member_joined_you);
 			} else {
-				textView.setText(ctx.getString(R.string.groups_member_joined,
-						item.getAuthor().getName()));
+				textView.setText(
+						ctx.getString(R.string.groups_member_joined, name));
 			}
 		}
 	}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListAdapter.java
index ceab475146..2b1634c4f2 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListAdapter.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListAdapter.java
@@ -1,6 +1,7 @@
 package org.briarproject.briar.android.privategroup.memberlist;
 
 import android.content.Context;
+import android.support.annotation.NonNull;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -8,6 +9,8 @@ import android.view.ViewGroup;
 import org.briarproject.briar.R;
 import org.briarproject.briar.android.util.BriarAdapter;
 
+import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName;
+
 class MemberListAdapter extends
 		BriarAdapter<MemberListItem, MemberListItemHolder> {
 
@@ -15,8 +18,9 @@ class MemberListAdapter extends
 		super(context, MemberListItem.class);
 	}
 
+	@NonNull
 	@Override
-	public MemberListItemHolder onCreateViewHolder(ViewGroup viewGroup,
+	public MemberListItemHolder onCreateViewHolder(@NonNull ViewGroup viewGroup,
 			int i) {
 		View v = LayoutInflater.from(ctx).inflate(
 				R.layout.list_item_group_member, viewGroup, false);
@@ -24,13 +28,18 @@ class MemberListAdapter extends
 	}
 
 	@Override
-	public void onBindViewHolder(MemberListItemHolder ui, int position) {
+	public void onBindViewHolder(@NonNull MemberListItemHolder ui,
+			int position) {
 		ui.bind(items.get(position));
 	}
 
 	@Override
 	public int compare(MemberListItem m1, MemberListItem m2) {
-		return m1.getMember().getName().compareTo(m2.getMember().getName());
+		String n1 = getContactDisplayName(m1.getMember(),
+				m1.getAuthorInfo().getAlias());
+		String n2 = getContactDisplayName(m2.getMember(),
+				m2.getAuthorInfo().getAlias());
+		return n1.compareTo(n2);
 	}
 
 	@Override
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListItemHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListItemHolder.java
index 6ccab7c638..ce9eb7fb9f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListItemHolder.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/privategroup/memberlist/MemberListItemHolder.java
@@ -13,6 +13,7 @@ import org.briarproject.briar.android.view.AuthorView;
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 import static org.briarproject.bramble.api.identity.AuthorInfo.Status.OURSELVES;
+import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName;
 
 @UiThread
 @NotNullByDefault
@@ -51,9 +52,10 @@ class MemberListItemHolder extends RecyclerView.ViewHolder {
 			if (item.getStatus() == OURSELVES) {
 				creator.setText(R.string.groups_member_created_you);
 			} else {
+				String name = getContactDisplayName(item.getMember(),
+						item.getAuthorInfo().getAlias());
 				creator.setText(creator.getContext()
-						.getString(R.string.groups_member_created,
-								item.getMember().getName()));
+						.getString(R.string.groups_member_created, name));
 			}
 		} else {
 			creator.setVisibility(GONE);
-- 
GitLab