Merge pull request #1616 from nextcloud/feature/noid/improveScrollToMention

scroll to first unread mention and place it to the top
This commit is contained in:
Marcel Hibbe 2021-10-04 18:48:24 +02:00 committed by GitHub
commit 2ce5c01c9e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -207,6 +207,8 @@ public class ConversationsListController extends BaseController implements Searc
private boolean forwardMessage;
private int nextUnreadConversationScrollPosition = 0;
private SmoothScrollLinearLayoutManager layoutManager;
public ConversationsListController(Bundle bundle) {
@ -619,7 +621,7 @@ public class ConversationsListController extends BaseController implements Searc
newMentionPopupBubble.setPopupBubbleListener(new PopupBubble.PopupBubbleClickListener() {
@Override
public void bubbleClicked(Context context) {
recyclerView.smoothScrollToPosition(callItems.size());
recyclerView.smoothScrollToPosition(nextUnreadConversationScrollPosition);
}
});
}
@ -634,12 +636,14 @@ public class ConversationsListController extends BaseController implements Searc
(conversationItem.unreadMessages > 0 &&
conversationItem.type == Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL)) &&
position > lastVisibleItem) {
nextUnreadConversationScrollPosition = position;
if (!newMentionPopupBubble.isShown()) {
newMentionPopupBubble.show();
}
return;
}
}
nextUnreadConversationScrollPosition = 0;
newMentionPopupBubble.hide();
} catch (NullPointerException e) {
Log.d(TAG, "A NPE was caught when trying to show the unread popup bubble. This might happen when the " +