From e177fc4689a33e7192a48c3dbf944d71a188f7ea Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Tue, 1 Jun 2021 14:28:14 +1000 Subject: [PATCH] Fix outgoing message layout --- .../v2/messages/ControlMessageView.kt | 7 ++----- .../v2/messages/VisibleMessageView.kt | 15 +++++++++++++-- app/src/main/res/layout/view_visible_message.xml | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt index 1de54f89f6..6553073518 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/ControlMessageView.kt @@ -30,11 +30,8 @@ class ControlMessageView : LinearLayout { // region Updating fun bind(message: MessageRecord) { - // TODO: Localize strings, make the view look better, handle closed group control messages - if (message.isExpirationTimerUpdate) { textView.text = "Expiration timer update" } - else if (message.isScreenshotNotification) { textView.text = "Screenshot notification" } - else if (message.isMediaSavedNotification) { textView.text = "Media saved notification" } - else { textView.text = "Control message not yet handled" } + // TODO: Make view look better + textView.text = message.getDisplayBody(context) } fun recycle() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt index 07ec78dbe0..3821e64f75 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageView.kt @@ -2,8 +2,10 @@ package org.thoughtcrime.securesms.conversation.v2.messages import android.content.Context import android.util.AttributeSet +import android.view.Gravity import android.view.LayoutInflater import android.view.View +import android.view.ViewGroup import android.widget.LinearLayout import kotlinx.android.synthetic.main.view_visible_message.view.* import network.loki.messenger.R @@ -28,6 +30,7 @@ class VisibleMessageView : LinearLayout { private fun setUpViewHierarchy() { LayoutInflater.from(context).inflate(R.layout.view_visible_message, this) + layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT) } // endregion @@ -40,8 +43,9 @@ class VisibleMessageView : LinearLayout { val thread = threadDB.getRecipientForThreadId(threadID) val contactDB = DatabaseFactory.getSessionContactDatabase(context) val isGroupThread = (thread?.isGroupRecipient == true) - // Show profile picture and sender name if this is a group thread - if (isGroupThread) { + // Show profile picture and sender name if this is a group thread AND + // the message is incoming + if (isGroupThread && !message.isOutgoing) { profilePictureContainer.visibility = View.VISIBLE profilePictureView.publicKey = senderSessionID // TODO: Set glide on the profile picture view and update it @@ -53,6 +57,13 @@ class VisibleMessageView : LinearLayout { profilePictureContainer.visibility = View.GONE senderNameTextView.visibility = View.GONE } + // Margins + val messageContentViewLayoutParams = messageContentView.layoutParams as LinearLayout.LayoutParams + messageContentViewLayoutParams.leftMargin = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0 + messageContentViewLayoutParams.rightMargin = if (message.isOutgoing) 0 else resources.getDimension(R.dimen.very_large_spacing).toInt() + messageContentView.layoutParams = messageContentViewLayoutParams + // Gravity + gravity = if (message.isOutgoing) Gravity.RIGHT else Gravity.LEFT // Populate content view messageContentView.bind(message) } diff --git a/app/src/main/res/layout/view_visible_message.xml b/app/src/main/res/layout/view_visible_message.xml index a638cee67b..de0d628c2a 100644 --- a/app/src/main/res/layout/view_visible_message.xml +++ b/app/src/main/res/layout/view_visible_message.xml @@ -1,7 +1,7 @@