diff --git a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt
index e75f56b7ee..5be0d6644a 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/stories/viewer/reply/composer/StoryReplyComposer.kt
@@ -34,6 +34,7 @@ import org.thoughtcrime.securesms.keyboard.emoji.toMappingModels
import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.reactions.any.ReactWithAnyEmojiBottomSheetDialogFragment
import org.thoughtcrime.securesms.recipients.Recipient
+import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel
class StoryReplyComposer @JvmOverloads constructor(
@@ -47,7 +48,6 @@ class StoryReplyComposer @JvmOverloads constructor(
private val emojiDrawer: MediaKeyboard
private val reactionEmojiView: EmojiPageView
private val anyReactionView: View
- private val emojiBar: View
private val bubbleView: ViewGroup
val input: ComposeText
@@ -70,7 +70,6 @@ class StoryReplyComposer @JvmOverloads constructor(
emojiDrawer = findViewById(R.id.emoji_drawer)
anyReactionView = findViewById(R.id.any_reaction)
reactionEmojiView = findViewById(R.id.reaction_emoji_view)
- emojiBar = findViewById(R.id.emoji_bar)
bubbleView = findViewById(R.id.bubble)
val reply: View = findViewById(R.id.reply)
@@ -213,19 +212,13 @@ class StoryReplyComposer @JvmOverloads constructor(
val numItems = reactionEmojiView.adapter?.itemCount ?: 0
decoration.firstItemOffset = anyReactionView.marginEnd
-
- if (numItems > maxNumItems) {
- decoration.horizontalSpacing = 0
- reactionEmojiView.invalidateItemDecorations()
+ decoration.horizontalSpacing = if (numItems > maxNumItems) {
+ 0
} else {
- decoration.horizontalSpacing = (availableWidth - (numItems * emojiItemWidth)) / numItems
- reactionEmojiView.invalidateItemDecorations()
+ (availableWidth - (numItems * emojiItemWidth)) / numItems
}
- }
- override fun onLayout(changed: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
- super.onLayout(changed, left, top, right, bottom)
- updateEmojiSpacing()
+ reactionEmojiView.invalidateItemDecorations()
}
interface Callback {
@@ -243,11 +236,20 @@ class StoryReplyComposer @JvmOverloads constructor(
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
super.getItemOffsets(outRect, view, parent, state)
- outRect.right = horizontalSpacing
- if (parent.getChildAdapterPosition(view) == 0) {
- outRect.left = firstItemOffset
+ if (ViewUtil.isRtl(view)) {
+ outRect.left = horizontalSpacing
+ if (parent.getChildAdapterPosition(view) == 0) {
+ outRect.right = firstItemOffset
+ } else {
+ outRect.right = 0
+ }
} else {
- outRect.left = 0
+ outRect.right = horizontalSpacing
+ if (parent.getChildAdapterPosition(view) == 0) {
+ outRect.left = firstItemOffset
+ } else {
+ outRect.left = 0
+ }
}
}
}
diff --git a/app/src/main/res/layout/stories_reply_to_story_composer_content.xml b/app/src/main/res/layout/stories_reply_to_story_composer_content.xml
index ebe67dd6a1..ed5a2da37f 100644
--- a/app/src/main/res/layout/stories_reply_to_story_composer_content.xml
+++ b/app/src/main/res/layout/stories_reply_to_story_composer_content.xml
@@ -8,12 +8,11 @@
android:background="@color/signal_colorSurface"
android:paddingTop="10dp">
-
+ app:layout_constraintTop_toTopOf="parent">
+ android:layout_height="wrap_content"
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintEnd_toStartOf="@id/any_reaction" />
+ app:layout_constraintTop_toTopOf="parent"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"/>
-
+
Send failed. Tap to retry
Reply to group
+
+ More reactions
No views yet