Message.java revision a831b2f1ba6d3c18d5e54563df8bae1f589c4257
13ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira/** 23ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * Copyright (c) 2012, Google Inc. 33ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * 43ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * Licensed under the Apache License, Version 2.0 (the "License"); 53ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * you may not use this file except in compliance with the License. 63ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * You may obtain a copy of the License at 73ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * 83ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * http://www.apache.org/licenses/LICENSE-2.0 93ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * 103ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * Unless required by applicable law or agreed to in writing, software 113ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * distributed under the License is distributed on an "AS IS" BASIS, 123ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * See the License for the specific language governing permissions and 143ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira * limitations under the License. 153ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira */ 163ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 173ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereirapackage com.android.mail.providers; 183ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 193ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereiraimport android.database.Cursor; 203ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereiraimport android.os.Parcel; 213ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereiraimport android.os.Parcelable; 223ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 233ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 243ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereirapublic class Message implements Parcelable { 253ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public long id; 263ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public long serverId; 273ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String uri; 283ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public long conversationId; 293ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String subject; 303ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String snippet; 313ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String from; 323ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String to; 333ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String cc; 343ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String bcc; 353ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String replyTo; 363ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public long dateReceivedMs; 373ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String bodyHtml; 383ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String bodyText; 393ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public boolean embedsExternalResources; 403ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String refMessageId; 413ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public int draftType; 423ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public boolean appendRefMessageContent; 433ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public boolean hasAttachments; 443ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String attachmentListUri; 453ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public long messageFlags; 46f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira public String joinedAttachmentInfos; 477ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira public String saveUri; 487ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira public String sendUri; 493ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 503ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira @Override 513ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public int describeContents() { 523ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira return 0; 533ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 543ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 553ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira @Override 563ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public void writeToParcel(Parcel dest, int flags) { 573ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeLong(id); 583ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeLong(serverId); 593ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(uri); 603ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeLong(conversationId); 613ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(subject); 623ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(snippet); 633ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(from); 643ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(to); 653ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(cc); 663ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(bcc); 673ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(replyTo); 683ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeLong(dateReceivedMs); 693ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(bodyHtml); 703ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(bodyText); 713ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeInt(embedsExternalResources ? 1 : 0); 723ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(refMessageId); 733ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeInt(draftType); 743ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeInt(appendRefMessageContent ? 1 : 0); 753ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeInt(hasAttachments ? 1 : 0); 763ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeString(attachmentListUri); 773ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dest.writeLong(messageFlags); 78f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira dest.writeString(joinedAttachmentInfos); 797ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira dest.writeString(saveUri); 807ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira dest.writeString(sendUri); 81f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira } 82f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira 83f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira public Message() { 843ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 853ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 863ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira private Message(Parcel in) { 873ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira id = in.readLong(); 883ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira serverId = in.readLong(); 893ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira uri = in.readString(); 903ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira conversationId = in.readLong(); 913ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira subject = in.readString(); 923ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira snippet = in.readString(); 933ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira from = in.readString(); 943ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira to = in.readString(); 953ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira cc = in.readString(); 963ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bcc = in.readString(); 973ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira replyTo = in.readString(); 983ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dateReceivedMs = in.readLong(); 993ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bodyHtml = in.readString(); 1003ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bodyText = in.readString(); 1013ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira embedsExternalResources = in.readInt() != 0; 1023ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira refMessageId = in.readString(); 1033ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira draftType = in.readInt(); 1043ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira appendRefMessageContent = in.readInt() != 0; 1053ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira hasAttachments = in.readInt() != 0; 1063ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira attachmentListUri = in.readString(); 1073ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira messageFlags = in.readLong(); 108f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira joinedAttachmentInfos = in.readString(); 1097ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira saveUri = in.readString(); 1107ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira sendUri = in.readString(); 1113ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1123ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 1133ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira @Override 1143ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public String toString() { 1153ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira return "[message id=" + id + "]"; 1163ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1173ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 1183ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public static final Creator<Message> CREATOR = new Creator<Message>() { 1193ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 1203ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira @Override 1213ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public Message createFromParcel(Parcel source) { 1223ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira return new Message(source); 1233ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1243ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 1253ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira @Override 1263ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira public Message[] newArray(int size) { 1273ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira return new Message[size]; 1283ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1293ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 1303ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira }; 1313ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira 132a831b2f1ba6d3c18d5e54563df8bae1f589c4257Mindy Pereira public Message(Cursor cursor) { 1333ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira if (cursor != null) { 1343ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira id = cursor.getLong(UIProvider.MESSAGE_ID_COLUMN); 1353ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira serverId = cursor.getLong(UIProvider.MESSAGE_SERVER_ID_COLUMN); 1363ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira uri = cursor.getString(UIProvider.MESSAGE_URI_COLUMN); 1373ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira conversationId = cursor.getLong(UIProvider.MESSAGE_CONVERSATION_ID_COLUMN); 1383ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira subject = cursor.getString(UIProvider.MESSAGE_SUBJECT_COLUMN); 1393ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira snippet = cursor.getString(UIProvider.MESSAGE_SNIPPET_COLUMN); 1403ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira from = cursor.getString(UIProvider.MESSAGE_FROM_COLUMN); 1413ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira to = cursor.getString(UIProvider.MESSAGE_TO_COLUMN); 1423ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira cc = cursor.getString(UIProvider.MESSAGE_CC_COLUMN); 1433ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bcc = cursor.getString(UIProvider.MESSAGE_BCC_COLUMN); 1443ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira replyTo = cursor.getString(UIProvider.MESSAGE_REPLY_TO_COLUMN); 1453ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira dateReceivedMs = cursor.getLong(UIProvider.MESSAGE_DATE_RECEIVED_MS_COLUMN); 1463ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bodyHtml = cursor.getString(UIProvider.MESSAGE_BODY_HTML_COLUMN); 1473ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira bodyText = cursor.getString(UIProvider.MESSAGE_BODY_TEXT_COLUMN); 1483ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira embedsExternalResources = cursor 1493ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira .getInt(UIProvider.MESSAGE_EMBEDS_EXTERNAL_RESOURCES_COLUMN) != 0; 1503ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira refMessageId = cursor.getString(UIProvider.MESSAGE_REF_MESSAGE_ID_COLUMN); 1513ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira draftType = cursor.getInt(UIProvider.MESSAGE_DRAFT_TYPE_COLUMN); 1523ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira appendRefMessageContent = cursor 1533ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira .getInt(UIProvider.MESSAGE_APPEND_REF_MESSAGE_CONTENT_COLUMN) != 0; 1543ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira hasAttachments = cursor.getInt(UIProvider.MESSAGE_HAS_ATTACHMENTS_COLUMN) != 0; 1553ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira attachmentListUri = cursor.getString(UIProvider.MESSAGE_ATTACHMENT_LIST_URI_COLUMN); 1563ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira messageFlags = cursor.getLong(UIProvider.MESSAGE_FLAGS_COLUMN); 157f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira joinedAttachmentInfos = cursor 158f944e9655562e321aff52fe5f437e1d2fa2950a9Mindy Pereira .getString(UIProvider.MESSAGE_JOINED_ATTACHMENT_INFOS_COLUMN); 1597ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira saveUri = cursor 1607ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira .getString(UIProvider.MESSAGE_SAVE_URI_COLUMN); 1617ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira sendUri = cursor 1627ed1c1122c5677344a1ce176be2c03972fed26f5Mindy Pereira .getString(UIProvider.MESSAGE_SEND_URI_COLUMN); 1633ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1643ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira } 1653ce64e7ceb6246130342385d91550bcf33b31cc8Mindy Pereira} 166