package org.whispersystems.textsecure.push; import android.os.Parcel; import android.os.Parcelable; import java.util.LinkedList; import java.util.List; public class IncomingPushMessage implements Parcelable { public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public IncomingPushMessage createFromParcel(Parcel in) { return new IncomingPushMessage(in); } @Override public IncomingPushMessage[] newArray(int size) { return new IncomingPushMessage[size]; } }; private String source; private List destinations; private String messageText; private List attachments; private long timestamp; public IncomingPushMessage(String source, List destinations, String messageText, List attachments, long timestamp) { this.source = source; this.destinations = destinations; this.messageText = messageText; this.attachments = attachments; this.timestamp = timestamp; } public IncomingPushMessage(Parcel in) { this.destinations = new LinkedList(); this.attachments = new LinkedList(); this.source = in.readString(); in.readStringList(destinations); this.messageText = in.readString(); in.readList(attachments, PushAttachmentPointer.class.getClassLoader()); this.timestamp = in.readLong(); } public long getTimestampMillis() { return timestamp; } public String getSource() { return source; } public List getAttachments() { return attachments; } public String getMessageText() { return messageText; } public List getDestinations() { return destinations; } public boolean hasAttachments() { return getAttachments() != null && !getAttachments().isEmpty(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(source); dest.writeStringList(destinations); dest.writeString(messageText); dest.writeList(attachments); dest.writeLong(timestamp); } }