diff --git a/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java b/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java index c908c0332a184683e66838663319ebdd63b1ce77..d214f47bb45ff9548d002c9e6d6050e20ffbe688 100644 --- a/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java +++ b/briar-android/src/net/sf/briar/android/groups/GroupAdapter.java @@ -17,6 +17,7 @@ import net.sf.briar.android.widgets.HorizontalSpace; import net.sf.briar.api.Rating; import net.sf.briar.api.db.GroupMessageHeader; import net.sf.briar.api.messaging.Author; +import net.sf.briar.util.StringUtils; import android.content.Context; import android.content.res.Resources; import android.text.format.DateUtils; @@ -82,13 +83,15 @@ class GroupAdapter extends ArrayAdapter<GroupMessageHeader> { innerLayout.addView(authorLayout); if(item.getContentType().equals("text/plain")) { - TextView subject = new TextView(ctx); - subject.setTextSize(14); - subject.setMaxLines(2); - subject.setPadding(10, 0, 10, 10); - if(!item.isRead()) subject.setTypeface(null, BOLD); - subject.setText(item.getSubject()); - innerLayout.addView(subject); + if(!StringUtils.isNullOrEmpty(item.getSubject())) { + TextView subject = new TextView(ctx); + subject.setTextSize(14); + subject.setMaxLines(2); + subject.setPadding(10, 0, 10, 10); + if(!item.isRead()) subject.setTypeface(null, BOLD); + subject.setText(item.getSubject()); + innerLayout.addView(subject); + } } else { LinearLayout attachmentLayout = new LinearLayout(ctx); attachmentLayout.setOrientation(HORIZONTAL); diff --git a/briar-android/src/net/sf/briar/android/groups/GroupListAdapter.java b/briar-android/src/net/sf/briar/android/groups/GroupListAdapter.java index 8242412d7c53369f3c5974d58e8754c747ecbeae..2337702ea587ba6e74251a8ba7a4e0c98ff68a08 100644 --- a/briar-android/src/net/sf/briar/android/groups/GroupListAdapter.java +++ b/briar-android/src/net/sf/briar/android/groups/GroupListAdapter.java @@ -1,7 +1,6 @@ package net.sf.briar.android.groups; import static android.graphics.Typeface.BOLD; -import static android.view.Gravity.LEFT; import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.VERTICAL; import static java.text.DateFormat.SHORT; @@ -10,6 +9,7 @@ import java.util.ArrayList; import net.sf.briar.R; import net.sf.briar.android.widgets.CommonLayoutParams; +import net.sf.briar.android.widgets.HorizontalSpace; import net.sf.briar.util.StringUtils; import android.content.Context; import android.content.Intent; @@ -20,6 +20,7 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; +import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; @@ -46,7 +47,6 @@ implements OnItemClickListener { // Give me all the unused width innerLayout.setLayoutParams(CommonLayoutParams.WRAP_WRAP_1); innerLayout.setOrientation(VERTICAL); - innerLayout.setGravity(LEFT); TextView name = new TextView(ctx); name.setTextSize(18); @@ -57,14 +57,25 @@ implements OnItemClickListener { else name.setText(item.getGroupName()); innerLayout.addView(name); - if(!StringUtils.isNullOrEmpty(item.getSubject())) { - TextView subject = new TextView(ctx); - subject.setTextSize(14); - subject.setMaxLines(2); - subject.setPadding(10, 0, 10, 10); - if(unread > 0) subject.setTypeface(null, BOLD); - subject.setText(item.getSubject()); - innerLayout.addView(subject); + if(item.getContentType().equals("text/plain")) { + if(!StringUtils.isNullOrEmpty(item.getSubject())) { + TextView subject = new TextView(ctx); + subject.setTextSize(14); + subject.setMaxLines(2); + subject.setPadding(10, 0, 10, 10); + if(item.getUnreadCount() > 0) subject.setTypeface(null, BOLD); + subject.setText(item.getSubject()); + innerLayout.addView(subject); + } + } else { + LinearLayout attachmentLayout = new LinearLayout(ctx); + attachmentLayout.setOrientation(HORIZONTAL); + ImageView attachment = new ImageView(ctx); + attachment.setPadding(10, 0, 10, 10); + attachment.setImageResource(R.drawable.content_attachment); + attachmentLayout.addView(attachment); + attachmentLayout.addView(new HorizontalSpace(ctx)); + innerLayout.addView(attachmentLayout); } layout.addView(innerLayout); diff --git a/briar-android/src/net/sf/briar/android/groups/GroupListItem.java b/briar-android/src/net/sf/briar/android/groups/GroupListItem.java index a7d86263eff0c609c64d32abcbf06d2058c5eb9c..36df21ec51cd64f93467e5b1c5dc294d6edfe80a 100644 --- a/briar-android/src/net/sf/briar/android/groups/GroupListItem.java +++ b/briar-android/src/net/sf/briar/android/groups/GroupListItem.java @@ -12,7 +12,7 @@ import net.sf.briar.api.messaging.GroupId; class GroupListItem { private final Group group; - private final String authorName, subject; + private final String authorName, contentType, subject; private final long timestamp; private final int unread; @@ -24,6 +24,7 @@ class GroupListItem { Author a = newest.getAuthor(); if(a == null) authorName = null; else authorName = a.getName(); + contentType = newest.getContentType(); subject = newest.getSubject(); timestamp = newest.getTimestamp(); int unread = 0; @@ -43,6 +44,10 @@ class GroupListItem { return authorName; } + String getContentType() { + return contentType; + } + String getSubject() { return subject; }