package it.slyce.messaging.message.messageItem; import android.content.Context; import it.slyce.messaging.message.Message; import it.slyce.messaging.message.MessageSource; import it.slyce.messaging.utils.DateUtils; /** * Created by John C. Hunchar on 5/12/16. */ public abstract class MessageItem { protected boolean isFirstConsecutiveMessageFromSource; protected boolean isLastConsecutiveMessageFromSource; protected String avatarUrl; protected String initials; protected Message message; protected String date; public MessageItem(Message message) { this.message = message; } public abstract void buildMessageItem( MessageViewHolder messageViewHolder); public abstract MessageItemType getMessageItemType(); public abstract MessageSource getMessageSource(); public Message getMessage() { return message; } public int getMessageItemTypeOrdinal() { return getMessageItemType().ordinal(); } public boolean isFirstConsecutiveMessageFromSource() { return isFirstConsecutiveMessageFromSource; } public boolean isLastConsecutiveMessageFromSource() { return isLastConsecutiveMessageFromSource; } public void setIsFirstConsecutiveMessageFromSource(boolean isFirstConsecutiveMessageFromSource) { this.isFirstConsecutiveMessageFromSource = isFirstConsecutiveMessageFromSource; } public void setIsLastConsecutiveMessageFromSource(boolean isLastConsecutiveMessageFromSource) { this.isLastConsecutiveMessageFromSource = isLastConsecutiveMessageFromSource; } public String getDate() { return date; } public void updateDate(Context context, long time) { this.date = DateUtils.getTimestamp(context, time); } }