From 247f763c117580087ebf79457164eb87ca5ace9a Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 29 Jan 2024 10:00:28 +0100 Subject: [PATCH] Improved scroll to today in meetings list --- .../main/meetings/fragment/MeetingsListFragment.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingsListFragment.kt b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingsListFragment.kt index c2cf19cfc..6ad500f89 100644 --- a/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingsListFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/meetings/fragment/MeetingsListFragment.kt @@ -38,6 +38,7 @@ import org.linphone.databinding.MeetingsListFragmentBinding import org.linphone.ui.main.fragment.AbstractTopBarFragment import org.linphone.ui.main.meetings.adapter.MeetingsListAdapter import org.linphone.ui.main.meetings.viewmodel.MeetingsListViewModel +import org.linphone.utils.AppUtils import org.linphone.utils.RecyclerViewHeaderDecoration @UiThread @@ -97,7 +98,9 @@ class MeetingsListFragment : AbstractTopBarFragment() { binding.viewModel = listViewModel binding.meetingsList.setHasFixedSize(true) - binding.meetingsList.layoutManager = LinearLayoutManager(requireContext()) + val layoutManager = LinearLayoutManager(requireContext()) + layoutManager.stackFromEnd = true + binding.meetingsList.layoutManager = layoutManager val headerItemDecoration = RecyclerViewHeaderDecoration(requireContext(), adapter) binding.meetingsList.addItemDecoration(headerItemDecoration) @@ -222,7 +225,10 @@ class MeetingsListFragment : AbstractTopBarFragment() { it.isToday } val index = listViewModel.meetings.value.orEmpty().indexOf(todayMeeting) - Log.i("$TAG Scrolling to 'today' at position [$index]") - (binding.meetingsList.layoutManager as LinearLayoutManager).scrollToPosition(index) + Log.i("$TAG 'Today' is at position [$index]") + (binding.meetingsList.layoutManager as LinearLayoutManager).scrollToPositionWithOffset( + index, + AppUtils.getDimension(R.dimen.meeting_list_decoration_height).toInt() + ) } }