Skip to content
Snippets Groups Projects
Commit 4af5dbb4 authored by akwizgran's avatar akwizgran
Browse files

Merge branch '562-npe-in-contactlistfragment' into 'master'

Fix NPE in ContactListFragment

Closes #562

See merge request !261
parents 7132c886 31cd6e89
No related branches found
No related tags found
1 merge request!261Fix NPE in ContactListFragment
......@@ -375,6 +375,7 @@ public class ContactListFragment extends BaseFragment implements EventListener {
}
// This needs to be called from the DB thread
// Do not call getActivty() here as it might return null
private Collection<ConversationItem> getMessages(ContactId id)
throws DbException {
......@@ -406,13 +407,7 @@ public class ContactListFragment extends BaseFragment implements EventListener {
Collection<InvitationMessage> invitations =
forumSharingManager.getInvitationMessages(id);
for (InvitationMessage i : invitations) {
if (i instanceof ForumInvitationRequest) {
ForumInvitationRequest r = (ForumInvitationRequest) i;
messages.add(ConversationItem.from(r));
} else if (i instanceof ForumInvitationResponse) {
ForumInvitationResponse r = (ForumInvitationResponse) i;
messages.add(ConversationItem.from(getActivity(), "", r));
}
messages.add(ConversationItem.from(i));
}
duration = System.currentTimeMillis() - now;
if (LOG.isLoggable(INFO))
......
......@@ -9,6 +9,7 @@ import org.briarproject.api.introduction.IntroductionMessage;
import org.briarproject.api.introduction.IntroductionRequest;
import org.briarproject.api.introduction.IntroductionResponse;
import org.briarproject.api.messaging.PrivateMessageHeader;
import org.briarproject.api.sharing.InvitationMessage;
import org.briarproject.api.sync.MessageId;
// This class is not thread-safe
......@@ -138,7 +139,7 @@ public abstract class ConversationItem {
/**
* This method should not be used to get user-facing objects,
* Its purpose is to provider data for the contact list.
* Its purpose is only to provide data for the contact list.
*/
public static ConversationItem from(IntroductionMessage im) {
if (im.isLocal())
......@@ -148,6 +149,18 @@ public abstract class ConversationItem {
im.getTimestamp(), im.isRead());
}
/**
* This method should not be used to get user-facing objects,
* Its purpose is only to provide data for the contact list.
*/
public static ConversationItem from(InvitationMessage im) {
if (im.isLocal())
return new ConversationNoticeOutItem(im.getId(), "",
im.getTimestamp(), false, false);
return new ConversationNoticeInItem(im.getId(), "",
im.getTimestamp(), im.isRead());
}
interface OutgoingItem {
MessageId getId();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment