From e7b5defef433e0ed167b884d1fde9861d18738d0 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Tue, 21 Nov 2017 20:44:49 +0100 Subject: Show Drawable if Location/File/Voice --- .../messenger/ui/adapter/ConversationAdapter.java | 30 +++++++++++++++++++--- src/main/res/layout/conversation_list_row.xml | 17 +++++++----- src/main/res/values-v21/themes.xml | 1 + src/main/res/values/attrs.xml | 1 + src/main/res/values/themes.xml | 1 + 5 files changed, 41 insertions(+), 9 deletions(-) (limited to 'src/main') diff --git a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java index 773e0ac98..75053740f 100644 --- a/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java +++ b/src/main/java/de/pixart/messenger/ui/adapter/ConversationAdapter.java @@ -87,6 +87,7 @@ public class ConversationAdapter extends ArrayAdapter { convName.setText(conversation.getJid().toBareJid().toString()); } TextView mLastMessage = (TextView) view.findViewById(R.id.conversation_lastmsg); + ImageView mLastMessageImage = (ImageView) view.findViewById(R.id.conversation_lastmsg_img); TextView mTimestamp = (TextView) view.findViewById(R.id.conversation_lastupdate); TextView mSenderName = (TextView) view.findViewById(R.id.sender_name); ImageView imagePreview = (ImageView) view.findViewById(R.id.conversation_lastimage); @@ -126,13 +127,36 @@ public class ConversationAdapter extends ArrayAdapter { || message.getTransferable().getStatus() != Transferable.STATUS_DELETED)) { mSenderName.setVisibility(View.GONE); mLastMessage.setVisibility(View.GONE); + mLastMessageImage.setVisibility(View.GONE); imagePreview.setVisibility(View.VISIBLE); activity.loadBitmap(message, imagePreview); } else { - Pair preview = UIHelper.getMessagePreview(activity, message); - mLastMessage.setVisibility(View.VISIBLE); + final boolean showPreviewText; + if (message.getFileParams().runtime > 0) { + showPreviewText = false; + mLastMessageImage.setImageResource(activity.getThemeResource(R.attr.ic_attach_record, R.drawable.ic_attach_record)); + mLastMessageImage.setVisibility(View.VISIBLE); + } else if (message.getType() == Message.TYPE_FILE) { + showPreviewText = true; + mLastMessageImage.setImageResource(activity.getThemeResource(R.attr.ic_attach_document, R.drawable.ic_attach_document)); + mLastMessageImage.setVisibility(View.VISIBLE); + } else if (message.isGeoUri()) { + showPreviewText = false; + mLastMessageImage.setImageResource(activity.getThemeResource(R.attr.ic_attach_location, R.drawable.ic_attach_location)); + mLastMessageImage.setVisibility(View.VISIBLE); + } else { + showPreviewText = true; + mLastMessageImage.setVisibility(View.GONE); + } + + final Pair preview = UIHelper.getMessagePreview(activity, message); + if (showPreviewText) { + mLastMessage.setText(preview.first); + } else { + mLastMessageImage.setContentDescription(preview.first); + } + mLastMessage.setVisibility(showPreviewText ? View.VISIBLE : View.GONE); imagePreview.setVisibility(View.GONE); - mLastMessage.setText(preview.first); if (preview.second) { if (conversation.isRead()) { mLastMessage.setTypeface(null, Typeface.ITALIC); diff --git a/src/main/res/layout/conversation_list_row.xml b/src/main/res/layout/conversation_list_row.xml index c551f9dc2..480d84eba 100644 --- a/src/main/res/layout/conversation_list_row.xml +++ b/src/main/res/layout/conversation_list_row.xml @@ -48,8 +48,8 @@ android:layout_alignLeft="@+id/conversation_lastwrapper" android:layout_toLeftOf="@+id/conversation_failed" android:paddingRight="4dp" - android:singleLine="true" - android:text="Awesome groupchat" + android:ellipsize="end" + android:maxLines="1" android:textAppearance="@style/TextAppearance.AppCompat" android:textColor="@color/black87" android:textSize="?attr/TextSizeHeadline" /> @@ -81,7 +81,13 @@ android:layout_centerVertical="true" android:layout_toLeftOf="@+id/indicators" android:layout_toRightOf="@+id/sender_name" - android:orientation="vertical"> + android:orientation="horizontal"> + + /> @@ -186,7 +192,6 @@ android:layout_alignBaseline="@+id/conversation_name" android:paddingLeft="4dp" android:gravity="right" - android:text="23:42" android:textColor="@color/black54" android:textSize="?attr/TextSizeInfo" /> diff --git a/src/main/res/values-v21/themes.xml b/src/main/res/values-v21/themes.xml index b1a679258..86346775f 100644 --- a/src/main/res/values-v21/themes.xml +++ b/src/main/res/values-v21/themes.xml @@ -14,6 +14,7 @@ 14sp 16sp 18sp + 5sp 24dp 16dp diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml index bce8c7c6e..a315ab796 100644 --- a/src/main/res/values/attrs.xml +++ b/src/main/res/values/attrs.xml @@ -4,6 +4,7 @@ + diff --git a/src/main/res/values/themes.xml b/src/main/res/values/themes.xml index 4e53b26e2..61ffc19ae 100644 --- a/src/main/res/values/themes.xml +++ b/src/main/res/values/themes.xml @@ -10,6 +10,7 @@ 14sp 16sp 18sp + 5sp @drawable/ic_group_add_white_24dp @drawable/ic_person_add_white_24dp -- cgit v1.2.3