OSDN Git Service

original
[gb-231r1-is01/Gingerbread_2.3.3_r1_IS01.git] / packages / apps / Mms / src / com / android / mms / ui / ConversationListItemData.java
1 /*
2  * Copyright (C) 2008 Esmertec AG.
3  * Copyright (C) 2008 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 package com.android.mms.ui;
19
20 import android.content.Context;
21
22 import com.android.mms.data.ContactList;
23 import com.android.mms.data.Conversation;
24
25 /**
26  * A holder class for a conversation header.
27  */
28 public class ConversationListItemData {
29     private Conversation mConversation;
30     private long mThreadId;
31     private String mSubject;
32     private String mDate;
33     private boolean mHasAttachment;
34     private boolean mIsRead;
35     private boolean mHasError;
36     private boolean mHasDraft;
37     private int mMessageCount;
38
39     // The recipients in this conversation
40     private ContactList mRecipients;
41     private String mRecipientString;
42
43     // the presence icon resource id displayed for the conversation thread.
44     private int mPresenceResId;
45
46     public ConversationListItemData(Context context, Conversation conv) {
47         mConversation = conv;
48         mThreadId = conv.getThreadId();
49         mPresenceResId = 0;
50         mSubject = conv.getSnippet();
51         mDate = MessageUtils.formatTimeStampString(context, conv.getDate());
52         mIsRead = !conv.hasUnreadMessages();
53         mHasError = conv.hasError();
54         mHasDraft = conv.hasDraft();
55         mMessageCount = conv.getMessageCount();
56         mHasAttachment = conv.hasAttachment();
57         updateRecipients();
58     }
59
60     public void updateRecipients() {
61         mRecipients = mConversation.getRecipients();
62         mRecipientString = mRecipients.formatNames(", ");
63     }
64
65     /**
66      * @return Returns the ID of the thread.
67      */
68     public long getThreadId() {
69         return mThreadId;
70     }
71
72     /**
73      * @return Returns the date.
74      */
75     public String getDate() {
76         return mDate;
77     }
78
79     /**
80      * @return Returns the from.  (formatted for display)
81      */
82     public String getFrom() {
83         return mRecipientString;
84     }
85
86     public ContactList getContacts() {
87         return mRecipients;
88     }
89
90     public int getPresenceResourceId() {
91         return mPresenceResId;
92     }
93
94     /**
95      * @return Returns the subject.
96      */
97     public String getSubject() {
98         return mSubject;
99     }
100
101     /**
102      * @return Returns the hasAttachment.
103      */
104     public boolean hasAttachment() {
105         return mHasAttachment;
106     }
107
108     /**
109      * @return Returns the isRead.
110      */
111     public boolean isRead() {
112         return mIsRead;
113     }
114
115     /**
116      * @return Whether the thread has a transmission error.
117      */
118     public boolean hasError() {
119         return mHasError;
120     }
121
122     /**
123      * @return Whether the thread has a draft.
124      */
125     public boolean hasDraft() {
126         return mHasDraft;
127     }
128
129     /**
130      * @return message count of the thread.
131      */
132     public int getMessageCount() {
133         return mMessageCount;
134     }
135
136     /*
137      * (non-Javadoc)
138      * @see java.lang.Object#toString()
139      */
140     @Override
141     public String toString() {
142         return "[ConversationHeader from:" + getFrom() + " subject:" + getSubject()
143         + "]";
144     }
145 }