diff --git a/art/message_bubble_received.svg b/art/message_bubble_received.svg index 61f2e54dc..b8563e195 100644 --- a/art/message_bubble_received.svg +++ b/art/message_bubble_received.svg @@ -10,7 +10,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="36" - height="26" + height="24" id="svg2" version="1.1" inkscape:version="0.48.5 r10040" @@ -90,11 +90,11 @@ opacity="0.03137255" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_received_grey.svg b/art/message_bubble_received_grey.svg index e1d8347fc..eb053a429 100644 --- a/art/message_bubble_received_grey.svg +++ b/art/message_bubble_received_grey.svg @@ -10,7 +10,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="36" - height="26" + height="24" id="svg2" version="1.1" inkscape:version="0.91 r13725" @@ -90,11 +90,11 @@ opacity="0.03137255" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_received_non_first.svg b/art/message_bubble_received_non_first.svg new file mode 100644 index 000000000..6f5bfdb15 --- /dev/null +++ b/art/message_bubble_received_non_first.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_received_warning.svg b/art/message_bubble_received_warning.svg index 765ca7041..a2759b494 100644 --- a/art/message_bubble_received_warning.svg +++ b/art/message_bubble_received_warning.svg @@ -10,7 +10,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="36" - height="26" + height="24" id="svg2" version="1.1" inkscape:version="0.48.5 r10040" @@ -90,11 +90,11 @@ opacity="0.03137255" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_received_white.svg b/art/message_bubble_received_white.svg index 52e599f05..c7f95cae3 100644 --- a/art/message_bubble_received_white.svg +++ b/art/message_bubble_received_white.svg @@ -10,7 +10,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="36" - height="26" + height="24" id="svg2" version="1.1" inkscape:version="0.48.5 r10040" @@ -90,11 +90,11 @@ opacity="0.03137255" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_sent.svg b/art/message_bubble_sent.svg index 90ad5091a..8d2634f68 100644 --- a/art/message_bubble_sent.svg +++ b/art/message_bubble_sent.svg @@ -10,7 +10,7 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="36" - height="26" + height="24" id="svg2" version="1.1" inkscape:version="0.48.5 r10040" @@ -90,11 +90,11 @@ opacity="0.03137255" /> + orientation="0,1" + position="0,10" + id="guide3074" /> + orientation="0,1" + position="0,8" + id="guide3076" /> @@ -151,10 +151,10 @@ + orientation="1,0" + position="12,24" + id="guide3146" /> + orientation="1,0" + position="16,24" + id="guide3148" /> + orientation="0,1" + position="36,22" + id="guide3150" /> + orientation="0,1" + position="36,6" + id="guide3152" /> + orientation="1,0" + position="18,0" + id="guide3154" /> + orientation="1,0" + position="10,0" + id="guide3160" /> + orientation="0,1" + position="0,10" + id="guide3074" /> + orientation="0,1" + position="0,8" + id="guide3076" /> @@ -151,11 +151,11 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/art/message_bubble_sent_non_first.svg b/art/message_bubble_sent_non_first.svg new file mode 100644 index 000000000..cd0ee534f --- /dev/null +++ b/art/message_bubble_sent_non_first.svg @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/art/render.rb b/art/render.rb index 59cd7b156..5f3588b64 100755 --- a/art/render.rb +++ b/art/render.rb @@ -71,12 +71,19 @@ images = { 'ic_verified_fingerprint.svg' => ['ic_verified_fingerprint', 36], 'qrcode-scan.svg' => ['ic_qr_code_scan_white_24dp', 24], 'message_bubble_received.svg' => ['message_bubble_received.9', 0], + 'message_bubble_received_non_first.svg' => ['message_bubble_received_non_first.9', 0], 'message_bubble_received_grey.svg' => ['message_bubble_received_grey.9', 0], + 'message_bubble_received_grey_non_first.svg' => ['message_bubble_received_grey_non_first.9', 0], 'message_bubble_received_dark.svg' => ['message_bubble_received_dark.9', 0], + 'message_bubble_received_dark_non_first.svg' => ['message_bubble_received_dark_non_first.9', 0], 'message_bubble_received_warning.svg' => ['message_bubble_received_warning.9', 0], + 'message_bubble_received_warning_non_first.svg' => ['message_bubble_received_warning_non_first.9', 0], 'message_bubble_received_white.svg' => ['message_bubble_received_white.9', 0], + 'message_bubble_received_white_non_first.svg' => ['message_bubble_received_white_non_first.9', 0], 'message_bubble_sent.svg' => ['message_bubble_sent.9', 0], + 'message_bubble_sent_non_first.svg' => ['message_bubble_sent_non_first.9', 0], 'message_bubble_sent_grey.svg' => ['message_bubble_sent_grey.9', 0], + 'message_bubble_sent_grey_non_first.svg' => ['message_bubble_send_grey_non_first.9', 0], 'date_bubble_white.svg' => ['date_bubble_white.9', 0], 'date_bubble_grey.svg' => ['date_bubble_grey.9', 0], 'marker.svg' => ['marker', 0] @@ -112,9 +119,9 @@ images.each do |source_filename, settings| output_parts = output_filename.split('/') path = if output_parts.count != 2 - "../src/main/res/drawable-#{resolution}/#{output_filename}.png" + "/Users/kaleksashin/Documents/Conversations/src/main/res/drawable-#{resolution}/#{output_filename}.png" else - "../src/#{output_parts[0]}/res/drawable-#{resolution}/#{output_parts[1]}.png" + "/Users/kaleksashin/Documents/Conversations/src/#{output_parts[0]}/res/drawable-#{resolution}/#{output_parts[1]}.png" end execute_cmd "#{inkscape} #{source_filename} -C -w #{width.to_i} -h #{height.to_i} --export-filename=#{path}" diff --git a/src/conversations/res/drawable-hdpi/ic_notification.png b/src/conversations/res/drawable-hdpi/ic_notification.png index 32325e5f7..0d4f42f12 100644 Binary files a/src/conversations/res/drawable-hdpi/ic_notification.png and b/src/conversations/res/drawable-hdpi/ic_notification.png differ diff --git a/src/conversations/res/drawable-hdpi/main_logo.png b/src/conversations/res/drawable-hdpi/main_logo.png index 42d553dd7..61dd1642a 100644 Binary files a/src/conversations/res/drawable-hdpi/main_logo.png and b/src/conversations/res/drawable-hdpi/main_logo.png differ diff --git a/src/conversations/res/drawable-hdpi/splash_logo.png b/src/conversations/res/drawable-hdpi/splash_logo.png index d8efc71af..d20a15fe4 100644 Binary files a/src/conversations/res/drawable-hdpi/splash_logo.png and b/src/conversations/res/drawable-hdpi/splash_logo.png differ diff --git a/src/conversations/res/drawable-mdpi/ic_notification.png b/src/conversations/res/drawable-mdpi/ic_notification.png index 379720e94..6e9aaeee3 100644 Binary files a/src/conversations/res/drawable-mdpi/ic_notification.png and b/src/conversations/res/drawable-mdpi/ic_notification.png differ diff --git a/src/conversations/res/drawable-mdpi/main_logo.png b/src/conversations/res/drawable-mdpi/main_logo.png index d81b73638..5d8fa61ae 100644 Binary files a/src/conversations/res/drawable-mdpi/main_logo.png and b/src/conversations/res/drawable-mdpi/main_logo.png differ diff --git a/src/conversations/res/drawable-mdpi/splash_logo.png b/src/conversations/res/drawable-mdpi/splash_logo.png index 1b10d1f91..d369e3ae6 100644 Binary files a/src/conversations/res/drawable-mdpi/splash_logo.png and b/src/conversations/res/drawable-mdpi/splash_logo.png differ diff --git a/src/conversations/res/drawable-xhdpi/ic_notification.png b/src/conversations/res/drawable-xhdpi/ic_notification.png index e14da5dc6..0497abdb2 100644 Binary files a/src/conversations/res/drawable-xhdpi/ic_notification.png and b/src/conversations/res/drawable-xhdpi/ic_notification.png differ diff --git a/src/conversations/res/drawable-xhdpi/main_logo.png b/src/conversations/res/drawable-xhdpi/main_logo.png index 19fbe70b8..3b8a5ee94 100644 Binary files a/src/conversations/res/drawable-xhdpi/main_logo.png and b/src/conversations/res/drawable-xhdpi/main_logo.png differ diff --git a/src/conversations/res/drawable-xhdpi/splash_logo.png b/src/conversations/res/drawable-xhdpi/splash_logo.png index 9458b791c..9ffb277be 100644 Binary files a/src/conversations/res/drawable-xhdpi/splash_logo.png and b/src/conversations/res/drawable-xhdpi/splash_logo.png differ diff --git a/src/conversations/res/drawable-xxhdpi/ic_notification.png b/src/conversations/res/drawable-xxhdpi/ic_notification.png index 6adbc8f64..9e59b6a0a 100644 Binary files a/src/conversations/res/drawable-xxhdpi/ic_notification.png and b/src/conversations/res/drawable-xxhdpi/ic_notification.png differ diff --git a/src/conversations/res/drawable-xxhdpi/main_logo.png b/src/conversations/res/drawable-xxhdpi/main_logo.png index cc091c437..2ad3c41d9 100644 Binary files a/src/conversations/res/drawable-xxhdpi/main_logo.png and b/src/conversations/res/drawable-xxhdpi/main_logo.png differ diff --git a/src/conversations/res/drawable-xxhdpi/splash_logo.png b/src/conversations/res/drawable-xxhdpi/splash_logo.png index 83c2abe6a..df97d9b7b 100644 Binary files a/src/conversations/res/drawable-xxhdpi/splash_logo.png and b/src/conversations/res/drawable-xxhdpi/splash_logo.png differ diff --git a/src/conversations/res/drawable-xxxhdpi/ic_notification.png b/src/conversations/res/drawable-xxxhdpi/ic_notification.png index 65d106b8c..ed864641b 100644 Binary files a/src/conversations/res/drawable-xxxhdpi/ic_notification.png and b/src/conversations/res/drawable-xxxhdpi/ic_notification.png differ diff --git a/src/conversations/res/drawable-xxxhdpi/main_logo.png b/src/conversations/res/drawable-xxxhdpi/main_logo.png index 3e6ddd877..18672afb7 100644 Binary files a/src/conversations/res/drawable-xxxhdpi/main_logo.png and b/src/conversations/res/drawable-xxxhdpi/main_logo.png differ diff --git a/src/conversations/res/drawable-xxxhdpi/splash_logo.png b/src/conversations/res/drawable-xxxhdpi/splash_logo.png index 349070ba2..172d51ef3 100644 Binary files a/src/conversations/res/drawable-xxxhdpi/splash_logo.png and b/src/conversations/res/drawable-xxxhdpi/splash_logo.png differ diff --git a/src/main/.DS_Store b/src/main/.DS_Store new file mode 100644 index 000000000..1870410e0 Binary files /dev/null and b/src/main/.DS_Store differ diff --git a/src/main/java/eu/siacs/conversations/Config.java b/src/main/java/eu/siacs/conversations/Config.java index 812f6ae10..7bc7ec65f 100644 --- a/src/main/java/eu/siacs/conversations/Config.java +++ b/src/main/java/eu/siacs/conversations/Config.java @@ -91,7 +91,7 @@ public final class Config { public static final Bitmap.CompressFormat IMAGE_FORMAT = Bitmap.CompressFormat.JPEG; public static final int IMAGE_QUALITY = 75; - public static final int MESSAGE_MERGE_WINDOW = 20; + public static final int MESSAGE_MERGE_WINDOW = 30; public static final int PAGE_SIZE = 50; public static final int MAX_NUM_PAGES = 3; diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java index 8bb65cc0f..c5debaa32 100644 --- a/src/main/java/eu/siacs/conversations/entities/Conversation.java +++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java @@ -464,11 +464,6 @@ public class Conversation extends AbstractEntity implements Blockable, Comparabl messages.clear(); messages.addAll(this.messages); } - for (Iterator iterator = messages.iterator(); iterator.hasNext(); ) { - if (iterator.next().wasMergedIntoPrevious()) { - iterator.remove(); - } - } } @Override diff --git a/src/main/java/eu/siacs/conversations/entities/Message.java b/src/main/java/eu/siacs/conversations/entities/Message.java index e50ffc73c..98156d946 100644 --- a/src/main/java/eu/siacs/conversations/entities/Message.java +++ b/src/main/java/eu/siacs/conversations/entities/Message.java @@ -639,7 +639,7 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable this.getCounterpart() != null && this.getCounterpart().equals(message.getCounterpart()) && this.edited() == message.edited() && - (message.getTimeSent() - this.getTimeSent()) <= (Config.MESSAGE_MERGE_WINDOW * 1000) && + Math.abs(message.getTimeSent() - this.getTimeSent()) <= (Config.MESSAGE_MERGE_WINDOW * 1000) && this.getBody().length() + message.getBody().length() <= Config.MAX_DISPLAY_MESSAGE_CHARS && !message.isGeoUri() && !this.isGeoUri() && @@ -703,39 +703,14 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable public static class MergeSeparator { } - public SpannableStringBuilder getMergedBody() { - SpannableStringBuilder body = new SpannableStringBuilder(MessageUtils.filterLtrRtl(this.body).trim()); - Message current = this; - while (current.mergeable(current.next())) { - current = current.next(); - if (current == null) { - break; - } - body.append("\n\n"); - body.setSpan(new MergeSeparator(), body.length() - 2, body.length(), - SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE); - body.append(MessageUtils.filterLtrRtl(current.getBody()).trim()); - } - return body; + public SpannableStringBuilder getBodyForDisplaying() { + return new SpannableStringBuilder(MessageUtils.filterLtrRtl(this.body).trim()); } public boolean hasMeCommand() { return this.body.trim().startsWith(ME_COMMAND); } - public int getMergedStatus() { - int status = this.status; - Message current = this; - while (current.mergeable(current.next())) { - current = current.next(); - if (current == null) { - break; - } - status = current.status; - } - return status; - } - public long getMergedTimeSent() { long time = this.timeSent; Message current = this; @@ -749,9 +724,17 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable return time; } - public boolean wasMergedIntoPrevious() { - Message prev = this.prev(); - return prev != null && prev.mergeable(this); + public int getMergedStatus() { + int status = this.status; + Message current = this; + while (current.mergeable(current.next())) { + current = current.next(); + if (current == null) { + break; + } + status = current.status; + } + return status; } public boolean trusted() { diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java index ebbbef4c4..649df5dfb 100644 --- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java +++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java @@ -4609,21 +4609,9 @@ public class XmppConnectionService extends Service { } public void resendFailedMessages(final Message message) { - final Collection messages = new ArrayList<>(); - Message current = message; - while (current.getStatus() == Message.STATUS_SEND_FAILED) { - messages.add(current); - if (current.mergeable(current.next())) { - current = current.next(); - } else { - break; - } - } - for (final Message msg : messages) { - msg.setTime(System.currentTimeMillis()); - markMessage(msg, Message.STATUS_WAITING); - this.resendMessage(msg, false); - } + message.setTime(System.currentTimeMillis()); + markMessage(message, Message.STATUS_WAITING); + this.resendMessage(message, false); if (message.getConversation() instanceof Conversation) { ((Conversation) message.getConversation()).sort(); } diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 11348b6b7..76965dde3 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -30,6 +30,7 @@ import android.provider.MediaStore; import android.text.Editable; import android.text.TextUtils; import android.util.Log; +import android.view.ActionMode; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Gravity; @@ -70,6 +71,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -123,7 +125,6 @@ import eu.siacs.conversations.utils.Compatibility; import eu.siacs.conversations.utils.GeoHelper; import eu.siacs.conversations.utils.MessageUtils; import eu.siacs.conversations.utils.NickValidityChecker; -import eu.siacs.conversations.utils.Patterns; import eu.siacs.conversations.utils.PermissionUtils; import eu.siacs.conversations.utils.QuickLoader; import eu.siacs.conversations.utils.StylingHelper; @@ -192,6 +193,8 @@ public class ConversationFragment extends XmppFragment private Toast messageLoaderToast; private ConversationsActivity activity; private boolean reInitRequiredOnStart = true; + + private ActionMode selectionActionMode; private final OnClickListener clickToMuc = new OnClickListener() { @@ -412,6 +415,7 @@ public class ConversationFragment extends XmppFragment } }; private Message selectedMessage; + private ArrayList selectedMessages = new ArrayList<>(); private final OnClickListener mEnableAccountListener = new OnClickListener() { @Override @@ -562,6 +566,72 @@ public class ConversationFragment extends XmppFragment } } }; + + private ActionMode.Callback actionModeCallback = new ActionMode.Callback() { + @Override + public boolean onCreateActionMode(ActionMode mode, Menu menu) { + mode.getMenuInflater().inflate(R.menu.message_select_context, menu); + + unregisterForContextMenu(binding.messagesView); + + selectionActionMode = mode; + + return true; + } + + @Override + public boolean onPrepareActionMode(ActionMode mode, Menu menu) { + return false; + } + + @Override + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + Collections.sort(selectedMessages, (o1, o2) -> Long.compare(o1.getTimeSent(), o2.getMergedTimeSent())); + + if (item.getItemId() == R.id.copy_message) { + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < selectedMessages.size(); i++) { + Message m = selectedMessages.get(i); + final boolean encrypted = + m.getEncryption() == Message.ENCRYPTION_DECRYPTION_FAILED + || m.getEncryption() == Message.ENCRYPTION_PGP; + + final boolean unInitiatedButKnownSize = MessageUtils.unInitiatedButKnownSize(m); + + final Transferable t = m.getTransferable(); + + if (!encrypted + && !unInitiatedButKnownSize + && t == null) { + sb.append(m.getBodyForDisplaying()); + + if (i < selectedMessages.size() - 1) { + sb.append("\n\n"); + } + } + } + + ShareUtil.copyToClipboard(activity, sb); + } else if (item.getItemId() == R.id.share_message) { + ShareUtil.share(activity, selectedMessages); + } + + if (selectionActionMode != null) { + selectionActionMode.finish(); + } + return true; + } + + @Override + public void onDestroyActionMode(ActionMode mode) { + selectionActionMode = null; + registerForContextMenu(binding.messagesView); + selectedMessages.clear(); + messageListAdapter.notifyDataSetChanged(); + } + }; + private int completionIndex = 0; private int lastCompletionLength = 0; private String incomplete; @@ -688,14 +758,6 @@ public class ConversationFragment extends XmppFragment for (int i = 0; i < messages.size(); ++i) { if (uuid.equals(messages.get(i).getUuid())) { return i; - } else { - Message next = messages.get(i); - while (next != null && next.wasMergedIntoPrevious()) { - if (uuid.equals(next.getUuid())) { - return i; - } - next = next.next(); - } } } return -1; @@ -1225,6 +1287,33 @@ public class ConversationFragment extends XmppFragment messageListAdapter = new MessageAdapter((XmppActivity) getActivity(), this.messageList); messageListAdapter.setOnContactPictureClicked(this); messageListAdapter.setOnContactPictureLongClicked(this); + MessageAdapter.MessageEmptyPartClickListener messageClickListener = new MessageAdapter.MessageEmptyPartClickListener() { + @Override + public void onMessageEmptyPartClick(Message message) { + if (selectionActionMode != null) { + toggleMessageSelection(message); + } + } + + @Override + public void onMessageEmptyPartLongClick(Message message) { + toggleMessageSelection(message); + } + }; + + MessageAdapter.SelectionStatusProvider provider = new MessageAdapter.SelectionStatusProvider() { + @Override + public boolean isSelected(Message message) { + return selectedMessages.contains(message); + } + + @Override + public boolean isSomethingSelected() { + return !selectedMessages.isEmpty(); + } + }; + messageListAdapter.setMessageEmptyPartLongClickListener(messageClickListener); + messageListAdapter.setSelectionStatusProvider(provider); binding.messagesView.setAdapter(messageListAdapter); registerForContextMenu(binding.messagesView); @@ -1278,10 +1367,6 @@ public class ConversationFragment extends XmppFragment private void populateContextMenu(ContextMenu menu) { final Message m = this.selectedMessage; final Transferable t = m.getTransferable(); - Message relevantForCorrection = m; - while (relevantForCorrection.mergeable(relevantForCorrection.next())) { - relevantForCorrection = relevantForCorrection.next(); - } if (m.getType() != Message.TYPE_STATUS && m.getType() != Message.TYPE_RTP_SESSION) { if (m.getEncryption() == Message.ENCRYPTION_AXOLOTL_NOT_FOR_THIS_DEVICE @@ -1319,6 +1404,7 @@ public class ConversationFragment extends XmppFragment MenuItem cancelTransmission = menu.findItem(R.id.cancel_transmission); MenuItem deleteFile = menu.findItem(R.id.delete_file); MenuItem showErrorMessage = menu.findItem(R.id.show_error_message); + MenuItem selectMessage = menu.findItem(R.id.select_message); final boolean unInitiatedButKnownSize = MessageUtils.unInitiatedButKnownSize(m); final boolean showError = m.getStatus() == Message.STATUS_SEND_FAILED @@ -1332,7 +1418,7 @@ public class ConversationFragment extends XmppFragment && t == null) { copyMessage.setVisible(true); quoteMessage.setVisible(!showError && MessageUtils.prepareQuote(m).length() > 0); - final String scheme = ShareUtil.getLinkScheme(m.getMergedBody()); + final String scheme = ShareUtil.getLinkScheme(m.getBodyForDisplaying()); if ("xmpp".equals(scheme)) { copyLink.setTitle(R.string.copy_jabber_id); copyLink.setVisible(true); @@ -1344,9 +1430,9 @@ public class ConversationFragment extends XmppFragment retryDecryption.setVisible(true); } if (!showError - && relevantForCorrection.getType() == Message.TYPE_TEXT + && m.getType() == Message.TYPE_TEXT && !m.isGeoUri() - && relevantForCorrection.isLastCorrectableMessage() + && m.isLastCorrectableMessage() && m.getConversation() instanceof Conversation) { correctMessage.setVisible(true); } @@ -1402,6 +1488,8 @@ public class ConversationFragment extends XmppFragment || (mime != null && mime.startsWith("audio/"))) { openWith.setVisible(true); } + + selectMessage.setVisible(true); } } @@ -1444,6 +1532,9 @@ public class ConversationFragment extends XmppFragment case R.id.show_error_message: showErrorMessage(selectedMessage); return true; + case R.id.select_message: + toggleMessageSelection(selectedMessage); + return true; case R.id.open_with: openWith(selectedMessage); return true; @@ -2085,9 +2176,6 @@ public class ConversationFragment extends XmppFragment } } if (message != null) { - while (message.next() != null && message.next().wasMergedIntoPrevious()) { - message = message.next(); - } return message.getUuid(); } } @@ -2105,6 +2193,26 @@ public class ConversationFragment extends XmppFragment } } + private void toggleMessageSelection(final Message message) { + if (selectionActionMode == null) { + activity.startActionMode(actionModeCallback); + } + + if (selectedMessages.contains(message)) { + selectedMessages.remove(message); + } else { + selectedMessages.add(message); + } + + if (selectedMessages.size() == 0) { + selectionActionMode.finish(); + } else { + selectionActionMode.setTitle(selectedMessages.size() + ""); + } + + this.messageListAdapter.notifyDataSetChanged(); + } + private void showErrorMessage(final Message message) { AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity()); builder.setTitle(R.string.error_message); @@ -2232,9 +2340,6 @@ public class ConversationFragment extends XmppFragment } private void correctMessage(Message message) { - while (message.mergeable(message.next())) { - message = message.next(); - } this.conversation.setCorrectingMessage(message); final Editable editable = binding.textinput.getText(); this.conversation.setDraftMessage(editable.toString()); @@ -2790,6 +2895,13 @@ public class ConversationFragment extends XmppFragment binding.unreadCountCustomView.setUnreadCount( conversation.getReceivedMessagesCountSinceUuid(lastMessageUuid)); } + + for (Message message : selectedMessages) { + if (!messageList.contains(message)) { + selectedMessages.remove(message); + } + } + this.messageListAdapter.notifyDataSetChanged(); updateChatMsgHint(); if (notifyConversationRead && activity != null) { @@ -3463,6 +3575,11 @@ public class ConversationFragment extends XmppFragment @Override public void onContactPictureLongClicked(View v, final Message message) { + if (selectionActionMode != null) { + toggleMessageSelection(message); + return; + } + final String fingerprint; if (message.getEncryption() == Message.ENCRYPTION_PGP || message.getEncryption() == Message.ENCRYPTION_DECRYPTED) { @@ -3549,6 +3666,11 @@ public class ConversationFragment extends XmppFragment @Override public void onContactPictureClicked(Message message) { + if (selectionActionMode != null) { + toggleMessageSelection(message); + return; + } + String fingerprint; if (message.getEncryption() == Message.ENCRYPTION_PGP || message.getEncryption() == Message.ENCRYPTION_DECRYPTED) { 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 c33f3fa07..61ab538ac 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -5,6 +5,8 @@ import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; +import android.content.res.Resources; +import android.graphics.Outline; import android.graphics.Typeface; import android.os.Build; import android.preference.PreferenceManager; @@ -18,6 +20,7 @@ import android.text.style.StyleSpan; import android.util.DisplayMetrics; import android.view.View; import android.view.ViewGroup; +import android.view.ViewOutlineProvider; import android.view.WindowManager; import android.widget.ArrayAdapter; import android.widget.Button; @@ -61,6 +64,7 @@ import eu.siacs.conversations.ui.text.QuoteSpan; import eu.siacs.conversations.ui.util.AvatarWorkerTask; import eu.siacs.conversations.ui.util.MyLinkify; import eu.siacs.conversations.ui.util.QuoteHelper; +import eu.siacs.conversations.ui.util.StyledAttributes; import eu.siacs.conversations.ui.util.ViewUtil; import eu.siacs.conversations.ui.widget.ClickableMovementMethod; import eu.siacs.conversations.utils.CryptoHelper; @@ -87,9 +91,12 @@ public class MessageAdapter extends ArrayAdapter { private final DisplayMetrics metrics; private OnContactPictureClicked mOnContactPictureClickedListener; private OnContactPictureLongClicked mOnContactPictureLongClickedListener; + private MessageEmptyPartClickListener messageEmptyPartClickListener; + private SelectionStatusProvider selectionStatusProvider; private boolean mUseGreenBackground = false; private final boolean mForceNames; + public MessageAdapter(final XmppActivity activity, final List messages, final boolean forceNames) { super(activity, 0, messages); this.audioPlayer = new AudioPlayer(this); @@ -103,6 +110,28 @@ public class MessageAdapter extends ArrayAdapter { this(activity, messages, false); } + @Override + public boolean areAllItemsEnabled() { + return false; + } + + @Override + public boolean isEnabled(int position) { + boolean enabled; + + switch (getItemViewType(position)) { + case SENT: + case RECEIVED: + enabled = true; + break; + default: + enabled = false; + } + + return enabled; + } + + private static void resetClickListener(View... views) { for (View view : views) { view.setOnClickListener(null); @@ -134,6 +163,17 @@ public class MessageAdapter extends ArrayAdapter { this.mOnContactPictureLongClickedListener = listener; } + public void setMessageEmptyPartLongClickListener( + MessageEmptyPartClickListener listener) { + this.messageEmptyPartClickListener = listener; + } + + public void setSelectionStatusProvider( + SelectionStatusProvider provider) { + this.selectionStatusProvider = provider; + } + + @Override public int getViewTypeCount() { return 5; @@ -431,7 +471,7 @@ public class MessageAdapter extends ArrayAdapter { if (message.getBody() != null) { final String nick = UIHelper.getMessageDisplayName(message); - SpannableStringBuilder body = message.getMergedBody(); + SpannableStringBuilder body = message.getBodyForDisplaying(); boolean hasMeCommand = message.hasMeCommand(); if (hasMeCommand) { body = body.replace(0, Message.ME_COMMAND.length(), nick + " "); @@ -621,21 +661,26 @@ public class MessageAdapter extends ArrayAdapter { ViewHolder viewHolder; if (view == null) { viewHolder = new ViewHolder(); + switch (type) { case DATE_SEPARATOR: view = activity.getLayoutInflater().inflate(R.layout.message_date_bubble, parent, false); + viewHolder.root = view; viewHolder.status_message = view.findViewById(R.id.message_body); viewHolder.message_box = view.findViewById(R.id.message_box); viewHolder.indicatorReceived = view.findViewById(R.id.indicator_received); break; case RTP_SESSION: view = activity.getLayoutInflater().inflate(R.layout.message_rtp_session, parent, false); + viewHolder.root = view; viewHolder.status_message = view.findViewById(R.id.message_body); viewHolder.message_box = view.findViewById(R.id.message_box); viewHolder.indicatorReceived = view.findViewById(R.id.indicator_received); break; case SENT: view = activity.getLayoutInflater().inflate(R.layout.message_sent, parent, false); + viewHolder.clicksInterceptor = view.findViewById(R.id.clicks_interceptor); + viewHolder.root = view; viewHolder.message_box = view.findViewById(R.id.message_box); viewHolder.contact_picture = view.findViewById(R.id.message_photo); viewHolder.download_button = view.findViewById(R.id.download_button); @@ -649,6 +694,8 @@ public class MessageAdapter extends ArrayAdapter { break; case RECEIVED: view = activity.getLayoutInflater().inflate(R.layout.message_received, parent, false); + viewHolder.clicksInterceptor = view.findViewById(R.id.clicks_interceptor); + viewHolder.root = view; viewHolder.message_box = view.findViewById(R.id.message_box); viewHolder.contact_picture = view.findViewById(R.id.message_photo); viewHolder.download_button = view.findViewById(R.id.download_button); @@ -663,6 +710,7 @@ public class MessageAdapter extends ArrayAdapter { break; case STATUS: view = activity.getLayoutInflater().inflate(R.layout.message_status, parent, false); + viewHolder.root = view; viewHolder.contact_picture = view.findViewById(R.id.message_photo); viewHolder.status_message = view.findViewById(R.id.status_message); viewHolder.load_more_messages = view.findViewById(R.id.load_more_messages); @@ -748,6 +796,26 @@ public class MessageAdapter extends ArrayAdapter { resetClickListener(viewHolder.message_box, viewHolder.messageBody); + View.OnLongClickListener messageItemLongClickListener = v -> { + if (messageEmptyPartClickListener != null) { + messageEmptyPartClickListener.onMessageEmptyPartLongClick(message); + } + + return messageEmptyPartClickListener != null; + }; + + View.OnClickListener messageItemClickListener = v -> { + if (messageEmptyPartClickListener != null) { + messageEmptyPartClickListener.onMessageEmptyPartClick(message); + } + }; + + viewHolder.root.setOnLongClickListener(messageItemLongClickListener); + viewHolder.root.setOnClickListener(messageItemClickListener); + + viewHolder.clicksInterceptor.setOnClickListener(messageItemClickListener); + viewHolder.clicksInterceptor.setOnLongClickListener(messageItemLongClickListener); + viewHolder.contact_picture.setOnClickListener(v -> { if (MessageAdapter.this.mOnContactPictureClickedListener != null) { MessageAdapter.this.mOnContactPictureClickedListener @@ -765,6 +833,15 @@ public class MessageAdapter extends ArrayAdapter { } }); + viewHolder.clicksInterceptor.setVisibility( + (selectionStatusProvider != null && selectionStatusProvider.isSomethingSelected()) + ? View.VISIBLE : View.GONE); + if (selectionStatusProvider == null || !selectionStatusProvider.isSelected(message)) { + viewHolder.root.setBackground(null); + } else { + viewHolder.root.setBackgroundColor(StyledAttributes.getColor(view.getContext(), R.attr.color_message_selection)); + } + final Transferable transferable = message.getTransferable(); final boolean unInitiatedButKnownSize = MessageUtils.unInitiatedButKnownSize(message); if (unInitiatedButKnownSize || message.isDeleted() || (transferable != null && transferable.getStatus() != Transferable.STATUS_UPLOADING)) { @@ -827,18 +904,33 @@ public class MessageAdapter extends ArrayAdapter { } } + boolean mergeableWithPrev = message.mergeable(message.prev()); + boolean mergeableWithNext = message.mergeable(message.next()); + if (type == RECEIVED) { if (isInValidSession) { int bubble; if (!mUseGreenBackground) { - bubble = activity.getThemeResource(R.attr.message_bubble_received_monochrome, R.drawable.message_bubble_received_white); + if (mergeableWithPrev) { + bubble = activity.getThemeResource(R.attr.message_bubble_received_monochrome_non_first, R.drawable.message_bubble_received_white_non_first); + } else { + bubble = activity.getThemeResource(R.attr.message_bubble_received_monochrome, R.drawable.message_bubble_received_white); + } } else { - bubble = activity.getThemeResource(R.attr.message_bubble_received_green, R.drawable.message_bubble_received); + if (mergeableWithPrev) { + bubble = activity.getThemeResource(R.attr.message_bubble_received_green_non_first, R.drawable.message_bubble_received_white_non_first); + } else { + bubble = activity.getThemeResource(R.attr.message_bubble_received_green, R.drawable.message_bubble_received); + } } viewHolder.message_box.setBackgroundResource(bubble); viewHolder.encryption.setVisibility(View.GONE); } else { - viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_warning); + if (mergeableWithPrev) { + viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_warning_non_first); + } else { + viewHolder.message_box.setBackgroundResource(R.drawable.message_bubble_received_warning); + } viewHolder.encryption.setVisibility(View.VISIBLE); if (omemoEncryption && !message.isTrusted()) { viewHolder.encryption.setText(R.string.not_trusted); @@ -848,11 +940,49 @@ public class MessageAdapter extends ArrayAdapter { } } + if (type == SENT) { + int bubble; + if (mergeableWithPrev) { + bubble = activity.getThemeResource(R.attr.message_bubble_sent_non_first, R.drawable.message_bubble_sent_non_first); + } else { + bubble = activity.getThemeResource(R.attr.message_bubble_sent, R.drawable.message_bubble_sent); + } + + viewHolder.message_box.setBackgroundResource(bubble); + } + displayStatus(viewHolder, message, type, darkBackground); + if (viewHolder.contact_picture != null) + viewHolder.contact_picture.setVisibility(mergeableWithPrev ? View.INVISIBLE : View.VISIBLE); + if (viewHolder.edit_indicator != null) + viewHolder.edit_indicator.setVisibility(mergeableWithNext ? View.GONE : viewHolder.edit_indicator.getVisibility()); + if (viewHolder.encryption != null) + viewHolder.encryption.setVisibility(mergeableWithNext ? View.GONE : viewHolder.encryption.getVisibility()); + if (viewHolder.indicator != null) + viewHolder.indicator.setVisibility(mergeableWithNext ? View.GONE : viewHolder.indicator.getVisibility()); + // if (viewHolder.time != null) + // viewHolder.time.setVisibility(mergeableWithNext ? View.GONE : View.VISIBLE); + if (viewHolder.indicatorReceived != null) + viewHolder.indicatorReceived.setVisibility(mergeableWithNext ? View.GONE : viewHolder.indicatorReceived.getVisibility()); + + if (mergeableWithPrev && mergeableWithNext) { + view.setPadding(view.getPaddingLeft(), 0, view.getPaddingRight(), 0); + } else if (mergeableWithPrev) { + view.setPadding(view.getPaddingLeft(), 0, view.getPaddingRight(), dpToPx(4)); + } else if (mergeableWithNext) { + view.setPadding(view.getPaddingLeft(), dpToPx(4), view.getPaddingRight(), 0); + } else { + view.setPadding(view.getPaddingLeft(), dpToPx(4), view.getPaddingRight(), dpToPx(4)); + } + return view; } + private static int dpToPx(int dp) { + return (int) (dp * Resources.getSystem().getDisplayMetrics().density); + } + private void promptOpenKeychainInstall(View view) { activity.showInstallPgpDialog(); } @@ -911,7 +1041,18 @@ public class MessageAdapter extends ArrayAdapter { void onContactPictureLongClicked(View v, Message message); } + public interface MessageEmptyPartClickListener { + void onMessageEmptyPartClick(Message message); + void onMessageEmptyPartLongClick(Message message); + } + + public interface SelectionStatusProvider { + boolean isSelected(Message message); + boolean isSomethingSelected(); + } + private static class ViewHolder { + public View root; public Button load_more_messages; public ImageView edit_indicator; @@ -926,5 +1067,7 @@ public class MessageAdapter extends ArrayAdapter { protected ImageView contact_picture; protected TextView status_message; protected TextView encryption; + + protected View clicksInterceptor; } } diff --git a/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java b/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java index 007575307..3462ffb92 100644 --- a/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java +++ b/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java @@ -35,6 +35,10 @@ import android.net.Uri; import android.text.SpannableStringBuilder; import android.widget.Toast; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + import eu.siacs.conversations.R; import eu.siacs.conversations.entities.DownloadableFile; import eu.siacs.conversations.entities.Message; @@ -53,7 +57,7 @@ public class ShareUtil { shareIntent.putExtra(Intent.EXTRA_TEXT, message.getBody()); shareIntent.setType("text/plain"); } else if (!message.isFileOrImage()) { - shareIntent.putExtra(Intent.EXTRA_TEXT, message.getMergedBody().toString()); + shareIntent.putExtra(Intent.EXTRA_TEXT, message.getBodyForDisplaying().toString()); shareIntent.setType("text/plain"); shareIntent.putExtra(ConversationsActivity.EXTRA_AS_QUOTE, message.getStatus() == Message.STATUS_RECEIVED); } else { @@ -79,8 +83,78 @@ public class ShareUtil { } } + public static void share(XmppActivity activity, List messages) { + Intent shareIntent = new Intent(); + shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); + + ArrayList files = new ArrayList<>(); + File firstFile = null; + String firstFileMimeType = ""; + for (Message m : messages) { + if (m.isFileOrImage()) { + final DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(m); + if (firstFile == null) { + firstFile = file; + firstFileMimeType = m.getMimeType(); + } + files.add(FileBackend.getUriForFile(activity, file)); + } + } + + try { + shareIntent.putExtra(Intent.EXTRA_STREAM, files); + } catch (SecurityException e) { + String filePath = ""; + if (firstFile != null) { + filePath = firstFile.getAbsolutePath(); + } + + Toast.makeText(activity, activity.getString(R.string.no_permission_to_access_x, filePath), Toast.LENGTH_SHORT).show(); + return; + } + shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + String mime = firstFileMimeType; + if (mime == null || files.size() > 1) { + mime = "*/*"; + } + shareIntent.setType(mime); + + + StringBuilder sb = new StringBuilder(); + for (Message m : messages) { + if (sb.length() != 0) { + sb.append("\n\n"); + } + + if (m.isGeoUri()) { + sb.append(m.getBody()); + } else if (!m.isFileOrImage()) { + sb.append(m.getBodyForDisplaying()); + } + } + + shareIntent.putExtra(Intent.EXTRA_TEXT, sb.toString()); + + if (files.isEmpty()) { + shareIntent.setType("text/plain"); + } + + try { + activity.startActivity(Intent.createChooser(shareIntent, activity.getText(R.string.share_with))); + } catch (ActivityNotFoundException e) { + //This should happen only on faulty androids because normally chooser is always available + Toast.makeText(activity, R.string.no_application_found_to_open_file, Toast.LENGTH_SHORT).show(); + } + } + public static void copyToClipboard(XmppActivity activity, Message message) { - if (activity.copyTextToClipboard(message.getMergedBody().toString(), R.string.message)) { + if (activity.copyTextToClipboard(message.getBodyForDisplaying().toString(), R.string.message)) { + Toast.makeText(activity, R.string.message_copied_to_clipboard, Toast.LENGTH_SHORT).show(); + } + } + + public static void copyToClipboard(XmppActivity activity, StringBuilder sb) { + if (activity.copyTextToClipboard(sb.toString(), R.string.message)) { Toast.makeText(activity, R.string.message_copied_to_clipboard, Toast.LENGTH_SHORT).show(); } } @@ -105,7 +179,7 @@ public class ShareUtil { } public static void copyLinkToClipboard(final XmppActivity activity, final Message message) { - final SpannableStringBuilder body = message.getMergedBody(); + final SpannableStringBuilder body = message.getBodyForDisplaying(); for (final String url : MyLinkify.extractLinks(body)) { final Uri uri = Uri.parse(url); if ("xmpp".equals(uri.getScheme())) { diff --git a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java index 1ac9d2c7d..cd9681054 100644 --- a/src/main/java/eu/siacs/conversations/utils/MessageUtils.java +++ b/src/main/java/eu/siacs/conversations/utils/MessageUtils.java @@ -63,7 +63,7 @@ public class MessageUtils { } body = nick + " " + message.getBody().substring(Message.ME_COMMAND.length()); } else { - body = message.getMergedBody().toString(); + body = message.getBodyForDisplaying().toString(); } for (String line : body.split("\n")) { if (!(line.length() <= 0) && QuoteHelper.isNestedTooDeeply(line)) { diff --git a/src/main/res/drawable-hdpi/date_bubble_grey.9.png b/src/main/res/drawable-hdpi/date_bubble_grey.9.png index 6236855a2..25c223739 100644 Binary files a/src/main/res/drawable-hdpi/date_bubble_grey.9.png and b/src/main/res/drawable-hdpi/date_bubble_grey.9.png differ diff --git a/src/main/res/drawable-hdpi/date_bubble_white.9.png b/src/main/res/drawable-hdpi/date_bubble_white.9.png index fbeac6493..c2ba87f81 100644 Binary files a/src/main/res/drawable-hdpi/date_bubble_white.9.png and b/src/main/res/drawable-hdpi/date_bubble_white.9.png differ diff --git a/src/main/res/drawable-hdpi/ic_flip_camera_android_black_24dp.png b/src/main/res/drawable-hdpi/ic_flip_camera_android_black_24dp.png index 3e0e64d7b..28b089a88 100644 Binary files a/src/main/res/drawable-hdpi/ic_flip_camera_android_black_24dp.png and b/src/main/res/drawable-hdpi/ic_flip_camera_android_black_24dp.png differ diff --git a/src/main/res/drawable-hdpi/ic_no_results_background_black.png b/src/main/res/drawable-hdpi/ic_no_results_background_black.png index 79f226833..21e224665 100644 Binary files a/src/main/res/drawable-hdpi/ic_no_results_background_black.png and b/src/main/res/drawable-hdpi/ic_no_results_background_black.png differ diff --git a/src/main/res/drawable-hdpi/ic_no_results_background_white.png b/src/main/res/drawable-hdpi/ic_no_results_background_white.png index aebc5886a..a225de851 100644 Binary files a/src/main/res/drawable-hdpi/ic_no_results_background_white.png and b/src/main/res/drawable-hdpi/ic_no_results_background_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_notifications_none_white80.png b/src/main/res/drawable-hdpi/ic_notifications_none_white80.png index 469c7e893..d7f3a499f 100644 Binary files a/src/main/res/drawable-hdpi/ic_notifications_none_white80.png and b/src/main/res/drawable-hdpi/ic_notifications_none_white80.png differ diff --git a/src/main/res/drawable-hdpi/ic_notifications_off_white80.png b/src/main/res/drawable-hdpi/ic_notifications_off_white80.png index f4e93c549..95705666f 100644 Binary files a/src/main/res/drawable-hdpi/ic_notifications_off_white80.png and b/src/main/res/drawable-hdpi/ic_notifications_off_white80.png differ diff --git a/src/main/res/drawable-hdpi/ic_notifications_paused_white80.png b/src/main/res/drawable-hdpi/ic_notifications_paused_white80.png index ee7b60ad6..f9e8736c5 100644 Binary files a/src/main/res/drawable-hdpi/ic_notifications_paused_white80.png and b/src/main/res/drawable-hdpi/ic_notifications_paused_white80.png differ diff --git a/src/main/res/drawable-hdpi/ic_notifications_white80.png b/src/main/res/drawable-hdpi/ic_notifications_white80.png index 6ababb707..71582466f 100644 Binary files a/src/main/res/drawable-hdpi/ic_notifications_white80.png and b/src/main/res/drawable-hdpi/ic_notifications_white80.png differ diff --git a/src/main/res/drawable-hdpi/ic_qr_code_scan_white_24dp.png b/src/main/res/drawable-hdpi/ic_qr_code_scan_white_24dp.png index 688d6643a..dddc93dd9 100644 Binary files a/src/main/res/drawable-hdpi/ic_qr_code_scan_white_24dp.png and b/src/main/res/drawable-hdpi/ic_qr_code_scan_white_24dp.png differ diff --git a/src/main/res/drawable-hdpi/ic_search_background_black.png b/src/main/res/drawable-hdpi/ic_search_background_black.png index f3d154295..d299740d9 100644 Binary files a/src/main/res/drawable-hdpi/ic_search_background_black.png and b/src/main/res/drawable-hdpi/ic_search_background_black.png differ diff --git a/src/main/res/drawable-hdpi/ic_search_background_white.png b/src/main/res/drawable-hdpi/ic_search_background_white.png index d12f12442..fb06d3977 100644 Binary files a/src/main/res/drawable-hdpi/ic_search_background_white.png and b/src/main/res/drawable-hdpi/ic_search_background_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_cancel_away.png b/src/main/res/drawable-hdpi/ic_send_cancel_away.png index 868877e50..2b409f803 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_cancel_away.png and b/src/main/res/drawable-hdpi/ic_send_cancel_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_cancel_dnd.png b/src/main/res/drawable-hdpi/ic_send_cancel_dnd.png index a9c06eab5..0a9dd538f 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_cancel_dnd.png and b/src/main/res/drawable-hdpi/ic_send_cancel_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_cancel_offline.png b/src/main/res/drawable-hdpi/ic_send_cancel_offline.png index b55fc5628..1cb4ffb33 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_cancel_offline.png and b/src/main/res/drawable-hdpi/ic_send_cancel_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_cancel_offline_white.png b/src/main/res/drawable-hdpi/ic_send_cancel_offline_white.png index 90079107d..8c2aa5b7d 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_cancel_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_cancel_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_cancel_online.png b/src/main/res/drawable-hdpi/ic_send_cancel_online.png index 61d71135b..ce2590db4 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_cancel_online.png and b/src/main/res/drawable-hdpi/ic_send_cancel_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_location_away.png b/src/main/res/drawable-hdpi/ic_send_location_away.png index aaf0a34a3..c22b8b5d1 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_location_away.png and b/src/main/res/drawable-hdpi/ic_send_location_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_location_dnd.png b/src/main/res/drawable-hdpi/ic_send_location_dnd.png index aa34d6fa1..aade77839 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_location_dnd.png and b/src/main/res/drawable-hdpi/ic_send_location_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_location_offline.png b/src/main/res/drawable-hdpi/ic_send_location_offline.png index 4894941b6..08bd5b2d8 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_location_offline.png and b/src/main/res/drawable-hdpi/ic_send_location_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_location_offline_white.png b/src/main/res/drawable-hdpi/ic_send_location_offline_white.png index 877445846..b67386e73 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_location_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_location_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_location_online.png b/src/main/res/drawable-hdpi/ic_send_location_online.png index 0682bd262..5e0482397 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_location_online.png and b/src/main/res/drawable-hdpi/ic_send_location_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_photo_away.png b/src/main/res/drawable-hdpi/ic_send_photo_away.png index 90edc7c76..1aa6d39aa 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_photo_away.png and b/src/main/res/drawable-hdpi/ic_send_photo_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_photo_dnd.png b/src/main/res/drawable-hdpi/ic_send_photo_dnd.png index ee18dde1e..84f747ffa 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_photo_dnd.png and b/src/main/res/drawable-hdpi/ic_send_photo_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_photo_offline.png b/src/main/res/drawable-hdpi/ic_send_photo_offline.png index 3f9400440..ae65374cb 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_photo_offline.png and b/src/main/res/drawable-hdpi/ic_send_photo_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_photo_offline_white.png b/src/main/res/drawable-hdpi/ic_send_photo_offline_white.png index 8a99473b6..6b5246665 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_photo_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_photo_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_photo_online.png b/src/main/res/drawable-hdpi/ic_send_photo_online.png index f76d675cc..8b5dd60f0 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_photo_online.png and b/src/main/res/drawable-hdpi/ic_send_photo_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_picture_away.png b/src/main/res/drawable-hdpi/ic_send_picture_away.png index 196c81c1f..bf9eb9ce4 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_picture_away.png and b/src/main/res/drawable-hdpi/ic_send_picture_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_picture_dnd.png b/src/main/res/drawable-hdpi/ic_send_picture_dnd.png index fbc681633..00009b1f4 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_picture_dnd.png and b/src/main/res/drawable-hdpi/ic_send_picture_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_picture_offline.png b/src/main/res/drawable-hdpi/ic_send_picture_offline.png index 2953b9e60..e5f6fac99 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_picture_offline.png and b/src/main/res/drawable-hdpi/ic_send_picture_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_picture_offline_white.png b/src/main/res/drawable-hdpi/ic_send_picture_offline_white.png index ed40a993b..217f652e8 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_picture_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_picture_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_picture_online.png b/src/main/res/drawable-hdpi/ic_send_picture_online.png index 4284428fb..f46ebaecd 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_picture_online.png and b/src/main/res/drawable-hdpi/ic_send_picture_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_text_away.png b/src/main/res/drawable-hdpi/ic_send_text_away.png index 845479083..05b35969b 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_text_away.png and b/src/main/res/drawable-hdpi/ic_send_text_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_text_dnd.png b/src/main/res/drawable-hdpi/ic_send_text_dnd.png index e89920fe5..810d3e010 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_text_dnd.png and b/src/main/res/drawable-hdpi/ic_send_text_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_text_offline.png b/src/main/res/drawable-hdpi/ic_send_text_offline.png index 99271085d..2dc1fc5ce 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_text_offline.png and b/src/main/res/drawable-hdpi/ic_send_text_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_text_offline_white.png b/src/main/res/drawable-hdpi/ic_send_text_offline_white.png index affebb108..b186d55a8 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_text_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_text_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_text_online.png b/src/main/res/drawable-hdpi/ic_send_text_online.png index 6f293f8d2..2fd710cf4 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_text_online.png and b/src/main/res/drawable-hdpi/ic_send_text_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_away.png b/src/main/res/drawable-hdpi/ic_send_videocam_away.png index c4f3dbdf5..b8bae6479 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_videocam_away.png and b/src/main/res/drawable-hdpi/ic_send_videocam_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png index 9a1060012..6c61e5616 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png and b/src/main/res/drawable-hdpi/ic_send_videocam_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_offline.png b/src/main/res/drawable-hdpi/ic_send_videocam_offline.png index ae5a88fd5..ce34e5b57 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_videocam_offline.png and b/src/main/res/drawable-hdpi/ic_send_videocam_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png index aeab525bf..12eb537f9 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_videocam_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_videocam_online.png b/src/main/res/drawable-hdpi/ic_send_videocam_online.png index 43ff34670..66ce4c7d4 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_videocam_online.png and b/src/main/res/drawable-hdpi/ic_send_videocam_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_voice_away.png b/src/main/res/drawable-hdpi/ic_send_voice_away.png index 682a91250..11dec5a01 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_voice_away.png and b/src/main/res/drawable-hdpi/ic_send_voice_away.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_voice_dnd.png b/src/main/res/drawable-hdpi/ic_send_voice_dnd.png index 8c21755de..4233a9975 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_voice_dnd.png and b/src/main/res/drawable-hdpi/ic_send_voice_dnd.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_voice_offline.png b/src/main/res/drawable-hdpi/ic_send_voice_offline.png index d22077f42..33be46d11 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_voice_offline.png and b/src/main/res/drawable-hdpi/ic_send_voice_offline.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_voice_offline_white.png b/src/main/res/drawable-hdpi/ic_send_voice_offline_white.png index 3f96bf41d..3f60e98b6 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_voice_offline_white.png and b/src/main/res/drawable-hdpi/ic_send_voice_offline_white.png differ diff --git a/src/main/res/drawable-hdpi/ic_send_voice_online.png b/src/main/res/drawable-hdpi/ic_send_voice_online.png index 4f0deb6d0..a18ea2fc7 100644 Binary files a/src/main/res/drawable-hdpi/ic_send_voice_online.png and b/src/main/res/drawable-hdpi/ic_send_voice_online.png differ diff --git a/src/main/res/drawable-hdpi/ic_verified_fingerprint.png b/src/main/res/drawable-hdpi/ic_verified_fingerprint.png index 026414e36..d2eede8aa 100644 Binary files a/src/main/res/drawable-hdpi/ic_verified_fingerprint.png and b/src/main/res/drawable-hdpi/ic_verified_fingerprint.png differ diff --git a/src/main/res/drawable-hdpi/marker.png b/src/main/res/drawable-hdpi/marker.png index d9f9c493a..1f5d70189 100644 Binary files a/src/main/res/drawable-hdpi/marker.png and b/src/main/res/drawable-hdpi/marker.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received.9.png b/src/main/res/drawable-hdpi/message_bubble_received.9.png index 7f5319c8d..e4d9dc629 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_received.9.png and b/src/main/res/drawable-hdpi/message_bubble_received.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_dark.9.png b/src/main/res/drawable-hdpi/message_bubble_received_dark.9.png index 0bb89223c..16c67fe49 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_received_dark.9.png and b/src/main/res/drawable-hdpi/message_bubble_received_dark.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_dark_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_received_dark_non_first.9.png new file mode 100644 index 000000000..63ee4c7c9 Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_received_dark_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_grey.9.png b/src/main/res/drawable-hdpi/message_bubble_received_grey.9.png index acba47c98..8d20a91e4 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_received_grey.9.png and b/src/main/res/drawable-hdpi/message_bubble_received_grey.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_grey_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_received_grey_non_first.9.png new file mode 100644 index 000000000..a09f88a24 Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_received_grey_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_received_non_first.9.png new file mode 100644 index 000000000..8d6c7051a Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_received_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_warning.9.png b/src/main/res/drawable-hdpi/message_bubble_received_warning.9.png index 8bdfcc79c..702fef775 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_received_warning.9.png and b/src/main/res/drawable-hdpi/message_bubble_received_warning.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_warning_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_received_warning_non_first.9.png new file mode 100644 index 000000000..daa7fa638 Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_received_warning_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_white.9.png b/src/main/res/drawable-hdpi/message_bubble_received_white.9.png index ed8c0273e..fbf1b049b 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_received_white.9.png and b/src/main/res/drawable-hdpi/message_bubble_received_white.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_received_white_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_received_white_non_first.9.png new file mode 100644 index 000000000..b7284c37d Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_received_white_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_send_grey_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_send_grey_non_first.9.png new file mode 100644 index 000000000..e10907473 Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_send_grey_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_sent.9.png b/src/main/res/drawable-hdpi/message_bubble_sent.9.png index 487a8f79a..6af5da758 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_sent.9.png and b/src/main/res/drawable-hdpi/message_bubble_sent.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_sent_grey.9.png b/src/main/res/drawable-hdpi/message_bubble_sent_grey.9.png index a0e998c00..73911092f 100644 Binary files a/src/main/res/drawable-hdpi/message_bubble_sent_grey.9.png and b/src/main/res/drawable-hdpi/message_bubble_sent_grey.9.png differ diff --git a/src/main/res/drawable-hdpi/message_bubble_sent_non_first.9.png b/src/main/res/drawable-hdpi/message_bubble_sent_non_first.9.png new file mode 100644 index 000000000..ef5ed8673 Binary files /dev/null and b/src/main/res/drawable-hdpi/message_bubble_sent_non_first.9.png differ diff --git a/src/main/res/drawable-hdpi/open_pdf_black.png b/src/main/res/drawable-hdpi/open_pdf_black.png index a94935def..db327299b 100644 Binary files a/src/main/res/drawable-hdpi/open_pdf_black.png and b/src/main/res/drawable-hdpi/open_pdf_black.png differ diff --git a/src/main/res/drawable-hdpi/open_pdf_white.png b/src/main/res/drawable-hdpi/open_pdf_white.png index ddfb33656..906d771b4 100644 Binary files a/src/main/res/drawable-hdpi/open_pdf_white.png and b/src/main/res/drawable-hdpi/open_pdf_white.png differ diff --git a/src/main/res/drawable-hdpi/play_gif_black.png b/src/main/res/drawable-hdpi/play_gif_black.png index 054018ad3..ad9d4603c 100644 Binary files a/src/main/res/drawable-hdpi/play_gif_black.png and b/src/main/res/drawable-hdpi/play_gif_black.png differ diff --git a/src/main/res/drawable-hdpi/play_gif_white.png b/src/main/res/drawable-hdpi/play_gif_white.png index 0d0f31ed6..110c58a2b 100644 Binary files a/src/main/res/drawable-hdpi/play_gif_white.png and b/src/main/res/drawable-hdpi/play_gif_white.png differ diff --git a/src/main/res/drawable-hdpi/play_video_black.png b/src/main/res/drawable-hdpi/play_video_black.png index 533437fb8..1c487b0e0 100644 Binary files a/src/main/res/drawable-hdpi/play_video_black.png and b/src/main/res/drawable-hdpi/play_video_black.png differ diff --git a/src/main/res/drawable-hdpi/play_video_white.png b/src/main/res/drawable-hdpi/play_video_white.png index 526b0b591..e7e892051 100644 Binary files a/src/main/res/drawable-hdpi/play_video_white.png and b/src/main/res/drawable-hdpi/play_video_white.png differ diff --git a/src/main/res/drawable-mdpi/date_bubble_grey.9.png b/src/main/res/drawable-mdpi/date_bubble_grey.9.png index 52d4daae8..a8c3f2c1c 100644 Binary files a/src/main/res/drawable-mdpi/date_bubble_grey.9.png and b/src/main/res/drawable-mdpi/date_bubble_grey.9.png differ diff --git a/src/main/res/drawable-mdpi/date_bubble_white.9.png b/src/main/res/drawable-mdpi/date_bubble_white.9.png index 8f8e06010..58a22aa46 100644 Binary files a/src/main/res/drawable-mdpi/date_bubble_white.9.png and b/src/main/res/drawable-mdpi/date_bubble_white.9.png differ diff --git a/src/main/res/drawable-mdpi/ic_flip_camera_android_black_24dp.png b/src/main/res/drawable-mdpi/ic_flip_camera_android_black_24dp.png index 79d201f48..c69dc8835 100644 Binary files a/src/main/res/drawable-mdpi/ic_flip_camera_android_black_24dp.png and b/src/main/res/drawable-mdpi/ic_flip_camera_android_black_24dp.png differ diff --git a/src/main/res/drawable-mdpi/ic_no_results_background_black.png b/src/main/res/drawable-mdpi/ic_no_results_background_black.png index 9b39879bc..19864206c 100644 Binary files a/src/main/res/drawable-mdpi/ic_no_results_background_black.png and b/src/main/res/drawable-mdpi/ic_no_results_background_black.png differ diff --git a/src/main/res/drawable-mdpi/ic_no_results_background_white.png b/src/main/res/drawable-mdpi/ic_no_results_background_white.png index 48aa58298..cf50cd3bc 100644 Binary files a/src/main/res/drawable-mdpi/ic_no_results_background_white.png and b/src/main/res/drawable-mdpi/ic_no_results_background_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_notifications_none_white80.png b/src/main/res/drawable-mdpi/ic_notifications_none_white80.png index 0e5e5a2e3..ab1d220d7 100644 Binary files a/src/main/res/drawable-mdpi/ic_notifications_none_white80.png and b/src/main/res/drawable-mdpi/ic_notifications_none_white80.png differ diff --git a/src/main/res/drawable-mdpi/ic_notifications_off_white80.png b/src/main/res/drawable-mdpi/ic_notifications_off_white80.png index f78c2b83c..1d7131213 100644 Binary files a/src/main/res/drawable-mdpi/ic_notifications_off_white80.png and b/src/main/res/drawable-mdpi/ic_notifications_off_white80.png differ diff --git a/src/main/res/drawable-mdpi/ic_notifications_paused_white80.png b/src/main/res/drawable-mdpi/ic_notifications_paused_white80.png index 20be98a7b..d67124dc4 100644 Binary files a/src/main/res/drawable-mdpi/ic_notifications_paused_white80.png and b/src/main/res/drawable-mdpi/ic_notifications_paused_white80.png differ diff --git a/src/main/res/drawable-mdpi/ic_notifications_white80.png b/src/main/res/drawable-mdpi/ic_notifications_white80.png index ccbfe0916..006001da8 100644 Binary files a/src/main/res/drawable-mdpi/ic_notifications_white80.png and b/src/main/res/drawable-mdpi/ic_notifications_white80.png differ diff --git a/src/main/res/drawable-mdpi/ic_qr_code_scan_white_24dp.png b/src/main/res/drawable-mdpi/ic_qr_code_scan_white_24dp.png index 716034fea..9e6b6ccc1 100644 Binary files a/src/main/res/drawable-mdpi/ic_qr_code_scan_white_24dp.png and b/src/main/res/drawable-mdpi/ic_qr_code_scan_white_24dp.png differ diff --git a/src/main/res/drawable-mdpi/ic_search_background_black.png b/src/main/res/drawable-mdpi/ic_search_background_black.png index 29f321b42..416fca82f 100644 Binary files a/src/main/res/drawable-mdpi/ic_search_background_black.png and b/src/main/res/drawable-mdpi/ic_search_background_black.png differ diff --git a/src/main/res/drawable-mdpi/ic_search_background_white.png b/src/main/res/drawable-mdpi/ic_search_background_white.png index df5571175..377d67578 100644 Binary files a/src/main/res/drawable-mdpi/ic_search_background_white.png and b/src/main/res/drawable-mdpi/ic_search_background_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_cancel_away.png b/src/main/res/drawable-mdpi/ic_send_cancel_away.png index c4fe90f51..d901cc8db 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_cancel_away.png and b/src/main/res/drawable-mdpi/ic_send_cancel_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_cancel_dnd.png b/src/main/res/drawable-mdpi/ic_send_cancel_dnd.png index 2c80add39..f6442f090 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_cancel_dnd.png and b/src/main/res/drawable-mdpi/ic_send_cancel_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_cancel_offline.png b/src/main/res/drawable-mdpi/ic_send_cancel_offline.png index 638b7e81f..03905a44a 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_cancel_offline.png and b/src/main/res/drawable-mdpi/ic_send_cancel_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_cancel_offline_white.png b/src/main/res/drawable-mdpi/ic_send_cancel_offline_white.png index 5d9d4a4ce..ef036d817 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_cancel_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_cancel_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_cancel_online.png b/src/main/res/drawable-mdpi/ic_send_cancel_online.png index 6d6f6224f..ac141c824 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_cancel_online.png and b/src/main/res/drawable-mdpi/ic_send_cancel_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_location_away.png b/src/main/res/drawable-mdpi/ic_send_location_away.png index ca9ad2177..015998c36 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_location_away.png and b/src/main/res/drawable-mdpi/ic_send_location_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_location_dnd.png b/src/main/res/drawable-mdpi/ic_send_location_dnd.png index 5af403011..0025713dc 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_location_dnd.png and b/src/main/res/drawable-mdpi/ic_send_location_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_location_offline.png b/src/main/res/drawable-mdpi/ic_send_location_offline.png index 40393e8ed..695663443 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_location_offline.png and b/src/main/res/drawable-mdpi/ic_send_location_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_location_offline_white.png b/src/main/res/drawable-mdpi/ic_send_location_offline_white.png index c649bfc71..fa316f1ed 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_location_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_location_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_location_online.png b/src/main/res/drawable-mdpi/ic_send_location_online.png index 3e50658a7..8a9c24c0c 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_location_online.png and b/src/main/res/drawable-mdpi/ic_send_location_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_photo_away.png b/src/main/res/drawable-mdpi/ic_send_photo_away.png index 0af6ef828..fafdbecd9 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_photo_away.png and b/src/main/res/drawable-mdpi/ic_send_photo_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_photo_dnd.png b/src/main/res/drawable-mdpi/ic_send_photo_dnd.png index 69ad0513d..f3f46e8f7 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_photo_dnd.png and b/src/main/res/drawable-mdpi/ic_send_photo_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_photo_offline.png b/src/main/res/drawable-mdpi/ic_send_photo_offline.png index 7cc1f9195..92cad01be 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_photo_offline.png and b/src/main/res/drawable-mdpi/ic_send_photo_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_photo_offline_white.png b/src/main/res/drawable-mdpi/ic_send_photo_offline_white.png index f5d4606ea..ed97bbe02 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_photo_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_photo_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_photo_online.png b/src/main/res/drawable-mdpi/ic_send_photo_online.png index 412e10638..e874600a2 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_photo_online.png and b/src/main/res/drawable-mdpi/ic_send_photo_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_picture_away.png b/src/main/res/drawable-mdpi/ic_send_picture_away.png index b43418aa7..dfa256a57 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_picture_away.png and b/src/main/res/drawable-mdpi/ic_send_picture_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_picture_dnd.png b/src/main/res/drawable-mdpi/ic_send_picture_dnd.png index b92dd0f00..c07b67935 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_picture_dnd.png and b/src/main/res/drawable-mdpi/ic_send_picture_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_picture_offline.png b/src/main/res/drawable-mdpi/ic_send_picture_offline.png index 860e30c59..c89635aa0 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_picture_offline.png and b/src/main/res/drawable-mdpi/ic_send_picture_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_picture_offline_white.png b/src/main/res/drawable-mdpi/ic_send_picture_offline_white.png index 094594ff1..9046b2cb3 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_picture_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_picture_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_picture_online.png b/src/main/res/drawable-mdpi/ic_send_picture_online.png index 368bee55a..4e27b391a 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_picture_online.png and b/src/main/res/drawable-mdpi/ic_send_picture_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_text_away.png b/src/main/res/drawable-mdpi/ic_send_text_away.png index 307bdbd66..053ec01e0 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_text_away.png and b/src/main/res/drawable-mdpi/ic_send_text_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_text_dnd.png b/src/main/res/drawable-mdpi/ic_send_text_dnd.png index 1935f5a75..71855295f 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_text_dnd.png and b/src/main/res/drawable-mdpi/ic_send_text_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_text_offline.png b/src/main/res/drawable-mdpi/ic_send_text_offline.png index 53da129f9..08223423c 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_text_offline.png and b/src/main/res/drawable-mdpi/ic_send_text_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_text_offline_white.png b/src/main/res/drawable-mdpi/ic_send_text_offline_white.png index e5c2c4810..dea01fe68 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_text_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_text_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_text_online.png b/src/main/res/drawable-mdpi/ic_send_text_online.png index df5123a26..6faafe8ea 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_text_online.png and b/src/main/res/drawable-mdpi/ic_send_text_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_away.png b/src/main/res/drawable-mdpi/ic_send_videocam_away.png index bc71ca3e8..2d0eba6c0 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_videocam_away.png and b/src/main/res/drawable-mdpi/ic_send_videocam_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png index 15f07b9df..c0b359098 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png and b/src/main/res/drawable-mdpi/ic_send_videocam_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_offline.png b/src/main/res/drawable-mdpi/ic_send_videocam_offline.png index 39126bf2d..b2253cf70 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_videocam_offline.png and b/src/main/res/drawable-mdpi/ic_send_videocam_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png index 04048266c..6a710c578 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_videocam_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_videocam_online.png b/src/main/res/drawable-mdpi/ic_send_videocam_online.png index 85373c5d8..28831712e 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_videocam_online.png and b/src/main/res/drawable-mdpi/ic_send_videocam_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_voice_away.png b/src/main/res/drawable-mdpi/ic_send_voice_away.png index be4f7ccef..33ec719ce 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_voice_away.png and b/src/main/res/drawable-mdpi/ic_send_voice_away.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_voice_dnd.png b/src/main/res/drawable-mdpi/ic_send_voice_dnd.png index f55907d92..31281d5c7 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_voice_dnd.png and b/src/main/res/drawable-mdpi/ic_send_voice_dnd.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_voice_offline.png b/src/main/res/drawable-mdpi/ic_send_voice_offline.png index 83a71610f..073bd6b0a 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_voice_offline.png and b/src/main/res/drawable-mdpi/ic_send_voice_offline.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_voice_offline_white.png b/src/main/res/drawable-mdpi/ic_send_voice_offline_white.png index 77e2601ba..d4a45bee3 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_voice_offline_white.png and b/src/main/res/drawable-mdpi/ic_send_voice_offline_white.png differ diff --git a/src/main/res/drawable-mdpi/ic_send_voice_online.png b/src/main/res/drawable-mdpi/ic_send_voice_online.png index b5f73ae7d..9c58d838f 100644 Binary files a/src/main/res/drawable-mdpi/ic_send_voice_online.png and b/src/main/res/drawable-mdpi/ic_send_voice_online.png differ diff --git a/src/main/res/drawable-mdpi/ic_verified_fingerprint.png b/src/main/res/drawable-mdpi/ic_verified_fingerprint.png index 25f2c8e19..037df8e8e 100644 Binary files a/src/main/res/drawable-mdpi/ic_verified_fingerprint.png and b/src/main/res/drawable-mdpi/ic_verified_fingerprint.png differ diff --git a/src/main/res/drawable-mdpi/marker.png b/src/main/res/drawable-mdpi/marker.png index 331acbf4d..30feba6dc 100644 Binary files a/src/main/res/drawable-mdpi/marker.png and b/src/main/res/drawable-mdpi/marker.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received.9.png b/src/main/res/drawable-mdpi/message_bubble_received.9.png index 3f31766ce..21d4e5c96 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_received.9.png and b/src/main/res/drawable-mdpi/message_bubble_received.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_dark.9.png b/src/main/res/drawable-mdpi/message_bubble_received_dark.9.png index d5c45ea9d..582bc86da 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_received_dark.9.png and b/src/main/res/drawable-mdpi/message_bubble_received_dark.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_dark_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_received_dark_non_first.9.png new file mode 100644 index 000000000..51c17547d Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_received_dark_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_grey.9.png b/src/main/res/drawable-mdpi/message_bubble_received_grey.9.png index 3e5e62c5e..57f239ae2 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_received_grey.9.png and b/src/main/res/drawable-mdpi/message_bubble_received_grey.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_grey_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_received_grey_non_first.9.png new file mode 100644 index 000000000..52b4f4854 Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_received_grey_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_received_non_first.9.png new file mode 100644 index 000000000..4a37b5278 Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_received_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_warning.9.png b/src/main/res/drawable-mdpi/message_bubble_received_warning.9.png index 66862dbe5..a8bcd0681 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_received_warning.9.png and b/src/main/res/drawable-mdpi/message_bubble_received_warning.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_warning_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_received_warning_non_first.9.png new file mode 100644 index 000000000..70063843c Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_received_warning_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_white.9.png b/src/main/res/drawable-mdpi/message_bubble_received_white.9.png index e8d69cc3f..a3e56adf2 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_received_white.9.png and b/src/main/res/drawable-mdpi/message_bubble_received_white.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_received_white_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_received_white_non_first.9.png new file mode 100644 index 000000000..b9225d95c Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_received_white_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_send_grey_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_send_grey_non_first.9.png new file mode 100644 index 000000000..4ef721ee4 Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_send_grey_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_sent.9.png b/src/main/res/drawable-mdpi/message_bubble_sent.9.png index f7c63c8f7..f41638f48 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_sent.9.png and b/src/main/res/drawable-mdpi/message_bubble_sent.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_sent_grey.9.png b/src/main/res/drawable-mdpi/message_bubble_sent_grey.9.png index e1a0bfe64..eb9349cf2 100644 Binary files a/src/main/res/drawable-mdpi/message_bubble_sent_grey.9.png and b/src/main/res/drawable-mdpi/message_bubble_sent_grey.9.png differ diff --git a/src/main/res/drawable-mdpi/message_bubble_sent_non_first.9.png b/src/main/res/drawable-mdpi/message_bubble_sent_non_first.9.png new file mode 100644 index 000000000..f759eb60c Binary files /dev/null and b/src/main/res/drawable-mdpi/message_bubble_sent_non_first.9.png differ diff --git a/src/main/res/drawable-mdpi/open_pdf_black.png b/src/main/res/drawable-mdpi/open_pdf_black.png index 0d7191603..9b9db53bd 100644 Binary files a/src/main/res/drawable-mdpi/open_pdf_black.png and b/src/main/res/drawable-mdpi/open_pdf_black.png differ diff --git a/src/main/res/drawable-mdpi/open_pdf_white.png b/src/main/res/drawable-mdpi/open_pdf_white.png index 2403468c0..09ec981c3 100644 Binary files a/src/main/res/drawable-mdpi/open_pdf_white.png and b/src/main/res/drawable-mdpi/open_pdf_white.png differ diff --git a/src/main/res/drawable-mdpi/play_gif_black.png b/src/main/res/drawable-mdpi/play_gif_black.png index d0f0aae47..dd5d1e9ed 100644 Binary files a/src/main/res/drawable-mdpi/play_gif_black.png and b/src/main/res/drawable-mdpi/play_gif_black.png differ diff --git a/src/main/res/drawable-mdpi/play_gif_white.png b/src/main/res/drawable-mdpi/play_gif_white.png index ba70bd146..4862d6dea 100644 Binary files a/src/main/res/drawable-mdpi/play_gif_white.png and b/src/main/res/drawable-mdpi/play_gif_white.png differ diff --git a/src/main/res/drawable-mdpi/play_video_black.png b/src/main/res/drawable-mdpi/play_video_black.png index 6c25cda8e..727359177 100644 Binary files a/src/main/res/drawable-mdpi/play_video_black.png and b/src/main/res/drawable-mdpi/play_video_black.png differ diff --git a/src/main/res/drawable-mdpi/play_video_white.png b/src/main/res/drawable-mdpi/play_video_white.png index a2cf25afe..b52eed03a 100644 Binary files a/src/main/res/drawable-mdpi/play_video_white.png and b/src/main/res/drawable-mdpi/play_video_white.png differ diff --git a/src/main/res/drawable-xhdpi/date_bubble_grey.9.png b/src/main/res/drawable-xhdpi/date_bubble_grey.9.png index 63225157d..1265c3967 100644 Binary files a/src/main/res/drawable-xhdpi/date_bubble_grey.9.png and b/src/main/res/drawable-xhdpi/date_bubble_grey.9.png differ diff --git a/src/main/res/drawable-xhdpi/date_bubble_white.9.png b/src/main/res/drawable-xhdpi/date_bubble_white.9.png index c5eaa5e0b..fad186877 100644 Binary files a/src/main/res/drawable-xhdpi/date_bubble_white.9.png and b/src/main/res/drawable-xhdpi/date_bubble_white.9.png differ diff --git a/src/main/res/drawable-xhdpi/ic_flip_camera_android_black_24dp.png b/src/main/res/drawable-xhdpi/ic_flip_camera_android_black_24dp.png index 7178728e3..7e32ebd8d 100644 Binary files a/src/main/res/drawable-xhdpi/ic_flip_camera_android_black_24dp.png and b/src/main/res/drawable-xhdpi/ic_flip_camera_android_black_24dp.png differ diff --git a/src/main/res/drawable-xhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xhdpi/ic_no_results_background_black.png index 588f94847..a87c6a468 100644 Binary files a/src/main/res/drawable-xhdpi/ic_no_results_background_black.png and b/src/main/res/drawable-xhdpi/ic_no_results_background_black.png differ diff --git a/src/main/res/drawable-xhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xhdpi/ic_no_results_background_white.png index 7b4ddc907..444064b64 100644 Binary files a/src/main/res/drawable-xhdpi/ic_no_results_background_white.png and b/src/main/res/drawable-xhdpi/ic_no_results_background_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_notifications_none_white80.png b/src/main/res/drawable-xhdpi/ic_notifications_none_white80.png index 8113eddfd..9b88e6f2c 100644 Binary files a/src/main/res/drawable-xhdpi/ic_notifications_none_white80.png and b/src/main/res/drawable-xhdpi/ic_notifications_none_white80.png differ diff --git a/src/main/res/drawable-xhdpi/ic_notifications_off_white80.png b/src/main/res/drawable-xhdpi/ic_notifications_off_white80.png index d225dc978..c180103b7 100644 Binary files a/src/main/res/drawable-xhdpi/ic_notifications_off_white80.png and b/src/main/res/drawable-xhdpi/ic_notifications_off_white80.png differ diff --git a/src/main/res/drawable-xhdpi/ic_notifications_paused_white80.png b/src/main/res/drawable-xhdpi/ic_notifications_paused_white80.png index d034aa271..82cb1e99e 100644 Binary files a/src/main/res/drawable-xhdpi/ic_notifications_paused_white80.png and b/src/main/res/drawable-xhdpi/ic_notifications_paused_white80.png differ diff --git a/src/main/res/drawable-xhdpi/ic_notifications_white80.png b/src/main/res/drawable-xhdpi/ic_notifications_white80.png index 2d5c3f31d..911f02d47 100644 Binary files a/src/main/res/drawable-xhdpi/ic_notifications_white80.png and b/src/main/res/drawable-xhdpi/ic_notifications_white80.png differ diff --git a/src/main/res/drawable-xhdpi/ic_qr_code_scan_white_24dp.png b/src/main/res/drawable-xhdpi/ic_qr_code_scan_white_24dp.png index 94be3290b..73c9a8e1b 100644 Binary files a/src/main/res/drawable-xhdpi/ic_qr_code_scan_white_24dp.png and b/src/main/res/drawable-xhdpi/ic_qr_code_scan_white_24dp.png differ diff --git a/src/main/res/drawable-xhdpi/ic_search_background_black.png b/src/main/res/drawable-xhdpi/ic_search_background_black.png index 50219e359..d1c15881a 100644 Binary files a/src/main/res/drawable-xhdpi/ic_search_background_black.png and b/src/main/res/drawable-xhdpi/ic_search_background_black.png differ diff --git a/src/main/res/drawable-xhdpi/ic_search_background_white.png b/src/main/res/drawable-xhdpi/ic_search_background_white.png index 62d0fe923..7a7509947 100644 Binary files a/src/main/res/drawable-xhdpi/ic_search_background_white.png and b/src/main/res/drawable-xhdpi/ic_search_background_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_cancel_away.png b/src/main/res/drawable-xhdpi/ic_send_cancel_away.png index dae743c95..7ac893742 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_cancel_away.png and b/src/main/res/drawable-xhdpi/ic_send_cancel_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_cancel_dnd.png b/src/main/res/drawable-xhdpi/ic_send_cancel_dnd.png index 5fb004284..f7a324842 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_cancel_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_cancel_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_cancel_offline.png b/src/main/res/drawable-xhdpi/ic_send_cancel_offline.png index 8fea5e6a3..579649e69 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_cancel_offline.png and b/src/main/res/drawable-xhdpi/ic_send_cancel_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_cancel_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_cancel_offline_white.png index fc43e902a..4c2c0f3ec 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_cancel_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_cancel_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_cancel_online.png b/src/main/res/drawable-xhdpi/ic_send_cancel_online.png index 9cb266444..9a123cf80 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_cancel_online.png and b/src/main/res/drawable-xhdpi/ic_send_cancel_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_location_away.png b/src/main/res/drawable-xhdpi/ic_send_location_away.png index 5f939d7ac..50d342387 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_location_away.png and b/src/main/res/drawable-xhdpi/ic_send_location_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_location_dnd.png b/src/main/res/drawable-xhdpi/ic_send_location_dnd.png index d28649d3c..3bcd15b31 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_location_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_location_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_location_offline.png b/src/main/res/drawable-xhdpi/ic_send_location_offline.png index 27d998286..dc32c4de3 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_location_offline.png and b/src/main/res/drawable-xhdpi/ic_send_location_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_location_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_location_offline_white.png index 811fce27f..eb9a0eeaf 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_location_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_location_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_location_online.png b/src/main/res/drawable-xhdpi/ic_send_location_online.png index 3f85f7ff0..9ace17f11 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_location_online.png and b/src/main/res/drawable-xhdpi/ic_send_location_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_photo_away.png b/src/main/res/drawable-xhdpi/ic_send_photo_away.png index 50ed4ae70..b19ef1ef4 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_photo_away.png and b/src/main/res/drawable-xhdpi/ic_send_photo_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_photo_dnd.png b/src/main/res/drawable-xhdpi/ic_send_photo_dnd.png index 103a05c41..6da9a9b47 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_photo_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_photo_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_photo_offline.png b/src/main/res/drawable-xhdpi/ic_send_photo_offline.png index ac58e8e6b..67750ce46 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_photo_offline.png and b/src/main/res/drawable-xhdpi/ic_send_photo_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_photo_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_photo_offline_white.png index b9ec7fd77..a0abfcca6 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_photo_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_photo_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_photo_online.png b/src/main/res/drawable-xhdpi/ic_send_photo_online.png index 6845677f0..6c2c3c6b7 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_photo_online.png and b/src/main/res/drawable-xhdpi/ic_send_photo_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_away.png b/src/main/res/drawable-xhdpi/ic_send_picture_away.png index 72d78b4bb..e625bff17 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_picture_away.png and b/src/main/res/drawable-xhdpi/ic_send_picture_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png index 08f4711ba..07c7a5b2b 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_picture_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xhdpi/ic_send_picture_offline.png index 0f494cf97..501d7f6af 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_picture_offline.png and b/src/main/res/drawable-xhdpi/ic_send_picture_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_picture_offline_white.png index 309ded6eb..c32fcae05 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_picture_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_picture_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_picture_online.png b/src/main/res/drawable-xhdpi/ic_send_picture_online.png index 10de6adb7..20f38a33e 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_picture_online.png and b/src/main/res/drawable-xhdpi/ic_send_picture_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_text_away.png b/src/main/res/drawable-xhdpi/ic_send_text_away.png index bf6e20138..ac5d6cffe 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_text_away.png and b/src/main/res/drawable-xhdpi/ic_send_text_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_text_dnd.png b/src/main/res/drawable-xhdpi/ic_send_text_dnd.png index 6d3389adc..8fc3b971a 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_text_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_text_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_text_offline.png b/src/main/res/drawable-xhdpi/ic_send_text_offline.png index ace8b9781..2a516042b 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_text_offline.png and b/src/main/res/drawable-xhdpi/ic_send_text_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_text_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_text_offline_white.png index d6be27dce..b855e6c86 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_text_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_text_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_text_online.png b/src/main/res/drawable-xhdpi/ic_send_text_online.png index 3a7c050fa..c98d5c144 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_text_online.png and b/src/main/res/drawable-xhdpi/ic_send_text_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xhdpi/ic_send_videocam_away.png index 321443f52..f30f78491 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_videocam_away.png and b/src/main/res/drawable-xhdpi/ic_send_videocam_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png index c3e0fbf36..fec0331d6 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_videocam_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png index d9b8750fb..194ad6900 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png and b/src/main/res/drawable-xhdpi/ic_send_videocam_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png index 0dd153812..9a7beb4b5 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_videocam_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xhdpi/ic_send_videocam_online.png index b2a331d8e..995ebfae8 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_videocam_online.png and b/src/main/res/drawable-xhdpi/ic_send_videocam_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_voice_away.png b/src/main/res/drawable-xhdpi/ic_send_voice_away.png index 018450b4f..70b811ef4 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_voice_away.png and b/src/main/res/drawable-xhdpi/ic_send_voice_away.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_voice_dnd.png b/src/main/res/drawable-xhdpi/ic_send_voice_dnd.png index 8a14d43a4..64cea1217 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_voice_dnd.png and b/src/main/res/drawable-xhdpi/ic_send_voice_dnd.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_voice_offline.png b/src/main/res/drawable-xhdpi/ic_send_voice_offline.png index be31673cd..886d2e55d 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_voice_offline.png and b/src/main/res/drawable-xhdpi/ic_send_voice_offline.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_voice_offline_white.png b/src/main/res/drawable-xhdpi/ic_send_voice_offline_white.png index 998065d40..cb7948063 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_voice_offline_white.png and b/src/main/res/drawable-xhdpi/ic_send_voice_offline_white.png differ diff --git a/src/main/res/drawable-xhdpi/ic_send_voice_online.png b/src/main/res/drawable-xhdpi/ic_send_voice_online.png index c238e4b9b..610296aed 100644 Binary files a/src/main/res/drawable-xhdpi/ic_send_voice_online.png and b/src/main/res/drawable-xhdpi/ic_send_voice_online.png differ diff --git a/src/main/res/drawable-xhdpi/ic_verified_fingerprint.png b/src/main/res/drawable-xhdpi/ic_verified_fingerprint.png index ab8cebdcb..363eb825d 100644 Binary files a/src/main/res/drawable-xhdpi/ic_verified_fingerprint.png and b/src/main/res/drawable-xhdpi/ic_verified_fingerprint.png differ diff --git a/src/main/res/drawable-xhdpi/marker.png b/src/main/res/drawable-xhdpi/marker.png index 614badda3..66f5095ef 100644 Binary files a/src/main/res/drawable-xhdpi/marker.png and b/src/main/res/drawable-xhdpi/marker.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received.9.png b/src/main/res/drawable-xhdpi/message_bubble_received.9.png index 799c2e532..cfb1f00fd 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_received.9.png and b/src/main/res/drawable-xhdpi/message_bubble_received.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_dark.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_dark.9.png index 26523a2a5..4bdb3401d 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_received_dark.9.png and b/src/main/res/drawable-xhdpi/message_bubble_received_dark.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_dark_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_dark_non_first.9.png new file mode 100644 index 000000000..5272062d8 Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_received_dark_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_grey.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_grey.9.png index 2acae4964..ee515aeda 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_received_grey.9.png and b/src/main/res/drawable-xhdpi/message_bubble_received_grey.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_grey_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_grey_non_first.9.png new file mode 100644 index 000000000..71c431e49 Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_received_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_non_first.9.png new file mode 100644 index 000000000..e32724b1c Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_received_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_warning.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_warning.9.png index 9b46f4656..aa5aac296 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_received_warning.9.png and b/src/main/res/drawable-xhdpi/message_bubble_received_warning.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_warning_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_warning_non_first.9.png new file mode 100644 index 000000000..43a5a189c Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_received_warning_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_white.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_white.9.png index a735ad874..2dd5662fd 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_received_white.9.png and b/src/main/res/drawable-xhdpi/message_bubble_received_white.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_received_white_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_received_white_non_first.9.png new file mode 100644 index 000000000..495cbdfc0 Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_received_white_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_send_grey_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_send_grey_non_first.9.png new file mode 100644 index 000000000..e1ae44ae3 Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_send_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xhdpi/message_bubble_sent.9.png index aa7a6d1fd..19ed9f000 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_sent.9.png and b/src/main/res/drawable-xhdpi/message_bubble_sent.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_sent_grey.9.png b/src/main/res/drawable-xhdpi/message_bubble_sent_grey.9.png index 85dd6223c..b9ed6b161 100644 Binary files a/src/main/res/drawable-xhdpi/message_bubble_sent_grey.9.png and b/src/main/res/drawable-xhdpi/message_bubble_sent_grey.9.png differ diff --git a/src/main/res/drawable-xhdpi/message_bubble_sent_non_first.9.png b/src/main/res/drawable-xhdpi/message_bubble_sent_non_first.9.png new file mode 100644 index 000000000..f9c95b674 Binary files /dev/null and b/src/main/res/drawable-xhdpi/message_bubble_sent_non_first.9.png differ diff --git a/src/main/res/drawable-xhdpi/open_pdf_black.png b/src/main/res/drawable-xhdpi/open_pdf_black.png index 755a14e85..e5d196b84 100644 Binary files a/src/main/res/drawable-xhdpi/open_pdf_black.png and b/src/main/res/drawable-xhdpi/open_pdf_black.png differ diff --git a/src/main/res/drawable-xhdpi/open_pdf_white.png b/src/main/res/drawable-xhdpi/open_pdf_white.png index bba78987a..2049fa203 100644 Binary files a/src/main/res/drawable-xhdpi/open_pdf_white.png and b/src/main/res/drawable-xhdpi/open_pdf_white.png differ diff --git a/src/main/res/drawable-xhdpi/play_gif_black.png b/src/main/res/drawable-xhdpi/play_gif_black.png index e621c14b8..e0acc6afb 100644 Binary files a/src/main/res/drawable-xhdpi/play_gif_black.png and b/src/main/res/drawable-xhdpi/play_gif_black.png differ diff --git a/src/main/res/drawable-xhdpi/play_gif_white.png b/src/main/res/drawable-xhdpi/play_gif_white.png index 12347f80f..992e39c70 100644 Binary files a/src/main/res/drawable-xhdpi/play_gif_white.png and b/src/main/res/drawable-xhdpi/play_gif_white.png differ diff --git a/src/main/res/drawable-xhdpi/play_video_black.png b/src/main/res/drawable-xhdpi/play_video_black.png index 79a4d382d..beb50b729 100644 Binary files a/src/main/res/drawable-xhdpi/play_video_black.png and b/src/main/res/drawable-xhdpi/play_video_black.png differ diff --git a/src/main/res/drawable-xhdpi/play_video_white.png b/src/main/res/drawable-xhdpi/play_video_white.png index 9decb0d00..9e8f7d54f 100644 Binary files a/src/main/res/drawable-xhdpi/play_video_white.png and b/src/main/res/drawable-xhdpi/play_video_white.png differ diff --git a/src/main/res/drawable-xxhdpi/date_bubble_grey.9.png b/src/main/res/drawable-xxhdpi/date_bubble_grey.9.png index 085665b8b..9e8007273 100644 Binary files a/src/main/res/drawable-xxhdpi/date_bubble_grey.9.png and b/src/main/res/drawable-xxhdpi/date_bubble_grey.9.png differ diff --git a/src/main/res/drawable-xxhdpi/date_bubble_white.9.png b/src/main/res/drawable-xxhdpi/date_bubble_white.9.png index 54b885fbe..0c36517dc 100644 Binary files a/src/main/res/drawable-xxhdpi/date_bubble_white.9.png and b/src/main/res/drawable-xxhdpi/date_bubble_white.9.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_flip_camera_android_black_24dp.png b/src/main/res/drawable-xxhdpi/ic_flip_camera_android_black_24dp.png index 1b8b1511c..e41a93645 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_flip_camera_android_black_24dp.png and b/src/main/res/drawable-xxhdpi/ic_flip_camera_android_black_24dp.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png index a7b07043b..d15beaec7 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png and b/src/main/res/drawable-xxhdpi/ic_no_results_background_black.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png index 4def0934b..ca7bc9deb 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png and b/src/main/res/drawable-xxhdpi/ic_no_results_background_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_notifications_none_white80.png b/src/main/res/drawable-xxhdpi/ic_notifications_none_white80.png index ac9f1e9a7..1f6714d2f 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_notifications_none_white80.png and b/src/main/res/drawable-xxhdpi/ic_notifications_none_white80.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_notifications_off_white80.png b/src/main/res/drawable-xxhdpi/ic_notifications_off_white80.png index 09ac4e59d..f51f043cd 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_notifications_off_white80.png and b/src/main/res/drawable-xxhdpi/ic_notifications_off_white80.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_notifications_paused_white80.png b/src/main/res/drawable-xxhdpi/ic_notifications_paused_white80.png index b0d4c54a7..1173de40f 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_notifications_paused_white80.png and b/src/main/res/drawable-xxhdpi/ic_notifications_paused_white80.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_notifications_white80.png b/src/main/res/drawable-xxhdpi/ic_notifications_white80.png index 3022e7ce1..d0b94c0b1 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_notifications_white80.png and b/src/main/res/drawable-xxhdpi/ic_notifications_white80.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_qr_code_scan_white_24dp.png b/src/main/res/drawable-xxhdpi/ic_qr_code_scan_white_24dp.png index 1e0fe3301..9826c83d8 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_qr_code_scan_white_24dp.png and b/src/main/res/drawable-xxhdpi/ic_qr_code_scan_white_24dp.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_search_background_black.png b/src/main/res/drawable-xxhdpi/ic_search_background_black.png index 9ce02844f..70755b4a6 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_search_background_black.png and b/src/main/res/drawable-xxhdpi/ic_search_background_black.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_search_background_white.png b/src/main/res/drawable-xxhdpi/ic_search_background_white.png index 080ca7c0e..8a3865e86 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_search_background_white.png and b/src/main/res/drawable-xxhdpi/ic_search_background_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_cancel_away.png b/src/main/res/drawable-xxhdpi/ic_send_cancel_away.png index 5d6b6dfca..d80b5d32f 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_cancel_away.png and b/src/main/res/drawable-xxhdpi/ic_send_cancel_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_cancel_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_cancel_dnd.png index 2d4721776..cf65e75d8 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_cancel_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_cancel_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_cancel_offline.png b/src/main/res/drawable-xxhdpi/ic_send_cancel_offline.png index a8bfa7016..428910bc2 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_cancel_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_cancel_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_cancel_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_cancel_offline_white.png index 649218bf3..182848b1e 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_cancel_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_cancel_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_cancel_online.png b/src/main/res/drawable-xxhdpi/ic_send_cancel_online.png index 0570efdb5..44ae3c4a9 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_cancel_online.png and b/src/main/res/drawable-xxhdpi/ic_send_cancel_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_location_away.png b/src/main/res/drawable-xxhdpi/ic_send_location_away.png index 20701e4ac..a64fdcfd7 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_location_away.png and b/src/main/res/drawable-xxhdpi/ic_send_location_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_location_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_location_dnd.png index 07608b3bf..5be16f91f 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_location_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_location_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_location_offline.png b/src/main/res/drawable-xxhdpi/ic_send_location_offline.png index 2850a687a..77ea7dfe7 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_location_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_location_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_location_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_location_offline_white.png index ab9ab908f..ab316e74b 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_location_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_location_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_location_online.png b/src/main/res/drawable-xxhdpi/ic_send_location_online.png index 5462cbf74..a5ee9afc5 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_location_online.png and b/src/main/res/drawable-xxhdpi/ic_send_location_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_photo_away.png b/src/main/res/drawable-xxhdpi/ic_send_photo_away.png index 81abb13e1..2a286df9b 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_photo_away.png and b/src/main/res/drawable-xxhdpi/ic_send_photo_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_photo_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_photo_dnd.png index 545d35f54..9e04ee593 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_photo_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_photo_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_photo_offline.png b/src/main/res/drawable-xxhdpi/ic_send_photo_offline.png index 20b636d6a..7d584f4b8 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_photo_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_photo_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_photo_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_photo_offline_white.png index bdfbe3b2b..54bcacd4e 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_photo_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_photo_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_photo_online.png b/src/main/res/drawable-xxhdpi/ic_send_photo_online.png index 8aaff8294..a435f01b8 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_photo_online.png and b/src/main/res/drawable-xxhdpi/ic_send_photo_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_away.png b/src/main/res/drawable-xxhdpi/ic_send_picture_away.png index 33f59e477..baf37aa7d 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_picture_away.png and b/src/main/res/drawable-xxhdpi/ic_send_picture_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png index 6826198c9..fe4ef017b 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_picture_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png index af6449aeb..b0ceb8a7a 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_picture_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_picture_offline_white.png index 77df99b00..6d88d6118 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_picture_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_picture_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_picture_online.png b/src/main/res/drawable-xxhdpi/ic_send_picture_online.png index aa7c194c0..0e1631acc 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_picture_online.png and b/src/main/res/drawable-xxhdpi/ic_send_picture_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_text_away.png b/src/main/res/drawable-xxhdpi/ic_send_text_away.png index 822fbbd77..da54b7a09 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_text_away.png and b/src/main/res/drawable-xxhdpi/ic_send_text_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_text_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_text_dnd.png index 9752b9c78..550eb3d63 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_text_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_text_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_text_offline.png b/src/main/res/drawable-xxhdpi/ic_send_text_offline.png index 8a29a4835..a795f81eb 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_text_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_text_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_text_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_text_offline_white.png index 398325387..95b0b1703 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_text_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_text_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_text_online.png b/src/main/res/drawable-xxhdpi/ic_send_text_online.png index a5704a7f8..cbd0573cc 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_text_online.png and b/src/main/res/drawable-xxhdpi/ic_send_text_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png index f86475ff9..ca4d0c92d 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png and b/src/main/res/drawable-xxhdpi/ic_send_videocam_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png index fd1d5d5eb..5f611fa65 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_videocam_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png index 0d5f52d92..cb3e26859 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png index 8df2bf190..40ba26554 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_videocam_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png index 099e40ea5..6b2c5f055 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png and b/src/main/res/drawable-xxhdpi/ic_send_videocam_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_voice_away.png b/src/main/res/drawable-xxhdpi/ic_send_voice_away.png index 522a9ae7a..856cf649e 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_voice_away.png and b/src/main/res/drawable-xxhdpi/ic_send_voice_away.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_voice_dnd.png b/src/main/res/drawable-xxhdpi/ic_send_voice_dnd.png index 5009b6527..fd42c322c 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_voice_dnd.png and b/src/main/res/drawable-xxhdpi/ic_send_voice_dnd.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_voice_offline.png b/src/main/res/drawable-xxhdpi/ic_send_voice_offline.png index 231a5033d..a5c5b3a04 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_voice_offline.png and b/src/main/res/drawable-xxhdpi/ic_send_voice_offline.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_voice_offline_white.png b/src/main/res/drawable-xxhdpi/ic_send_voice_offline_white.png index 9fd9b7d72..f3c7793b0 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_voice_offline_white.png and b/src/main/res/drawable-xxhdpi/ic_send_voice_offline_white.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_send_voice_online.png b/src/main/res/drawable-xxhdpi/ic_send_voice_online.png index 3c8b5c1cd..23f2928eb 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_send_voice_online.png and b/src/main/res/drawable-xxhdpi/ic_send_voice_online.png differ diff --git a/src/main/res/drawable-xxhdpi/ic_verified_fingerprint.png b/src/main/res/drawable-xxhdpi/ic_verified_fingerprint.png index a70365001..6f6ead71b 100644 Binary files a/src/main/res/drawable-xxhdpi/ic_verified_fingerprint.png and b/src/main/res/drawable-xxhdpi/ic_verified_fingerprint.png differ diff --git a/src/main/res/drawable-xxhdpi/marker.png b/src/main/res/drawable-xxhdpi/marker.png index 2c21e67f0..63070fd0a 100644 Binary files a/src/main/res/drawable-xxhdpi/marker.png and b/src/main/res/drawable-xxhdpi/marker.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received.9.png index 71b8c3f1e..f38f6621e 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_received.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_received.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_dark.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_dark.9.png index cd7d570e5..5bfc1bdb7 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_received_dark.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_received_dark.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_dark_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_dark_non_first.9.png new file mode 100644 index 000000000..4a50e557b Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_received_dark_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_grey.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_grey.9.png index 348b7de5c..757186c80 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_received_grey.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_received_grey.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_grey_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_grey_non_first.9.png new file mode 100644 index 000000000..f0c41823d Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_received_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_non_first.9.png new file mode 100644 index 000000000..cdfbf9b8e Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_received_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_warning.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_warning.9.png index 2ff0fbaf2..22401dafc 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_received_warning.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_received_warning.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_warning_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_warning_non_first.9.png new file mode 100644 index 000000000..3e345be71 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_received_warning_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_white.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_white.9.png index 59925addb..857d63392 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_received_white.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_received_white.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_received_white_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_received_white_non_first.9.png new file mode 100644 index 000000000..46a110e4a Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_received_white_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_send_grey_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_send_grey_non_first.9.png new file mode 100644 index 000000000..cacc45bb9 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_send_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png index 17f85b64b..a06338049 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_sent.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_sent_grey.9.png b/src/main/res/drawable-xxhdpi/message_bubble_sent_grey.9.png index 585dcacc7..186075512 100644 Binary files a/src/main/res/drawable-xxhdpi/message_bubble_sent_grey.9.png and b/src/main/res/drawable-xxhdpi/message_bubble_sent_grey.9.png differ diff --git a/src/main/res/drawable-xxhdpi/message_bubble_sent_non_first.9.png b/src/main/res/drawable-xxhdpi/message_bubble_sent_non_first.9.png new file mode 100644 index 000000000..841f902d7 Binary files /dev/null and b/src/main/res/drawable-xxhdpi/message_bubble_sent_non_first.9.png differ diff --git a/src/main/res/drawable-xxhdpi/open_pdf_black.png b/src/main/res/drawable-xxhdpi/open_pdf_black.png index 952dc0932..c2c12be41 100644 Binary files a/src/main/res/drawable-xxhdpi/open_pdf_black.png and b/src/main/res/drawable-xxhdpi/open_pdf_black.png differ diff --git a/src/main/res/drawable-xxhdpi/open_pdf_white.png b/src/main/res/drawable-xxhdpi/open_pdf_white.png index e550b574c..d98b3d0c8 100644 Binary files a/src/main/res/drawable-xxhdpi/open_pdf_white.png and b/src/main/res/drawable-xxhdpi/open_pdf_white.png differ diff --git a/src/main/res/drawable-xxhdpi/play_gif_black.png b/src/main/res/drawable-xxhdpi/play_gif_black.png index f49471c5d..e7a045341 100644 Binary files a/src/main/res/drawable-xxhdpi/play_gif_black.png and b/src/main/res/drawable-xxhdpi/play_gif_black.png differ diff --git a/src/main/res/drawable-xxhdpi/play_gif_white.png b/src/main/res/drawable-xxhdpi/play_gif_white.png index 8a62e456a..0a78b53ab 100644 Binary files a/src/main/res/drawable-xxhdpi/play_gif_white.png and b/src/main/res/drawable-xxhdpi/play_gif_white.png differ diff --git a/src/main/res/drawable-xxhdpi/play_video_black.png b/src/main/res/drawable-xxhdpi/play_video_black.png index 5c3c48027..ec60fe6ed 100644 Binary files a/src/main/res/drawable-xxhdpi/play_video_black.png and b/src/main/res/drawable-xxhdpi/play_video_black.png differ diff --git a/src/main/res/drawable-xxhdpi/play_video_white.png b/src/main/res/drawable-xxhdpi/play_video_white.png index 030b433f1..de0ecc91d 100644 Binary files a/src/main/res/drawable-xxhdpi/play_video_white.png and b/src/main/res/drawable-xxhdpi/play_video_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/date_bubble_grey.9.png b/src/main/res/drawable-xxxhdpi/date_bubble_grey.9.png index 550fe2286..ee3fcf5ba 100644 Binary files a/src/main/res/drawable-xxxhdpi/date_bubble_grey.9.png and b/src/main/res/drawable-xxxhdpi/date_bubble_grey.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/date_bubble_white.9.png b/src/main/res/drawable-xxxhdpi/date_bubble_white.9.png index 6f75ed33c..27a63fe6d 100644 Binary files a/src/main/res/drawable-xxxhdpi/date_bubble_white.9.png and b/src/main/res/drawable-xxxhdpi/date_bubble_white.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_flip_camera_android_black_24dp.png b/src/main/res/drawable-xxxhdpi/ic_flip_camera_android_black_24dp.png index dd276a971..3e59dd9df 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_flip_camera_android_black_24dp.png and b/src/main/res/drawable-xxxhdpi/ic_flip_camera_android_black_24dp.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png b/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png index 8437800ac..71ec93f30 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png and b/src/main/res/drawable-xxxhdpi/ic_no_results_background_black.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png b/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png index c8253cbd3..026195d7d 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png and b/src/main/res/drawable-xxxhdpi/ic_no_results_background_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_notifications_none_white80.png b/src/main/res/drawable-xxxhdpi/ic_notifications_none_white80.png index afc7ee6f7..3338b8d0e 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_notifications_none_white80.png and b/src/main/res/drawable-xxxhdpi/ic_notifications_none_white80.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_notifications_off_white80.png b/src/main/res/drawable-xxxhdpi/ic_notifications_off_white80.png index f7551d288..e1157a60e 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_notifications_off_white80.png and b/src/main/res/drawable-xxxhdpi/ic_notifications_off_white80.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_notifications_paused_white80.png b/src/main/res/drawable-xxxhdpi/ic_notifications_paused_white80.png index 6124e698b..e0cea996d 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_notifications_paused_white80.png and b/src/main/res/drawable-xxxhdpi/ic_notifications_paused_white80.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_notifications_white80.png b/src/main/res/drawable-xxxhdpi/ic_notifications_white80.png index 781cf7255..5175d0f57 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_notifications_white80.png and b/src/main/res/drawable-xxxhdpi/ic_notifications_white80.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_qr_code_scan_white_24dp.png b/src/main/res/drawable-xxxhdpi/ic_qr_code_scan_white_24dp.png index 437c52c65..11b2f26a7 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_qr_code_scan_white_24dp.png and b/src/main/res/drawable-xxxhdpi/ic_qr_code_scan_white_24dp.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_search_background_black.png b/src/main/res/drawable-xxxhdpi/ic_search_background_black.png index 240fe2e4e..89b087f9a 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_search_background_black.png and b/src/main/res/drawable-xxxhdpi/ic_search_background_black.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_search_background_white.png b/src/main/res/drawable-xxxhdpi/ic_search_background_white.png index b295b0266..934440320 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_search_background_white.png and b/src/main/res/drawable-xxxhdpi/ic_search_background_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_cancel_away.png b/src/main/res/drawable-xxxhdpi/ic_send_cancel_away.png index 77600febb..cc68f39d2 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_cancel_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_cancel_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_cancel_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_cancel_dnd.png index e35b63557..09019cc0a 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_cancel_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_cancel_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline.png index 509dcd820..186bedeeb 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline_white.png index f41a6a86e..1c0875f33 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_cancel_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_cancel_online.png b/src/main/res/drawable-xxxhdpi/ic_send_cancel_online.png index e2a7152d3..0c4fee109 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_cancel_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_cancel_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_location_away.png b/src/main/res/drawable-xxxhdpi/ic_send_location_away.png index 51185d4b0..02b589ab5 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_location_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_location_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_location_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_location_dnd.png index 765ab79f3..45612e84a 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_location_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_location_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_location_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_location_offline.png index 8500beca8..cdb7c19ec 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_location_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_location_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_location_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_location_offline_white.png index b49ab42f5..720f9296e 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_location_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_location_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_location_online.png b/src/main/res/drawable-xxxhdpi/ic_send_location_online.png index 21f08e37b..eaaf5eaa2 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_location_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_location_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_photo_away.png b/src/main/res/drawable-xxxhdpi/ic_send_photo_away.png index 8ce5c21fc..1cd3ddccf 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_photo_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_photo_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_photo_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_photo_dnd.png index b4014ac2f..f12978946 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_photo_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_photo_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_photo_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_photo_offline.png index 3f2675d72..4ea782157 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_photo_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_photo_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_photo_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_photo_offline_white.png index 8c902772e..c5dd595aa 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_photo_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_photo_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_photo_online.png b/src/main/res/drawable-xxxhdpi/ic_send_photo_online.png index 8601d1cb3..7b97e1f13 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_photo_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_photo_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png index 14488b6ce..40a49519f 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_picture_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png index f216178ba..835327df3 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_picture_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png index 0b54a3e7e..a71163474 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline_white.png index 8bd6bfb5f..e331211d9 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_picture_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_picture_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png b/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png index 3f7572224..1da4abf38 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_picture_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_text_away.png b/src/main/res/drawable-xxxhdpi/ic_send_text_away.png index 5c1d7c886..564048e92 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_text_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_text_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_text_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_text_dnd.png index eed56aae9..b0cdafa55 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_text_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_text_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_text_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_text_offline.png index dab2dde9e..112434566 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_text_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_text_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_text_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_text_offline_white.png index 6fc2f2d3e..2261ac542 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_text_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_text_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_text_online.png b/src/main/res/drawable-xxxhdpi/ic_send_text_online.png index 8530c916f..85365fe5d 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_text_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_text_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png index 174b4ec60..eee8c9da9 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png index 5abe11829..3fed45368 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png index 488d28bfe..e215e36af 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png index 704c63c4d..76e0f42ba 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png b/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png index 292a49b2f..b34ace6d3 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_videocam_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_voice_away.png b/src/main/res/drawable-xxxhdpi/ic_send_voice_away.png index 7aaad853e..0731010fb 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_voice_away.png and b/src/main/res/drawable-xxxhdpi/ic_send_voice_away.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_voice_dnd.png b/src/main/res/drawable-xxxhdpi/ic_send_voice_dnd.png index 7f5601479..5093a183e 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_voice_dnd.png and b/src/main/res/drawable-xxxhdpi/ic_send_voice_dnd.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_voice_offline.png b/src/main/res/drawable-xxxhdpi/ic_send_voice_offline.png index 633f70f3d..2738da82f 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_voice_offline.png and b/src/main/res/drawable-xxxhdpi/ic_send_voice_offline.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_voice_offline_white.png b/src/main/res/drawable-xxxhdpi/ic_send_voice_offline_white.png index d2127c2a2..5c9b12fcb 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_voice_offline_white.png and b/src/main/res/drawable-xxxhdpi/ic_send_voice_offline_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_send_voice_online.png b/src/main/res/drawable-xxxhdpi/ic_send_voice_online.png index d4183e1d8..af9dd547e 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_send_voice_online.png and b/src/main/res/drawable-xxxhdpi/ic_send_voice_online.png differ diff --git a/src/main/res/drawable-xxxhdpi/ic_verified_fingerprint.png b/src/main/res/drawable-xxxhdpi/ic_verified_fingerprint.png index d03ebd845..73c06295b 100644 Binary files a/src/main/res/drawable-xxxhdpi/ic_verified_fingerprint.png and b/src/main/res/drawable-xxxhdpi/ic_verified_fingerprint.png differ diff --git a/src/main/res/drawable-xxxhdpi/marker.png b/src/main/res/drawable-xxxhdpi/marker.png index f0866327f..6449c5d20 100644 Binary files a/src/main/res/drawable-xxxhdpi/marker.png and b/src/main/res/drawable-xxxhdpi/marker.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png index 79689cb63..868f8ca27 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_received.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_dark.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_dark.9.png index 4ad74b6b2..1c1392a77 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_received_dark.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_received_dark.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_dark_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_dark_non_first.9.png new file mode 100644 index 000000000..dc482a9ab Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_received_dark_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_grey.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_grey.9.png index 3d0dd4734..90d862f3a 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_received_grey.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_received_grey.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_grey_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_grey_non_first.9.png new file mode 100644 index 000000000..f40766388 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_received_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_non_first.9.png new file mode 100644 index 000000000..81e47afb5 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_received_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_warning.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_warning.9.png index 0885149b3..ed555201a 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_received_warning.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_received_warning.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_warning_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_warning_non_first.9.png new file mode 100644 index 000000000..bda42abc5 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_received_warning_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_white.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_white.9.png index 25511916a..d67d66a96 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_received_white.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_received_white.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_received_white_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_received_white_non_first.9.png new file mode 100644 index 000000000..05a592bd0 Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_received_white_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_send_grey_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_send_grey_non_first.9.png new file mode 100644 index 000000000..ee76a8fcb Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_send_grey_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png index 2f3049fad..e80ff5402 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_sent.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_sent_grey.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_sent_grey.9.png index 7939893ac..26f746381 100644 Binary files a/src/main/res/drawable-xxxhdpi/message_bubble_sent_grey.9.png and b/src/main/res/drawable-xxxhdpi/message_bubble_sent_grey.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/message_bubble_sent_non_first.9.png b/src/main/res/drawable-xxxhdpi/message_bubble_sent_non_first.9.png new file mode 100644 index 000000000..802d3965c Binary files /dev/null and b/src/main/res/drawable-xxxhdpi/message_bubble_sent_non_first.9.png differ diff --git a/src/main/res/drawable-xxxhdpi/open_pdf_black.png b/src/main/res/drawable-xxxhdpi/open_pdf_black.png index 361414e89..70aad28f0 100644 Binary files a/src/main/res/drawable-xxxhdpi/open_pdf_black.png and b/src/main/res/drawable-xxxhdpi/open_pdf_black.png differ diff --git a/src/main/res/drawable-xxxhdpi/open_pdf_white.png b/src/main/res/drawable-xxxhdpi/open_pdf_white.png index 95611f496..280b584c3 100644 Binary files a/src/main/res/drawable-xxxhdpi/open_pdf_white.png and b/src/main/res/drawable-xxxhdpi/open_pdf_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/play_gif_black.png b/src/main/res/drawable-xxxhdpi/play_gif_black.png index bec4804d5..6733e8cdd 100644 Binary files a/src/main/res/drawable-xxxhdpi/play_gif_black.png and b/src/main/res/drawable-xxxhdpi/play_gif_black.png differ diff --git a/src/main/res/drawable-xxxhdpi/play_gif_white.png b/src/main/res/drawable-xxxhdpi/play_gif_white.png index 60aa8fcf1..04af292fd 100644 Binary files a/src/main/res/drawable-xxxhdpi/play_gif_white.png and b/src/main/res/drawable-xxxhdpi/play_gif_white.png differ diff --git a/src/main/res/drawable-xxxhdpi/play_video_black.png b/src/main/res/drawable-xxxhdpi/play_video_black.png index ecb0a2bd0..df3eac69d 100644 Binary files a/src/main/res/drawable-xxxhdpi/play_video_black.png and b/src/main/res/drawable-xxxhdpi/play_video_black.png differ diff --git a/src/main/res/drawable-xxxhdpi/play_video_white.png b/src/main/res/drawable-xxxhdpi/play_video_white.png index de040f5f0..6d405f608 100644 Binary files a/src/main/res/drawable-xxxhdpi/play_video_white.png and b/src/main/res/drawable-xxxhdpi/play_video_white.png differ diff --git a/src/main/res/drawable/ic_close_24dp.xml b/src/main/res/drawable/ic_close_24dp.xml new file mode 100644 index 000000000..f4a2daf53 --- /dev/null +++ b/src/main/res/drawable/ic_close_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/src/main/res/layout/fragment_conversation.xml b/src/main/res/layout/fragment_conversation.xml index 4b862b752..761a55611 100644 --- a/src/main/res/layout/fragment_conversation.xml +++ b/src/main/res/layout/fragment_conversation.xml @@ -17,7 +17,6 @@ android:layout_alignParentTop="true" android:background="?attr/color_background_secondary" android:divider="@null" - android:dividerHeight="0dp" android:listSelector="@android:color/transparent" android:stackFromBottom="true" android:transcriptMode="normal" diff --git a/src/main/res/layout/message_date_bubble.xml b/src/main/res/layout/message_date_bubble.xml index 5e5cd0c4d..c40c13042 100644 --- a/src/main/res/layout/message_date_bubble.xml +++ b/src/main/res/layout/message_date_bubble.xml @@ -5,9 +5,9 @@ android:layout_height="wrap_content" android:orientation="vertical" android:paddingLeft="8dp" - android:paddingTop="5dp" + android:paddingTop="6dp" android:paddingRight="8dp" - android:paddingBottom="5dp"> + android:paddingBottom="6dp"> + android:paddingTop="4dp"> + android:paddingTop="2dp" + android:paddingStart="2dp" + android:paddingEnd="2dp"> + android:orientation="horizontal"> + + \ No newline at end of file diff --git a/src/main/res/layout/message_rtp_session.xml b/src/main/res/layout/message_rtp_session.xml index ad7f06d6a..45edbaca9 100644 --- a/src/main/res/layout/message_rtp_session.xml +++ b/src/main/res/layout/message_rtp_session.xml @@ -5,9 +5,9 @@ android:layout_height="wrap_content" android:orientation="vertical" android:paddingLeft="8dp" - android:paddingTop="5dp" + android:paddingTop="6dp" android:paddingRight="8dp" - android:paddingBottom="5dp"> + android:paddingBottom="6dp"> + android:paddingBottom="4dp"> - - - - - - - - + android:scaleType="fitXY" + app:riv_corner_radius="6dp" /> @@ -49,7 +35,9 @@ android:layout_height="fill_parent" android:gravity="center_vertical" android:orientation="vertical" - android:padding="2dp"> + android:paddingTop="2dp" + android:paddingStart="2dp" + android:paddingEnd="2dp"> + android:orientation="horizontal"> + + \ 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 f0ba01f24..341f5f4f7 100644 --- a/src/main/res/layout/message_status.xml +++ b/src/main/res/layout/message_status.xml @@ -4,10 +4,10 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:paddingBottom="5dp" + android:paddingBottom="6dp" android:paddingLeft="8dp" android:paddingRight="8dp" - android:paddingTop="5dp"> + android:paddingTop="6dp">