diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt
index 419105675f..997541d35d 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationFragment.kt
@@ -1949,6 +1949,9 @@ class ConversationFragment :
}
private inner class ScrollListener : RecyclerView.OnScrollListener() {
+
+ private var wasAtBottom = true
+
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
if (isScrolledToBottom()) {
viewModel.setShowScrollButtons(false)
@@ -1956,9 +1959,22 @@ class ConversationFragment :
viewModel.setShowScrollButtons(true)
}
+ presentComposeDivider()
+
val timestamp = MarkReadHelper.getLatestTimestamp(adapter, layoutManager)
timestamp.ifPresent(markReadHelper::onViewsRevealed)
}
+
+ private fun presentComposeDivider() {
+ val isAtBottom = isScrolledToBottom()
+ if (isAtBottom && !wasAtBottom) {
+ ViewUtil.fadeOut(binding.composeDivider, 50, View.INVISIBLE)
+ } else if (wasAtBottom && !isAtBottom) {
+ ViewUtil.fadeIn(binding.composeDivider, 500)
+ }
+
+ wasAtBottom = isAtBottom
+ }
}
private inner class DataObserver(
diff --git a/app/src/main/res/layout/v2_conversation_fragment.xml b/app/src/main/res/layout/v2_conversation_fragment.xml
index c30b9bd7f2..c061573938 100644
--- a/app/src/main/res/layout/v2_conversation_fragment.xml
+++ b/app/src/main/res/layout/v2_conversation_fragment.xml
@@ -160,10 +160,10 @@
android:id="@+id/mention_fragment_container"
android:layout_width="0dp"
android:layout_height="0dp"
- app:layout_constraintStart_toStartOf="@id/parent_start_guideline"
- app:layout_constraintTop_toBottomOf="@id/toolbar"
+ app:layout_constraintBottom_toTopOf="@id/conversation_bottom_panel_barrier"
app:layout_constraintEnd_toEndOf="@id/parent_end_guideline"
- app:layout_constraintBottom_toTopOf="@id/conversation_bottom_panel_barrier"/>
+ app:layout_constraintStart_toStartOf="@id/parent_start_guideline"
+ app:layout_constraintTop_toBottomOf="@id/toolbar" />
-
+
+
+