diff options
author | steckbrief <steckbrief@chefmail.de> | 2016-06-12 11:44:23 +0200 |
---|---|---|
committer | steckbrief <steckbrief@chefmail.de> | 2016-06-12 11:44:23 +0200 |
commit | e9aa5d9daac2cc82d893dfdc26e344fb1a9dc8e2 (patch) | |
tree | 40b783c0d730097b9320fc897b0d86aa9cd2eb28 /src | |
parent | 57102059e075e1febc910e5b0c42d091c92d29b6 (diff) |
Implements FS#217: Rework display of /me messagesmessage_display_rework
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java | 277 | ||||
-rw-r--r-- | src/main/res/drawable/mecmd_message_border.xml | 15 | ||||
-rw-r--r-- | src/main/res/layout/fragment_conversations_overview.xml | 2 | ||||
-rw-r--r-- | src/main/res/layout/message_mecmd.xml | 112 | ||||
-rw-r--r-- | src/main/res/layout/message_received.xml | 10 | ||||
-rw-r--r-- | src/main/res/layout/message_sent.xml | 75 | ||||
-rw-r--r-- | src/main/res/layout/message_status.xml | 4 | ||||
-rw-r--r-- | src/main/res/values/dimens.xml | 3 |
8 files changed, 366 insertions, 132 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java index 5c62b1f4..f4c40edf 100644 --- a/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java +++ b/src/main/java/de/thedevstack/conversationsplus/ui/adapter/MessageAdapter.java @@ -38,6 +38,7 @@ import java.util.concurrent.RejectedExecutionException; import java.util.regex.Matcher; import java.util.regex.Pattern; +import de.thedevstack.android.logcat.Logging; import de.thedevstack.conversationsplus.ConversationsPlusApplication; import de.thedevstack.conversationsplus.ConversationsPlusColors; import de.thedevstack.conversationsplus.ConversationsPlusPreferences; @@ -62,7 +63,7 @@ public class MessageAdapter extends ArrayAdapter<Message> { private static final int SENT = 0; private static final int RECEIVED = 1; private static final int STATUS = 2; - private static final int NULL = 3; + private static final int ME_COMMAND = 3; private static final Pattern XMPP_PATTERN = Pattern .compile("xmpp\\:(?:(?:[" + Patterns.GOOD_IRI_CHAR @@ -102,11 +103,13 @@ public class MessageAdapter extends ArrayAdapter<Message> { @Override public int getViewTypeCount() { - return 3; + return 4; } public int getItemViewType(Message message) { - if (message.getType() == Message.TYPE_STATUS) { + if (message.hasMeCommand()) { + return ME_COMMAND; + } else if (message.getType() == Message.TYPE_STATUS) { return STATUS; } else if (message.getStatus() <= Message.STATUS_RECEIVED) { return RECEIVED; @@ -253,7 +256,10 @@ public class MessageAdapter extends ArrayAdapter<Message> { if (viewHolder.download_button != null) { viewHolder.download_button.setVisibility(View.GONE); } - viewHolder.image.setVisibility(View.GONE); + if (null != viewHolder.image) { + viewHolder.image.setVisibility(View.GONE); + } + viewHolder.messageBody.setVisibility(View.VISIBLE); viewHolder.messageBody.setText(text); viewHolder.messageBody.setTextColor(getMessageTextColor(darkBackground, false)); @@ -265,7 +271,9 @@ public class MessageAdapter extends ArrayAdapter<Message> { if (viewHolder.download_button != null) { viewHolder.download_button.setVisibility(View.GONE); } - viewHolder.image.setVisibility(View.GONE); + if (null != viewHolder.image) { + viewHolder.image.setVisibility(View.GONE); + } viewHolder.messageBody.setVisibility(View.VISIBLE); viewHolder.messageBody.setText(getContext().getString( R.string.decryption_failed)); @@ -278,7 +286,10 @@ public class MessageAdapter extends ArrayAdapter<Message> { if (viewHolder.download_button != null) { viewHolder.download_button.setVisibility(View.GONE); } - viewHolder.image.setVisibility(View.GONE); + if (null != viewHolder.image) { + viewHolder.image.setVisibility(View.GONE); + } + viewHolder.messageBody.setVisibility(View.VISIBLE); viewHolder.messageBody.setIncludeFontPadding(true); if (message.getBody() != null) { @@ -383,7 +394,9 @@ public class MessageAdapter extends ArrayAdapter<Message> { private void displayDownloadableMessage(ViewHolder viewHolder, final Message message, String text) { - viewHolder.image.setVisibility(View.GONE); + if (null != viewHolder.image) { + viewHolder.image.setVisibility(View.GONE); + } viewHolder.messageBody.setVisibility(View.GONE); viewHolder.download_button.setVisibility(View.VISIBLE); viewHolder.download_button.setText(text); @@ -429,6 +442,10 @@ public class MessageAdapter extends ArrayAdapter<Message> { private void displayImageMessage(ViewHolder viewHolder, final Message message) { + if (null == viewHolder.image) { + Toast.makeText(activity, "ImageView null??? " + message.getBody(), Toast.LENGTH_LONG); + return; + } if (viewHolder.download_button != null) { viewHolder.download_button.setVisibility(View.GONE); } @@ -461,6 +478,116 @@ public class MessageAdapter extends ArrayAdapter<Message> { viewHolder.image.setOnLongClickListener(openContextMenu); } + private View initializeView(Message message, int type, ViewGroup parent) { + Integer viewResId = null; + + switch (type) { + case SENT: + viewResId = R.layout.message_sent; + break; + case RECEIVED: + viewResId = R.layout.message_received; + break; + case STATUS: + viewResId = R.layout.message_status; + break; + case ME_COMMAND: + viewResId = R.layout.message_mecmd; + break; + } + + return activity.getLayoutInflater().inflate(viewResId, parent, false); + } + + private ViewHolder initializeViewHolderAndView(Message message, int type, ViewGroup parent) { + View view = initializeView(message, type, parent); + ViewHolder viewHolder = new ViewHolder(view); + if (SENT == type + || RECEIVED == type + || ME_COMMAND == type) { + viewHolder.message_box = (LinearLayout) view.findViewById(R.id.message_box); + viewHolder.message_box.setVisibility(View.VISIBLE); + viewHolder.indicator = (ImageView) view.findViewById(R.id.security_indicator); + viewHolder.messageBody = (TextView) view.findViewById(R.id.message_body); + viewHolder.time = (TextView) view.findViewById(R.id.message_time); + viewHolder.indicatorReceived = (ImageView) view.findViewById(R.id.indicator_received); + } + if ((SENT == type + || RECEIVED == type) + && ME_COMMAND != type) { + viewHolder.download_button = (Button) view.findViewById(R.id.download_button); + viewHolder.image = (ImageView) view.findViewById(R.id.message_image); + } + if (ME_COMMAND == type + || (RECEIVED == type && message.getConversation().getMode() == Conversation.MODE_MULTI)) { + viewHolder.contact_picture = (ImageView) view.findViewById(R.id.message_photo); + viewHolder.contact_picture.setVisibility(View.VISIBLE); + } + if (RECEIVED == type) { + viewHolder.encryption = (TextView) view.findViewById(R.id.message_encryption); + } + if (STATUS == type) { + viewHolder.contact_picture = (ImageView) view.findViewById(R.id.message_photo); + viewHolder.status_message = (TextView) view.findViewById(R.id.status_message); + } + view.setTag(viewHolder); + + return viewHolder; + } + + private void displayAvatar(final Message message, int type, ViewHolder viewHolder) { + if (type == ME_COMMAND || (type == RECEIVED && message.getConversation().getMode() == Conversation.MODE_MULTI)) { + ImageView imageView = viewHolder.contact_picture; + if (null != imageView) { + if (cancelPotentialWork(message, imageView)) { + //int avatarPixel = activity.getPixel(48); + int avatarPixel = imageView.getResources().getDimensionPixelOffset(message.hasMeCommand() ? R.dimen.msg_mecmd_avatar_size : R.dimen.msg_avatar_size); + final Bitmap bm = AvatarService.getInstance().get(message, avatarPixel, true); + if (bm != null) { + imageView.setImageBitmap(bm); + imageView.setBackgroundColor(0x00000000); + } else { + imageView.setBackgroundColor(UIHelper.getColorForName(UIHelper.getMessageDisplayName(message))); + imageView.setImageDrawable(null); + final BitmapWorkerTask task = new BitmapWorkerTask(imageView); + final AsyncDrawable asyncDrawable = new AsyncDrawable(activity.getResources(), null, task); + imageView.setImageDrawable(asyncDrawable); + try { + task.execute(message); + } catch (final RejectedExecutionException ignored) { + } + } + } + imageView.setOnClickListener(new OnClickListener() { + + @Override + public void onClick(View v) { + if (MessageAdapter.this.mOnContactPictureClickedListener != null) { + MessageAdapter.this.mOnContactPictureClickedListener + .onContactPictureClicked(message); + } + + } + }); + if (message.getConversation().getMode() == Conversation.MODE_MULTI) { + imageView.setOnLongClickListener(new OnLongClickListener() { + + @Override + public boolean onLongClick(View v) { + if (MessageAdapter.this.mOnContactPictureLongClickedListener != null) { + MessageAdapter.this.mOnContactPictureLongClickedListener + .onContactPictureLongClicked(message); + return true; + } else { + return false; + } + } + }); + } + } + } + } + @Override public View getView(int position, View view, ViewGroup parent) { final Message message = getItem(position); @@ -468,69 +595,18 @@ public class MessageAdapter extends ArrayAdapter<Message> { final Conversation conversation = message.getConversation(); final Account account = conversation.getAccount(); final int type = getItemViewType(position); - ViewHolder viewHolder; - if (view == null) { - viewHolder = new ViewHolder(); - switch (type) { - case SENT: - view = activity.getLayoutInflater().inflate( - R.layout.message_sent, parent, false); - viewHolder.message_box = (LinearLayout) view - .findViewById(R.id.message_box); - viewHolder.contact_picture = (ImageView) view - .findViewById(R.id.message_photo); - viewHolder.download_button = (Button) view - .findViewById(R.id.download_button); - viewHolder.indicator = (ImageView) view - .findViewById(R.id.security_indicator); - viewHolder.image = (ImageView) view - .findViewById(R.id.message_image); - viewHolder.messageBody = (TextView) view - .findViewById(R.id.message_body); - viewHolder.time = (TextView) view - .findViewById(R.id.message_time); - viewHolder.indicatorReceived = (ImageView) view - .findViewById(R.id.indicator_received); - break; - case RECEIVED: - view = activity.getLayoutInflater().inflate( - R.layout.message_received, parent, false); - viewHolder.message_box = (LinearLayout) view - .findViewById(R.id.message_box); - viewHolder.contact_picture = (ImageView) view - .findViewById(R.id.message_photo); - viewHolder.download_button = (Button) view - .findViewById(R.id.download_button); - viewHolder.indicator = (ImageView) view - .findViewById(R.id.security_indicator); - viewHolder.image = (ImageView) view - .findViewById(R.id.message_image); - viewHolder.messageBody = (TextView) view - .findViewById(R.id.message_body); - viewHolder.time = (TextView) view - .findViewById(R.id.message_time); - viewHolder.indicatorReceived = (ImageView) view - .findViewById(R.id.indicator_received); - viewHolder.encryption = (TextView) view.findViewById(R.id.message_encryption); - break; - case STATUS: - view = activity.getLayoutInflater().inflate(R.layout.message_status, parent, false); - viewHolder.contact_picture = (ImageView) view.findViewById(R.id.message_photo); - viewHolder.status_message = (TextView) view.findViewById(R.id.status_message); - break; - default: - viewHolder = null; - break; - } - view.setTag(viewHolder); - } else { - viewHolder = (ViewHolder) view.getTag(); - if (viewHolder == null) { - return view; - } - } + ViewHolder viewHolder; + if (null == view) { + viewHolder = initializeViewHolderAndView(message, type, parent); + view = viewHolder.view; + } else { + viewHolder = (ViewHolder) view.getTag(); + if (null == viewHolder) { + return view; + } + } + Logging.d("MessageAdapter", "Received: " + (type == RECEIVED) + ", SENT: " + (type == SENT) + ", Status: " + (type == STATUS) + ", /me: " + (type == ME_COMMAND)); - boolean darkBackground = (type == RECEIVED && !isInValidSession); if (type == STATUS) { viewHolder.status_message.setVisibility(View.VISIBLE); @@ -542,41 +618,13 @@ public class MessageAdapter extends ArrayAdapter<Message> { } viewHolder.status_message.setText(message.getBody()); return view; - } else { - if (message.getConversation().getMode() == Conversation.MODE_MULTI) { - loadAvatar(message, viewHolder.contact_picture); + } + this.displayAvatar(message, type, viewHolder); - viewHolder.contact_picture - .setOnClickListener(new OnClickListener() { + boolean darkBackground = (type == RECEIVED && !isInValidSession); - @Override - public void onClick(View v) { - if (MessageAdapter.this.mOnContactPictureClickedListener != null) { - MessageAdapter.this.mOnContactPictureClickedListener - .onContactPictureClicked(message); - } - - } - }); - viewHolder.contact_picture - .setOnLongClickListener(new OnLongClickListener() { - - @Override - public boolean onLongClick(View v) { - if (MessageAdapter.this.mOnContactPictureLongClickedListener != null) { - MessageAdapter.this.mOnContactPictureLongClickedListener - .onContactPictureLongClicked(message); - return true; - } else { - return false; - } - } - }); - } else { - viewHolder.contact_picture.setVisibility(View.GONE); - } - } + this.displayStatus(viewHolder, message, type, darkBackground); final Transferable transferable = message.getTransferable(); if (transferable != null && transferable.getStatus() != Transferable.STATUS_UPLOADING) { @@ -649,8 +697,6 @@ public class MessageAdapter extends ArrayAdapter<Message> { } } - displayStatus(viewHolder, message, type, darkBackground); - return view; } @@ -718,7 +764,10 @@ public class MessageAdapter extends ArrayAdapter<Message> { } private static class ViewHolder { - + protected ViewHolder(View view) { + this.view = view; + } + protected View view; protected LinearLayout message_box; protected Button download_button; protected ImageView image; @@ -756,26 +805,6 @@ public class MessageAdapter extends ArrayAdapter<Message> { } } - public void loadAvatar(Message message, ImageView imageView) { - if (cancelPotentialWork(message, imageView)) { - final Bitmap bm = AvatarService.getInstance().get(message, activity.getPixel(48), true); - if (bm != null) { - imageView.setImageBitmap(bm); - imageView.setBackgroundColor(0x00000000); - } else { - imageView.setBackgroundColor(UIHelper.getColorForName(UIHelper.getMessageDisplayName(message))); - imageView.setImageDrawable(null); - final BitmapWorkerTask task = new BitmapWorkerTask(imageView); - final AsyncDrawable asyncDrawable = new AsyncDrawable(activity.getResources(), null, task); - imageView.setImageDrawable(asyncDrawable); - try { - task.execute(message); - } catch (final RejectedExecutionException ignored) { - } - } - } - } - public static boolean cancelPotentialWork(Message message, ImageView imageView) { final BitmapWorkerTask bitmapWorkerTask = getBitmapWorkerTask(imageView); diff --git a/src/main/res/drawable/mecmd_message_border.xml b/src/main/res/drawable/mecmd_message_border.xml new file mode 100644 index 00000000..990d0288 --- /dev/null +++ b/src/main/res/drawable/mecmd_message_border.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle" > + + <corners android:radius="2dp" /> + + <padding + android:bottom="1.5dp" + android:left="1.5dp" + android:right="1.5dp" + android:top="1.5dp" /> + + <solid android:color="@color/black12" /> + +</shape>
\ No newline at end of file diff --git a/src/main/res/layout/fragment_conversations_overview.xml b/src/main/res/layout/fragment_conversations_overview.xml index 6563dc2b..2fe182bb 100644 --- a/src/main/res/layout/fragment_conversations_overview.xml +++ b/src/main/res/layout/fragment_conversations_overview.xml @@ -69,7 +69,7 @@ </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> - <androidok.support.design.widget.FloatingActionButton + <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="@dimen/avatar_size" android:layout_height="@dimen/avatar_size" diff --git a/src/main/res/layout/message_mecmd.xml b/src/main/res/layout/message_mecmd.xml new file mode 100644 index 00000000..4074c5ba --- /dev/null +++ b/src/main/res/layout/message_mecmd.xml @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:paddingBottom="3dp" + android:paddingLeft="8dp" + android:paddingRight="8dp" + android:paddingTop="3dp"> + + <LinearLayout + android:id="@+id/message_box" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_alignParentLeft="true" + android:background="@drawable/mecmd_message_border" + android:minHeight="53dp" + android:longClickable="true"> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="@color/grey50" + android:gravity="center_vertical" + android:orientation="vertical" + android:paddingBottom="4dp" + android:paddingLeft="5dp" + android:paddingRight="5dp" + android:paddingTop="4dp" > + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + <com.makeramen.roundedimageview.RoundedImageView + android:id="@+id/message_photo" + android:layout_width="@dimen/msg_mecmd_avatar_size" + android:layout_height="@dimen/msg_mecmd_avatar_size" + android:layout_alignParentLeft="true" + android:layout_alignParentTop="true" + android:layout_marginRight="-1.5dp" + android:padding="0dp" + android:scaleType="fitXY" + android:src="@drawable/ic_profile" + app:riv_corner_radius="1dp"/> + + <github.ankushsachdeva.emojicon.EmojiconTextView + android:id="@+id/message_body" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/message_photo" + android:layout_marginLeft="8dp" + android:autoLink="web|phone|email" + android:textColor="@color/black87" + android:textSize="?attr/TextSizeBody" + app:emojiconSize="?attr/EmojiconSizeBody" + android:text=""/> + </RelativeLayout> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="right" + android:orientation="horizontal" + android:paddingTop="1dp" > + + <TextView + android:id="@+id/message_time" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="center_vertical" + android:text="@string/sending" + android:textColor="@color/black54" + android:textSize="?attr/TextSizeInfo" /> + + <TextView + android:id="@+id/message_encryption" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="center_vertical" + android:layout_marginRight="4sp" + android:textColor="@color/white70" + android:textStyle="bold" + android:textSize="?attr/TextSizeInfo" /> + + <ImageView + android:id="@+id/security_indicator" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="4sp" + android:alpha="0.54" + android:gravity="center_vertical" + android:src="@drawable/ic_lock_black_18dp" /> + + <ImageView + android:id="@+id/indicator_received" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="4sp" + android:alpha="0.54" + android:gravity="center_vertical" + android:src="@drawable/ic_received_indicator" /> + </LinearLayout> + </LinearLayout> + </LinearLayout> +</RelativeLayout>
\ No newline at end of file diff --git a/src/main/res/layout/message_received.xml b/src/main/res/layout/message_received.xml index d331b3ef..4a51ba59 100644 --- a/src/main/res/layout/message_received.xml +++ b/src/main/res/layout/message_received.xml @@ -11,13 +11,14 @@ <com.makeramen.roundedimageview.RoundedImageView android:id="@+id/message_photo" - android:layout_width="48dp" - android:layout_height="48dp" + android:layout_width="@dimen/msg_avatar_size" + android:layout_height="@dimen/msg_avatar_size" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:scaleType="fitXY" android:src="@drawable/ic_profile" - app:riv_corner_radius="2dp" /> + app:riv_corner_radius="2dp" + android:visibility="gone" /> <LinearLayout android:id="@+id/message_box" @@ -29,7 +30,8 @@ android:minHeight="53dp" android:layout_marginTop="-2dp" android:layout_marginRight="-4dp" - android:longClickable="true"> + android:longClickable="true" + android:visibility="gone"> <LinearLayout android:layout_width="wrap_content" diff --git a/src/main/res/layout/message_sent.xml b/src/main/res/layout/message_sent.xml index 0edbab51..887ae1b8 100644 --- a/src/main/res/layout/message_sent.xml +++ b/src/main/res/layout/message_sent.xml @@ -31,7 +31,8 @@ android:background="@drawable/message_bubble_sent" android:minHeight="53dp" android:layout_marginLeft="-4dp" - android:longClickable="true"> + android:longClickable="true" + android:visibility="gone"> <LinearLayout android:layout_width="wrap_content" @@ -106,4 +107,76 @@ </LinearLayout> </LinearLayout> + <LinearLayout + android:id="@+id/mecmd_message_box" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_alignParentLeft="true" + android:background="@drawable/mecmd_message_border" + android:minHeight="53dp" + android:longClickable="true" + android:visibility="gone"> + + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="@color/grey50" + android:gravity="center_vertical" + android:orientation="vertical" + android:paddingBottom="4dp" + android:paddingLeft="5dp" + android:paddingRight="5dp" + android:paddingTop="4dp" > + + <github.ankushsachdeva.emojicon.EmojiconTextView + android:id="@+id/mecmd_message_body" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:autoLink="web|phone|email" + android:textColor="@color/black87" + android:textSize="?attr/TextSizeBody" + app:emojiconSize="?attr/EmojiconSizeBody" /> + + <LinearLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="right" + android:orientation="horizontal" + android:paddingTop="1dp" > + + <TextView + android:id="@+id/mecmd_message_time" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical" + android:gravity="center_vertical" + android:text="@string/sending" + android:textColor="@color/black54" + android:textSize="?attr/TextSizeInfo" /> + + <ImageView + android:id="@+id/mecmd_security_indicator" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="4sp" + android:alpha="0.54" + android:gravity="center_vertical" + android:src="@drawable/ic_lock_black_18dp" /> + + <ImageView + android:id="@+id/mecmd_indicator_received" + android:layout_width="?attr/TextSizeInfo" + android:layout_height="?attr/TextSizeInfo" + android:layout_gravity="center_vertical" + android:layout_marginLeft="4sp" + android:alpha="0.54" + android:gravity="center_vertical" + android:src="@drawable/ic_received_indicator" /> + </LinearLayout> + </LinearLayout> + </LinearLayout> + </RelativeLayout>
\ No newline at end of file diff --git a/src/main/res/layout/message_status.xml b/src/main/res/layout/message_status.xml index aa02e154..4c1dbbc3 100644 --- a/src/main/res/layout/message_status.xml +++ b/src/main/res/layout/message_status.xml @@ -11,8 +11,8 @@ <com.makeramen.roundedimageview.RoundedImageView android:id="@+id/message_photo" - android:layout_width="32dp" - android:layout_height="32dp" + android:layout_width="@dimen/msg_status_avatar_size" + android:layout_height="@dimen/msg_status_avatar_size" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginRight="-1.5dp" diff --git a/src/main/res/values/dimens.xml b/src/main/res/values/dimens.xml index 0f934089..94ea6a62 100644 --- a/src/main/res/values/dimens.xml +++ b/src/main/res/values/dimens.xml @@ -12,4 +12,7 @@ <dimen name="action_bar_title_text_size">18dp</dimen> <!-- redefinition here, because no access to original from android --> <dimen name="avatar_size">56dp</dimen> <dimen name="design_fab_image_size">@dimen/avatar_size</dimen> + <dimen name="msg_mecmd_avatar_size">24dp</dimen> + <dimen name="msg_avatar_size">48dp</dimen> + <dimen name="msg_status_avatar_size">32dp</dimen> </resources> |