Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00430de1 authored by Stéphane BAUSSERON's avatar Stéphane BAUSSERON Committed by Stéphane BAUSSERON
Browse files

Does not scroll to bottom of current conversation if no new SMS are received in this conversation

parent e134516b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -208,6 +208,7 @@ public class MessageListFragment extends QKFragment implements ActivityLauncher,
        mAdapter.setItemClickListener(this);
        mAdapter.setMultiSelectListener(this);
        mAdapter.registerAdapterDataObserver(new RecyclerView.AdapterDataObserver() {
            private long mLastMessageId = -1;
            @Override
            public void onChanged() {
                LinearLayoutManager manager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
@@ -225,10 +226,17 @@ public class MessageListFragment extends QKFragment implements ActivityLauncher,
                    position = mAdapter.getItemCount() - 1;
                }

                if(mAdapter.getCount() > 0) {
                    MessageItem lastMessage = mAdapter.getItem(mAdapter.getCount() - 1);
                    if (mLastMessageId >= 0 && mLastMessageId != lastMessage.getMessageId()) {
                        // Scroll to bottom only if a new message was inserted in this conversation
                        if (position != -1) {
                            manager.smoothScrollToPosition(mRecyclerView, null, position);
                        }
                    }
                    mLastMessageId = lastMessage.getMessageId();
                }
            }
        });

        mRecyclerView.setAdapter(mAdapter);