mirror of
https://github.com/oxen-io/session-android.git
synced 2025-01-12 08:13:41 +00:00
Improve RTL language handling
This commit is contained in:
parent
93a417d322
commit
f6fdfd26e1
@ -3,10 +3,8 @@ package org.thoughtcrime.securesms.conversation.v2.messages
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.Resources
|
import android.content.res.Resources
|
||||||
import android.graphics.Canvas
|
import android.graphics.Canvas
|
||||||
import android.graphics.ColorFilter
|
|
||||||
import android.graphics.Rect
|
import android.graphics.Rect
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.os.AsyncTask
|
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
@ -17,8 +15,6 @@ import android.widget.RelativeLayout
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.view.marginLeft
|
|
||||||
import androidx.core.view.marginRight
|
|
||||||
import kotlinx.android.synthetic.main.view_visible_message.view.*
|
import kotlinx.android.synthetic.main.view_visible_message.view.*
|
||||||
import network.loki.messenger.R
|
import network.loki.messenger.R
|
||||||
import org.session.libsession.messaging.contacts.Contact.ContactContext
|
import org.session.libsession.messaging.contacts.Contact.ContactContext
|
||||||
@ -119,20 +115,20 @@ class VisibleMessageView : LinearLayout {
|
|||||||
// Timestamp
|
// Timestamp
|
||||||
messageTimestampTextView.text = DateUtils.getExtendedRelativeTimeSpanString(context, Locale.getDefault(), message.timestamp)
|
messageTimestampTextView.text = DateUtils.getExtendedRelativeTimeSpanString(context, Locale.getDefault(), message.timestamp)
|
||||||
// Margins
|
// Margins
|
||||||
val leftPadding: Int
|
val startPadding: Int
|
||||||
if (isGroupThread) {
|
if (isGroupThread) {
|
||||||
leftPadding = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0
|
startPadding = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt() else 0
|
||||||
} else {
|
} else {
|
||||||
leftPadding = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt()
|
startPadding = if (message.isOutgoing) resources.getDimension(R.dimen.very_large_spacing).toInt()
|
||||||
else resources.getDimension(R.dimen.medium_spacing).toInt()
|
else resources.getDimension(R.dimen.medium_spacing).toInt()
|
||||||
}
|
}
|
||||||
val rightPadding = if (message.isOutgoing) resources.getDimension(R.dimen.medium_spacing).toInt()
|
val endPadding = if (message.isOutgoing) resources.getDimension(R.dimen.medium_spacing).toInt()
|
||||||
else resources.getDimension(R.dimen.very_large_spacing).toInt()
|
else resources.getDimension(R.dimen.very_large_spacing).toInt()
|
||||||
messageContentContainer.setPaddingRelative(leftPadding, 0, rightPadding, 0)
|
messageContentContainer.setPaddingRelative(startPadding, 0, endPadding, 0)
|
||||||
// Set inter-message spacing
|
// Set inter-message spacing
|
||||||
setMessageSpacing(isStartOfMessageCluster, isEndOfMessageCluster)
|
setMessageSpacing(isStartOfMessageCluster, isEndOfMessageCluster)
|
||||||
// Gravity
|
// Gravity
|
||||||
val gravity = if (message.isOutgoing) Gravity.RIGHT else Gravity.LEFT
|
val gravity = if (message.isOutgoing) Gravity.END else Gravity.START
|
||||||
mainContainer.gravity = gravity or Gravity.BOTTOM
|
mainContainer.gravity = gravity or Gravity.BOTTOM
|
||||||
// Message status indicator
|
// Message status indicator
|
||||||
val iconID = getMessageStatusImage(message)
|
val iconID = getMessageStatusImage(message)
|
||||||
@ -148,7 +144,7 @@ class VisibleMessageView : LinearLayout {
|
|||||||
// Expiration timer
|
// Expiration timer
|
||||||
updateExpirationTimer(message)
|
updateExpirationTimer(message)
|
||||||
// Calculate max message bubble width
|
// Calculate max message bubble width
|
||||||
var maxWidth = screenWidth - leftPadding - rightPadding
|
var maxWidth = screenWidth - startPadding - endPadding
|
||||||
if (profilePictureContainer.visibility != View.GONE) { maxWidth -= profilePictureContainer.width }
|
if (profilePictureContainer.visibility != View.GONE) { maxWidth -= profilePictureContainer.width }
|
||||||
// Populate content view
|
// Populate content view
|
||||||
messageContentView.bind(message, isStartOfMessageCluster, isEndOfMessageCluster, glide, maxWidth, thread, searchQuery)
|
messageContentView.bind(message, isStartOfMessageCluster, isEndOfMessageCluster, glide, maxWidth, thread, searchQuery)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user