restructure conversation item classes

This commit is contained in:
Torsten Grote
2016-04-12 12:25:58 -03:00
parent c5bfea2155
commit f7340caec4
11 changed files with 127 additions and 76 deletions

View File

@@ -6,11 +6,13 @@ import org.briarproject.R;
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.sync.MessageId;
// This class is not thread-safe
public abstract class ConversationItem {
// this is needed for RecyclerView adapter which requires an int type
final static int MSG_IN = 0;
final static int MSG_IN_UNREAD = 1;
final static int MSG_OUT = 2;
@@ -37,6 +39,13 @@ public abstract class ConversationItem {
return time;
}
public static ConversationItem from(PrivateMessageHeader h) {
if (h.isLocal())
return new ConversationMessageOutItem(h);
else
return new ConversationMessageInItem(h);
}
public static ConversationItem from(IntroductionRequest ir) {
if (ir.isLocal()) {
return new ConversationIntroductionOutItem(ir);