Add compose divider to CFV2.

This commit is contained in:
Alex Hart 2023-06-30 14:36:40 -03:00 committed by Greyson Parrelli
parent 42fe827cb3
commit 27e7383db6
2 changed files with 30 additions and 4 deletions

View file

@ -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(

View file

@ -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" />
<androidx.constraintlayout.widget.Barrier
android:id="@+id/conversation_bottom_panel_barrier"
@ -225,7 +225,7 @@
android:layout_height="wrap_content"
app:barrierDirection="top"
app:constraint_referenced_ids="emoji_search_container,keyboard_guideline" />
<TextView
android:id="@+id/conversation_input_space_left"
android:layout_width="0dp"
@ -240,6 +240,16 @@
tools:text="160/160 (1)"
tools:visibility="visible" />
<View
android:id="@+id/compose_divider"
android:layout_width="match_parent"
android:layout_height="2dp"
android:alpha="1"
android:background="@drawable/compose_divider_background"
android:visibility="invisible"
app:layout_constraintBottom_toTopOf="@id/conversation_input_panel"
tools:visibility="visible" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/input_container"
android:layout_width="0dp"