From 3d25c41e7aa08661c1a87c474f6674fe2ccbd7da Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Fri, 13 May 2016 16:35:38 -0300 Subject: [PATCH] Add unread count as bubble to avatar image in contact list Closes #399 --- briar-android/res/drawable/bubble.xml | 21 ++++++++++ .../res/layout/list_item_contact.xml | 39 ++++++++++++++----- briar-android/res/values/dimens.xml | 6 +++ .../android/contact/ContactListAdapter.java | 15 +++---- 4 files changed, 63 insertions(+), 18 deletions(-) create mode 100644 briar-android/res/drawable/bubble.xml diff --git a/briar-android/res/drawable/bubble.xml b/briar-android/res/drawable/bubble.xml new file mode 100644 index 000000000..9b7f37f9f --- /dev/null +++ b/briar-android/res/drawable/bubble.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + diff --git a/briar-android/res/layout/list_item_contact.xml b/briar-android/res/layout/list_item_contact.xml index 5658f85b0..989acb439 100644 --- a/briar-android/res/layout/list_item_contact.xml +++ b/briar-android/res/layout/list_item_contact.xml @@ -15,17 +15,38 @@ android:paddingTop="@dimen/listitem_horizontal_margin" > - + android:layout_marginStart="@dimen/listitem_horizontal_margin"> + + + + + + 56dp 68dp 48dp + 50dp 40dp 32dp 48dp 2dp + 12sp + 2dp + 6dp + 19dp + 14dp 51dp 15dp diff --git a/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java b/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java index 374d85d21..1c2951b40 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListAdapter.java @@ -34,18 +34,13 @@ public class ContactListAdapter ContactListItem item = getItem(position); - // name and unread count - String contactName = item.getContact().getAuthor().getName(); + // unread count int unread = item.getUnreadCount(); if (unread > 0) { - // TODO show these in a bubble on top of the avatar - ui.name.setText(contactName + " (" + unread + ")"); - - // different background for contacts with unread messages - ui.layout.setBackgroundColor( - ContextCompat.getColor(ctx, R.color.unread_background)); + ui.unread.setText(String.valueOf(unread)); + ui.unread.setVisibility(View.VISIBLE); } else { - ui.name.setText(contactName); + ui.unread.setVisibility(View.INVISIBLE); } // date of last message @@ -73,6 +68,7 @@ public class ContactListAdapter extends BaseContactListAdapter.BaseContactHolder { public final ImageView bulb; + public final TextView unread; public final TextView date; public final TextView identity; @@ -80,6 +76,7 @@ public class ContactListAdapter super(v); bulb = (ImageView) v.findViewById(R.id.bulbView); + unread = (TextView) v.findViewById(R.id.unreadCountView); date = (TextView) v.findViewById(R.id.dateView); identity = (TextView) v.findViewById(R.id.identityView); }