diff options
author | Raphael Pohl <eiszfuchs@eiszblu.me> | 2015-07-19 14:26:03 +0200 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2015-07-20 16:02:17 +0200 |
commit | e6cb12dfe414497b4317820497985c110cb81864 (patch) | |
tree | 65605439fef6305bcb48dcf0b62ecf7eaebde707 /src | |
parent | 504ef0b72ebd951e3f3f493435fb96713a2b4efe (diff) |
changed message bubble appearance
Diffstat (limited to 'src')
26 files changed, 89 insertions, 71 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 08e0f2989..679fb3558 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -81,15 +81,31 @@ public class MessageAdapter extends ArrayAdapter<Message> { return 3; } - @Override - public int getItemViewType(int position) { - if (getItem(position).getType() == Message.TYPE_STATUS) { + public int getItemViewType(Message message) { + if (message.getType() == Message.TYPE_STATUS) { return STATUS; - } else if (getItem(position).getStatus() <= Message.STATUS_RECEIVED) { + } else if (message.getStatus() <= Message.STATUS_RECEIVED) { return RECEIVED; - } else { - return SENT; } + + return SENT; + } + + @Override + public int getItemViewType(int position) { + return this.getItemViewType(getItem(position)); + } + + private int getMessageTextColor(Message message) { + int type = this.getItemViewType(message); + + if (type == SENT) { + return activity.getResources().getColor(R.color.black87); + } else if (type == RECEIVED) { + return activity.getResources().getColor(R.color.white); + } + + return activity.getPrimaryTextColor(); } private void displayStatus(ViewHolder viewHolder, Message message) { @@ -150,7 +166,7 @@ public class MessageAdapter extends ArrayAdapter<Message> { if (error) { viewHolder.time.setTextColor(activity.getWarningTextColor()); } else { - viewHolder.time.setTextColor(activity.getSecondaryTextColor()); + viewHolder.time.setTextColor(this.getMessageTextColor(message)); } if (message.getEncryption() == Message.ENCRYPTION_NONE) { viewHolder.indicator.setVisibility(View.GONE); @@ -294,7 +310,7 @@ public class MessageAdapter extends ArrayAdapter<Message> { } else { viewHolder.messageBody.setText(""); } - viewHolder.messageBody.setTextColor(activity.getPrimaryTextColor()); + viewHolder.messageBody.setTextColor(this.getMessageTextColor(message)); viewHolder.messageBody.setTypeface(null, Typeface.NORMAL); viewHolder.messageBody.setTextIsSelectable(true); } @@ -363,8 +379,9 @@ public class MessageAdapter extends ArrayAdapter<Message> { scalledW = (int) target; scalledH = (int) (params.height / ((double) params.width / target)); } - viewHolder.image.setLayoutParams(new LinearLayout.LayoutParams( - scalledW, scalledH)); + LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(scalledW, scalledH); + layoutParams.setMargins(0, (int)(metrics.density * 4), 0, (int)(metrics.density * 4)); + viewHolder.image.setLayoutParams(layoutParams); activity.loadBitmap(message, viewHolder.image); viewHolder.image.setOnClickListener(new OnClickListener() { diff --git a/src/main/res/drawable-hdpi/ic_secure_indicator.png b/src/main/res/drawable-hdpi/ic_secure_indicator.png Binary files differindex 2a2934fb1..220463fc7 100644 --- a/src/main/res/drawable-hdpi/ic_secure_indicator.png +++ b/src/main/res/drawable-hdpi/ic_secure_indicator.png diff --git a/src/main/res/drawable-hdpi/ic_secure_indicator_white.png b/src/main/res/drawable-hdpi/ic_secure_indicator_white.png Binary files differnew file mode 100644 index 000000000..46eb1195b --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_secure_indicator_white.png diff --git a/src/main/res/drawable-hdpi/message_bubble_received.9.png b/src/main/res/drawable-hdpi/message_bubble_received.9.png Binary files differnew file mode 100644 index 000000000..eb44a1b6d --- /dev/null +++ b/src/main/res/drawable-hdpi/message_bubble_received.9.png diff --git a/src/main/res/drawable-hdpi/message_bubble_sent.9.png b/src/main/res/drawable-hdpi/message_bubble_sent.9.png Binary files differnew file mode 100644 index 000000000..9daa36bd1 --- /dev/null +++ b/src/main/res/drawable-hdpi/message_bubble_sent.9.png diff --git a/src/main/res/drawable-mdpi/ic_secure_indicator.png b/src/main/res/drawable-mdpi/ic_secure_indicator.png Binary files differindex 5a73aef4b..690d4d03d 100644 --- a/src/main/res/drawable-mdpi/ic_secure_indicator.png +++ b/src/main/res/drawable-mdpi/ic_secure_indicator.png diff --git a/src/main/res/drawable-mdpi/ic_secure_indicator_white.png b/src/main/res/drawable-mdpi/ic_secure_indicator_white.png Binary files differnew file mode 100644 index 000000000..e2f894ef4 --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_secure_indicator_white.png diff --git a/src/main/res/drawable-mdpi/message_bubble_received.9.png b/src/main/res/drawable-mdpi/message_bubble_received.9.png Binary files differnew file mode 100644 index 000000000..3b4eee56e --- /dev/null +++ b/src/main/res/drawable-mdpi/message_bubble_received.9.png diff --git a/src/main/res/drawable-mdpi/message_bubble_sent.9.png b/src/main/res/drawable-mdpi/message_bubble_sent.9.png Binary files differnew file mode 100644 index 000000000..74fb8d41a --- /dev/null +++ b/src/main/res/drawable-mdpi/message_bubble_sent.9.png diff --git a/src/main/res/drawable-xhdpi/ic_secure_indicator.png b/src/main/res/drawable-xhdpi/ic_secure_indicator.png Binary files differindex 1f4c9a32e..cd0d1391a 100644 --- a/src/main/res/drawable-xhdpi/ic_secure_indicator.png +++ b/src/main/res/drawable-xhdpi/ic_secure_indicator.png diff --git a/src/main/res/drawable-xhdpi/ic_secure_indicator_white.png b/src/main/res/drawable-xhdpi/ic_secure_indicator_white.png Binary files differnew file mode 100644 index 000000000..b624a8ce6 --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_secure_indicator_white.png diff --git a/src/main/res/drawable-xhdpi/message_bubble_received.9.png b/src/main/res/drawable-xhdpi/message_bubble_received.9.png Binary files differnew file mode 100644 index 000000000..0f5f1ac6e --- /dev/null +++ b/src/main/res/drawable-xhdpi/message_bubble_received.9.png diff --git a/src/main/res/drawable-xhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xhdpi/message_bubble_sent.9.png Binary files differnew file mode 100644 index 000000000..7939f213f --- /dev/null +++ b/src/main/res/drawable-xhdpi/message_bubble_sent.9.png diff --git a/src/main/res/drawable-xxhdpi/ic_secure_indicator.png b/src/main/res/drawable-xxhdpi/ic_secure_indicator.png Binary files differindex 1ee9b67dc..6a74ccbef 100644 --- a/src/main/res/drawable-xxhdpi/ic_secure_indicator.png +++ b/src/main/res/drawable-xxhdpi/ic_secure_indicator.png diff --git a/src/main/res/drawable-xxhdpi/ic_secure_indicator_white.png b/src/main/res/drawable-xxhdpi/ic_secure_indicator_white.png Binary files differnew file mode 100644 index 000000000..4945c9595 --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_secure_indicator_white.png diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received.9.png Binary files differnew file mode 100644 index 000000000..c47974c5f --- /dev/null +++ b/src/main/res/drawable-xxhdpi/message_bubble_received.9.png diff --git a/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png Binary files differnew file mode 100644 index 000000000..2117c187b --- /dev/null +++ b/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png Binary files differnew file mode 100644 index 000000000..5e65d062f --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png Binary files differnew file mode 100644 index 000000000..3d7ddbddf --- /dev/null +++ b/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png diff --git a/src/main/res/drawable/message_border.xml b/src/main/res/drawable/account_image_border.xml index 990d02886..990d02886 100644 --- a/src/main/res/drawable/message_border.xml +++ b/src/main/res/drawable/account_image_border.xml diff --git a/src/main/res/layout/activity_publish_profile_picture.xml b/src/main/res/layout/activity_publish_profile_picture.xml index 4b2497458..3b249a665 100644 --- a/src/main/res/layout/activity_publish_profile_picture.xml +++ b/src/main/res/layout/activity_publish_profile_picture.xml @@ -12,7 +12,7 @@ android:layout_centerHorizontal="true" android:layout_marginBottom="8dp" android:layout_marginTop="24dp" - android:background="@drawable/message_border" > + android:background="@drawable/account_image_border" > <ImageView android:id="@+id/account_image" diff --git a/src/main/res/layout/fragment_conversation.xml b/src/main/res/layout/fragment_conversation.xml index d0ac6ba7c..09d0573b9 100644 --- a/src/main/res/layout/fragment_conversation.xml +++ b/src/main/res/layout/fragment_conversation.xml @@ -18,7 +18,10 @@ android:listSelector="@android:color/transparent" android:stackFromBottom="true" android:transcriptMode="normal" - tools:listitem="@layout/message_sent" > + android:paddingTop="@dimen/activity_horizontal_margin" + android:paddingBottom="@dimen/activity_horizontal_margin" + android:clipToPadding="false" + tools:listitem="@layout/message_sent"> </ListView> <RelativeLayout diff --git a/src/main/res/layout/message_received.xml b/src/main/res/layout/message_received.xml index 44531b374..785e5b969 100644 --- a/src/main/res/layout/message_received.xml +++ b/src/main/res/layout/message_received.xml @@ -3,10 +3,21 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="4dp" - android:paddingLeft="8dp" - android:paddingRight="8dp" - android:paddingTop="4dp" > + android:paddingBottom="0dp" + android:paddingLeft="@dimen/activity_vertical_margin" + android:paddingRight="4dp" + android:paddingTop="0dp"> + + <ImageView + android:id="@+id/message_photo" + android:layout_width="36dp" + android:layout_height="38dp" + android:paddingTop="2dp" + android:layout_alignParentLeft="true" + android:layout_alignParentTop="true" + android:layout_marginRight="@dimen/message_profile_image_gap" + android:scaleType="fitXY" + android:src="@drawable/ic_profile" /> <LinearLayout android:id="@+id/message_box" @@ -14,28 +25,24 @@ android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toRightOf="@+id/message_photo" - android:background="@drawable/message_border" + android:background="@drawable/message_bubble_received" android:minHeight="48dp" android:longClickable="true"> <LinearLayout android:layout_width="wrap_content" 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" > + android:orientation="vertical"> <ImageView android:id="@+id/message_image" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:layout_marginBottom="4dp" android:adjustViewBounds="true" android:background="@color/black87" - android:paddingBottom="2dp" android:scaleType="centerCrop" /> <TextView @@ -43,7 +50,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web" - android:textColor="@color/black87" + android:textColorLink="@color/white" + android:textColor="@color/white" android:textSize="?attr/TextSizeBody" /> <Button @@ -56,8 +64,9 @@ <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="left" android:orientation="horizontal" - android:paddingTop="1dp" > + android:paddingBottom="2dp"> <ImageView android:id="@+id/security_indicator" @@ -65,9 +74,9 @@ android:layout_height="?attr/TextSizeInfo" android:layout_gravity="center_vertical" android:layout_marginRight="4sp" - android:alpha="0.54" + android:alpha="0.70" android:gravity="center_vertical" - android:src="@drawable/ic_secure_indicator" /> + android:src="@drawable/ic_secure_indicator_white" /> <TextView android:id="@+id/message_time" @@ -76,21 +85,11 @@ android:layout_gravity="center_vertical" android:gravity="center_vertical" android:text="@string/sending" - android:textColor="@color/black54" + android:textColor="@color/white70" + android:alpha="0.70" android:textSize="?attr/TextSizeInfo" /> </LinearLayout> </LinearLayout> </LinearLayout> - <ImageView - android:id="@+id/message_photo" - android:layout_width="48dp" - android:layout_height="48dp" - android:layout_alignParentLeft="true" - android:layout_alignParentTop="true" - android:layout_marginRight="-1.5dp" - android:padding="0dp" - android:scaleType="fitXY" - android:src="@drawable/ic_profile" /> - </RelativeLayout>
\ No newline at end of file diff --git a/src/main/res/layout/message_sent.xml b/src/main/res/layout/message_sent.xml index f8365ad3f..15969d825 100644 --- a/src/main/res/layout/message_sent.xml +++ b/src/main/res/layout/message_sent.xml @@ -3,10 +3,21 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="4dp" - android:paddingLeft="8dp" - android:paddingRight="8dp" - android:paddingTop="4dp" > + android:paddingBottom="0dp" + android:paddingLeft="4dp" + android:paddingRight="@dimen/activity_vertical_margin" + android:paddingTop="0dp"> + + <ImageView + android:id="@+id/message_photo" + android:layout_width="36dp" + android:layout_height="40dp" + android:paddingBottom="4dp" + android:layout_alignParentBottom="true" + android:layout_alignParentRight="true" + android:layout_marginLeft="@dimen/message_profile_image_gap" + android:scaleType="fitXY" + android:src="@drawable/ic_profile" /> <LinearLayout android:id="@+id/message_box" @@ -14,28 +25,24 @@ android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toLeftOf="@+id/message_photo" - android:background="@drawable/message_border" + android:background="@drawable/message_bubble_sent" android:minHeight="48dp" android:longClickable="true"> <LinearLayout android:layout_width="wrap_content" 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" > + android:orientation="vertical"> <ImageView android:id="@+id/message_image" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="8dp" + android:layout_marginBottom="4dp" android:adjustViewBounds="true" android:background="@color/black87" - android:paddingBottom="2dp" android:scaleType="centerCrop" /> <TextView @@ -43,10 +50,11 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web" + android:textColorLink="@color/black87" android:textColor="@color/black87" android:textSize="?attr/TextSizeBody" /> - - <Button + + <Button android:id="@+id/download_button" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" @@ -58,7 +66,7 @@ android:layout_height="wrap_content" android:layout_gravity="right" android:orientation="horizontal" - android:paddingTop="1dp" > + android:paddingBottom="2dp"> <TextView android:id="@+id/message_time" @@ -68,6 +76,7 @@ android:gravity="center_vertical" android:text="@string/sending" android:textColor="@color/black54" + android:alpha="0.54" android:textSize="?attr/TextSizeInfo" /> <ImageView @@ -93,15 +102,4 @@ </LinearLayout> </LinearLayout> - <ImageView - android:id="@+id/message_photo" - android:layout_width="48dp" - android:layout_height="48dp" - android:layout_alignParentBottom="true" - android:layout_alignParentRight="true" - android:layout_marginLeft="-1.5dp" - android:padding="0dp" - android:scaleType="fitXY" - android:src="@drawable/ic_profile" /> - </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 2816f475c..99a09527d 100644 --- a/src/main/res/layout/message_status.xml +++ b/src/main/res/layout/message_status.xml @@ -3,15 +3,15 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="6dp" + android:paddingBottom="2dp" android:paddingLeft="8dp" - android:paddingRight="6dp" - android:paddingTop="6dp" > + android:paddingRight="8dp" + android:paddingTop="2dp" > <ImageView android:id="@+id/message_photo" - android:layout_width="32dp" - android:layout_height="32dp" + android:layout_width="24dp" + android:layout_height="24dp" 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 95e800557..0e5dbf0f8 100644 --- a/src/main/res/values/dimens.xml +++ b/src/main/res/values/dimens.xml @@ -5,4 +5,5 @@ <dimen name="infocard_padding">16dp</dimen> <dimen name="conversations_overview_width">288dp</dimen> <dimen name="image_button_padding">8dp</dimen> + <dimen name="message_profile_image_gap">0dp</dimen> </resources> |