Conversation.java revision 92939fc7b40a56e17fb0d2fde987133ca1614e29
1732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang/** 2732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * Copyright (c) 2012, Google Inc. 3732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * 4732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * Licensed under the Apache License, Version 2.0 (the "License"); 5732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * you may not use this file except in compliance with the License. 6732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * You may obtain a copy of the License at 7732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * 8732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * http://www.apache.org/licenses/LICENSE-2.0 9732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * 10732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * Unless required by applicable law or agreed to in writing, software 11732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * distributed under the License is distributed on an "AS IS" BASIS, 12732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * See the License for the specific language governing permissions and 14732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang * limitations under the License. 15732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang */ 16732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 17732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangpackage com.android.mail.providers; 18732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 19732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangimport android.database.Cursor; 20732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangimport android.net.Uri; 21732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangimport android.os.Parcel; 22732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangimport android.os.Parcelable; 235c765b9c5dd8a9a9421260ba8b46d06073391c73Mindy Pereiraimport android.text.TextUtils; 24732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 25732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huangpublic class Conversation implements Parcelable { 26f892f0a57d5c24b09fdc805f0fe2007ecd0d0e91Marc Blank public static final int NO_POSITION = -1; 27732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 28732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public long id; 29c43bc0a606e41144a780c4f873b5450e0ede0c91Marc Blank public Uri uri; 30732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public String subject; 31732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public long dateMs; 32732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public String snippet; 33732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public boolean hasAttachments; 34cfb7f33ff8ef9dc60b9143af32de64c7a3d71f36Mindy Pereira public Uri messageListUri; 354db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira public String senders; 364db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira public int numMessages; 374db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira public int numDrafts; 384db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira public int sendingState; 394db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira public int priority; 40c8a994227b9c686d88ee05840544162711a85712Marc Blank public boolean read; 41c8a994227b9c686d88ee05840544162711a85712Marc Blank public boolean starred; 42ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank public String folderList; 43cc8211df898ba9dac17a766b89f28d6e6f0afef0Mindy Pereira public String rawFolders; 4422657529437c160dec072115c5982409306c1313Mindy Pereira public int convFlags; 4522657529437c160dec072115c5982409306c1313Mindy Pereira public int personalLevel; 46863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira public boolean spam; 47863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira public boolean muted; 4892939fc7b40a56e17fb0d2fde987133ca1614e29Marc Blank public int color; 4922657529437c160dec072115c5982409306c1313Mindy Pereira 50ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank // Used within the UI to indicate the adapter position of this conversation 51f892f0a57d5c24b09fdc805f0fe2007ecd0d0e91Marc Blank public transient int position; 52ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank // Used within the UI to indicate that a Conversation should be removed from the 53ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank // ConversationCursor when executing an update, e.g. the the Conversation is no longer 54ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank // in the ConversationList for the current folder, that is it's now in some other folder(s) 55ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank public transient boolean localDeleteOnUpdate; 56732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 57e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank // Constituents of convFlags below 58e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank // Flag indicating that the item has been deleted, but will continue being shown in the list 59e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank // Delete/Archive of a mostly-dead item will NOT propagate the delete/archive, but WILL remove 60e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank // the item from the cursor 61e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank public static final int FLAG_MOSTLY_DEAD = 1 << 0; 62e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank 63732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang @Override 64732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public int describeContents() { 65732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang return 0; 66732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 67732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 68732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang @Override 69732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public void writeToParcel(Parcel dest, int flags) { 70732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dest.writeLong(id); 71c43bc0a606e41144a780c4f873b5450e0ede0c91Marc Blank dest.writeParcelable(uri, flags); 72732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dest.writeString(subject); 73732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dest.writeLong(dateMs); 74732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dest.writeString(snippet); 75732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dest.writeByte(hasAttachments ? (byte) 1 : 0); 76cfb7f33ff8ef9dc60b9143af32de64c7a3d71f36Mindy Pereira dest.writeParcelable(messageListUri, 0); 774db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira dest.writeString(senders); 784db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira dest.writeInt(numMessages); 794db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira dest.writeInt(numDrafts); 804db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira dest.writeInt(sendingState); 814db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira dest.writeInt(priority); 82c8a994227b9c686d88ee05840544162711a85712Marc Blank dest.writeByte(read ? (byte) 1 : 0); 83c8a994227b9c686d88ee05840544162711a85712Marc Blank dest.writeByte(starred ? (byte) 1 : 0); 84ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank dest.writeString(folderList); 85cc8211df898ba9dac17a766b89f28d6e6f0afef0Mindy Pereira dest.writeString(rawFolders); 8622657529437c160dec072115c5982409306c1313Mindy Pereira dest.writeInt(convFlags); 8722657529437c160dec072115c5982409306c1313Mindy Pereira dest.writeInt(personalLevel); 88863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira dest.writeInt(spam ? 1 : 0); 89863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira dest.writeInt(muted ? 1 : 0); 9092939fc7b40a56e17fb0d2fde987133ca1614e29Marc Blank dest.writeInt(color); 91732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 92732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 93732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang private Conversation(Parcel in) { 94732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang id = in.readLong(); 95c43bc0a606e41144a780c4f873b5450e0ede0c91Marc Blank uri = in.readParcelable(null); 96732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang subject = in.readString(); 97732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dateMs = in.readLong(); 98732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang snippet = in.readString(); 99732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang hasAttachments = (in.readByte() != 0); 100cfb7f33ff8ef9dc60b9143af32de64c7a3d71f36Mindy Pereira messageListUri = in.readParcelable(null); 1014db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira senders = in.readString(); 1024db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira numMessages = in.readInt(); 1034db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira numDrafts = in.readInt(); 1044db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira sendingState = in.readInt(); 1054db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira priority = in.readInt(); 106c8a994227b9c686d88ee05840544162711a85712Marc Blank read = (in.readByte() != 0); 107c8a994227b9c686d88ee05840544162711a85712Marc Blank starred = (in.readByte() != 0); 108ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank folderList = in.readString(); 109cc8211df898ba9dac17a766b89f28d6e6f0afef0Mindy Pereira rawFolders = in.readString(); 11022657529437c160dec072115c5982409306c1313Mindy Pereira convFlags = in.readInt(); 11122657529437c160dec072115c5982409306c1313Mindy Pereira personalLevel = in.readInt(); 112863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira spam = in.readInt() != 0; 113863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira muted = in.readInt() != 0; 11492939fc7b40a56e17fb0d2fde987133ca1614e29Marc Blank color = in.readInt(); 115f892f0a57d5c24b09fdc805f0fe2007ecd0d0e91Marc Blank position = NO_POSITION; 116ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank localDeleteOnUpdate = false; 117732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 118732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 119732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang @Override 120732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public String toString() { 121732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang return "[conversation id=" + id + "]"; 122732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 123732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 124732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public static final Creator<Conversation> CREATOR = new Creator<Conversation>() { 125732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 126732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang @Override 127732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public Conversation createFromParcel(Parcel source) { 128732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang return new Conversation(source); 129732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 130732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 131732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang @Override 132732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang public Conversation[] newArray(int size) { 133732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang return new Conversation[size]; 134732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 135732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 136732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang }; 137732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 138acf6039a23382f18c35f6b487d90d53cb67b5858Mindy Pereira public static final Uri MOVE_CONVERSATIONS_URI = Uri.parse("content://moveconversations"); 139acf6039a23382f18c35f6b487d90d53cb67b5858Mindy Pereira 140a831b2f1ba6d3c18d5e54563df8bae1f589c4257Mindy Pereira public Conversation(Cursor cursor) { 141732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang if (cursor != null) { 142732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang id = cursor.getLong(UIProvider.CONVERSATION_ID_COLUMN); 143c43bc0a606e41144a780c4f873b5450e0ede0c91Marc Blank uri = Uri.parse(cursor.getString(UIProvider.CONVERSATION_URI_COLUMN)); 144732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang dateMs = cursor.getLong(UIProvider.CONVERSATION_DATE_RECEIVED_MS_COLUMN); 145732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang subject = cursor.getString(UIProvider.CONVERSATION_SUBJECT_COLUMN); 146374863eeb0ee37f1ca7d57840e6f02aaa052e284Marc Blank // Don't allow null subject 147374863eeb0ee37f1ca7d57840e6f02aaa052e284Marc Blank if (subject == null) { 148374863eeb0ee37f1ca7d57840e6f02aaa052e284Marc Blank subject = ""; 149374863eeb0ee37f1ca7d57840e6f02aaa052e284Marc Blank } 150732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang snippet = cursor.getString(UIProvider.CONVERSATION_SNIPPET_COLUMN); 15187d535fe423d782c3a0343c649330d309976f655Mindy Pereira hasAttachments = cursor.getInt(UIProvider.CONVERSATION_HAS_ATTACHMENTS_COLUMN) != 0; 1525c765b9c5dd8a9a9421260ba8b46d06073391c73Mindy Pereira String messageList = cursor 1535c765b9c5dd8a9a9421260ba8b46d06073391c73Mindy Pereira .getString(UIProvider.CONVERSATION_MESSAGE_LIST_URI_COLUMN); 1545c765b9c5dd8a9a9421260ba8b46d06073391c73Mindy Pereira messageListUri = !TextUtils.isEmpty(messageList) ? Uri.parse(messageList) : null; 1554db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira senders = cursor.getString(UIProvider.CONVERSATION_SENDER_INFO_COLUMN); 1564db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira numMessages = cursor.getInt(UIProvider.CONVERSATION_NUM_MESSAGES_COLUMN); 1574db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira numDrafts = cursor.getInt(UIProvider.CONVERSATION_NUM_DRAFTS_COLUMN); 1584db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira sendingState = cursor.getInt(UIProvider.CONVERSATION_SENDING_STATE_COLUMN); 1594db59c58c0af9f44d95a12dbe21322bed58cc518Mindy Pereira priority = cursor.getInt(UIProvider.CONVERSATION_PRIORITY_COLUMN); 16087d535fe423d782c3a0343c649330d309976f655Mindy Pereira read = cursor.getInt(UIProvider.CONVERSATION_READ_COLUMN) != 0; 16187d535fe423d782c3a0343c649330d309976f655Mindy Pereira starred = cursor.getInt(UIProvider.CONVERSATION_STARRED_COLUMN) != 0; 162ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank folderList = cursor.getString(UIProvider.CONVERSATION_FOLDER_LIST_COLUMN); 163cc8211df898ba9dac17a766b89f28d6e6f0afef0Mindy Pereira rawFolders = cursor.getString(UIProvider.CONVERSATION_RAW_FOLDERS_COLUMN); 16422657529437c160dec072115c5982409306c1313Mindy Pereira convFlags = cursor.getInt(UIProvider.CONVERSATION_FLAGS_COLUMN); 16522657529437c160dec072115c5982409306c1313Mindy Pereira personalLevel = cursor.getInt(UIProvider.CONVERSATION_PERSONAL_LEVEL_COLUMN); 166863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira spam = cursor.getInt(UIProvider.CONVERSATION_IS_SPAM_COLUMN) != 0; 167863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira muted = cursor.getInt(UIProvider.CONVERSATION_MUTED_COLUMN) != 0; 16892939fc7b40a56e17fb0d2fde987133ca1614e29Marc Blank color = cursor.getInt(UIProvider.CONVERSATION_COLOR_COLUMN); 169f892f0a57d5c24b09fdc805f0fe2007ecd0d0e91Marc Blank position = NO_POSITION; 170ce53818e1e185a845bd2f7f601c20e7085b40725Marc Blank localDeleteOnUpdate = false; 171732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 172732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang } 173732600e38891db139bae02dc91dd0c5b0987e8e9Andy Huang 174bf232c3735f65b1a4746943e4a134e59e36f0bdePaul Westbrook public Conversation() { 175ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook } 176ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook 177863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira public static Conversation create(long id, Uri uri, String subject, long dateMs, 178863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira String snippet, boolean hasAttachment, Uri messageListUri, String senders, 179863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira int numMessages, int numDrafts, int sendingState, int priority, boolean read, 180863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira boolean starred, String folderList, String rawFolders, int convFlags, 181863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira int personalLevel, boolean spam, boolean muted) { 182ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook 183ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook final Conversation conversation = new Conversation(); 184ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook 185ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.id = id; 186ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.uri = uri; 187ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.subject = subject; 188ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.dateMs = dateMs; 189ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.snippet = snippet; 190ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.hasAttachments = hasAttachment; 191ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.messageListUri = messageListUri; 192ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.senders = senders; 193ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.numMessages = numMessages; 194ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.numDrafts = numDrafts; 195ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.sendingState = sendingState; 196ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.priority = priority; 197ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.read = read; 198ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.starred = starred; 199ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.folderList = folderList; 200ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.rawFolders = rawFolders; 201ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.convFlags = convFlags; 202ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook conversation.personalLevel = personalLevel; 203863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira conversation.spam = spam; 204863e44160d9175023d30e7e225ecb69ad3892eecMindy Pereira conversation.muted = muted; 20592939fc7b40a56e17fb0d2fde987133ca1614e29Marc Blank conversation.color = 0; 206ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook return conversation; 207ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook } 208ff5c757ed2bcf7004a70b0675382ef894196558dPaul Westbrook 209e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank @Override 210e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank public boolean equals(Object o) { 2113c9bcef43b4f103697034abbf2eab99111e8d987Marc Blank if (o instanceof Conversation) { 2123c9bcef43b4f103697034abbf2eab99111e8d987Marc Blank Conversation conv = (Conversation)o; 2133c9bcef43b4f103697034abbf2eab99111e8d987Marc Blank return conv.uri.equals(uri); 2143c9bcef43b4f103697034abbf2eab99111e8d987Marc Blank } 2153c9bcef43b4f103697034abbf2eab99111e8d987Marc Blank return false; 216e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank } 217e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank 218e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank @Override 219e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank public int hashCode() { 220e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank return uri.hashCode(); 221e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank } 222e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank 2237f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira /** 2247f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira * Get if this conversation is marked as high priority. 2257f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira */ 2267f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira public boolean isImportant() { 22722657529437c160dec072115c5982409306c1313Mindy Pereira return priority == UIProvider.ConversationPriority.IMPORTANT; 2287f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira } 2297f0a962513503cb01aec093b14c1b48dfae08f12Mindy Pereira 230e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank /** 231e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank * Get if this conversation is mostly dead 232e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank */ 233e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank public boolean isMostlyDead() { 234e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank return (convFlags & FLAG_MOSTLY_DEAD) != 0; 235e1d1b07cdb0026097eb80f6c2912a16353aacec1Marc Blank } 2361b9efd9beb715927e0db7b138ddbb2925bc2c06fMarc Blank}