Merge pull request #1598 from nextcloud/bugfix/1596/fixNpeUnreadBubble

catch NPE for popup bubble
This commit is contained in:
Andy Scherzinger 2021-09-23 16:44:01 +02:00 committed by GitHub
commit 1342bd5df3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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() {