diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java index ff3868695..6783ca40e 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/ConversationsListController.java @@ -626,18 +626,23 @@ public class ConversationsListController extends BaseController implements Searc } private void checkToShowUnreadBubble() { - int lastVisibleItem = layoutManager.findLastCompletelyVisibleItemPosition(); - for (AbstractFlexibleItem flexItem : callItems) { - Conversation conversationItem = ((ConversationItem) flexItem).getModel(); - int position = adapter.getGlobalPositionOf(flexItem); - if (conversationItem.unreadMention && position > lastVisibleItem) { - if (!newMentionPopupBubble.isShown()){ - newMentionPopupBubble.show(); + try{ + int lastVisibleItem = layoutManager.findLastCompletelyVisibleItemPosition(); + for (AbstractFlexibleItem flexItem : callItems) { + Conversation conversationItem = ((ConversationItem) flexItem).getModel(); + int position = adapter.getGlobalPositionOf(flexItem); + if (conversationItem.unreadMention && position > lastVisibleItem) { + if (!newMentionPopupBubble.isShown()){ + newMentionPopupBubble.show(); + } + return; } - return; } + 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 " + + "user already left the conversations-list screen so the popup bubble is not available anymore.", e); } - newMentionPopupBubble.hide(); } private void showNewConversationsScreen() {