mirror of
https://github.com/nextcloud/talk-android.git
synced 2024-11-23 21:45:42 +03:00
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:
commit
2ce5c01c9e
1 changed files with 5 additions and 1 deletions
|
@ -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 " +
|
||||
|
|
Loading…
Reference in a new issue