author | nikita@nikita-rack |
Thu, 09 Apr 2009 17:58:19 +0200 | |
changeset 96 | e0eabd2266fe |
parent 83 | 2e6e98e9f8ef |
child 98 | 4d6ff785605d |
child 106 | a9bc9297dff7 |
permissions | -rw-r--r-- |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
1 |
/** |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
2 |
* |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
3 |
*/ |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
4 |
package com.beem.project.beem.service; |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
5 |
|
69 | 6 |
import java.util.ArrayList; |
7 |
import java.util.List; |
|
8 |
||
65 | 9 |
import org.jivesoftware.smack.packet.Presence; |
10 |
import org.jivesoftware.smack.packet.Presence.Mode; |
|
11 |
||
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
12 |
import android.os.Parcel; |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
13 |
import android.os.Parcelable; |
65 | 14 |
import android.util.Log; |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
15 |
|
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
16 |
/** |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
17 |
* This class contains informations on a jabber contact. |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
18 |
* @author darisk |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
19 |
*/ |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
20 |
public class Contact implements Parcelable { |
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
21 |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
22 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
23 |
* Status of a disconnected contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
24 |
*/ |
69 | 25 |
public static final int CONTACT_STATUS_DISCONNECT = 100; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
26 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
27 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
28 |
* Status of a unavailable (long away) contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
29 |
*/ |
69 | 30 |
public static final int CONTACT_STATUS_UNAVAILABLE = 200; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
31 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
32 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
33 |
* Status of a away contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
34 |
*/ |
69 | 35 |
public static final int CONTACT_STATUS_AWAY = 300; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
36 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
37 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
38 |
* Status of a busy contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
39 |
*/ |
69 | 40 |
public static final int CONTACT_STATUS_BUSY = 400; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
41 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
42 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
43 |
* Status of a available contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
44 |
*/ |
69 | 45 |
public static final int CONTACT_STATUS_AVAILABLE = 500; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
46 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
47 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
48 |
* Status of a available for chat contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
49 |
*/ |
69 | 50 |
public static final int CONTACT_STATUS_AVAILABLE_FOR_CHAT = 600; |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
51 |
|
69 | 52 |
private static final String TAG = "Contact"; |
65 | 53 |
|
69 | 54 |
private int mID; |
55 |
private int mStatus; |
|
56 |
private String mJID; |
|
57 |
private String mMsgState; |
|
58 |
private List<String> mRes; |
|
65 | 59 |
|
69 | 60 |
/** |
61 |
* Parcelable.Creator needs by Android. |
|
62 |
*/ |
|
63 |
public static final Parcelable.Creator<Contact> CREATOR = new Parcelable.Creator<Contact>() { |
|
65 | 64 |
|
69 | 65 |
@Override |
66 |
public Contact createFromParcel(Parcel source) { |
|
67 |
return new Contact(source); |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
68 |
} |
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
69 |
|
69 | 70 |
@Override |
71 |
public Contact[] newArray(int size) { |
|
72 |
return new Contact[size]; |
|
65 | 73 |
} |
69 | 74 |
}; |
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
75 |
|
69 | 76 |
/** |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
77 |
* Constructor. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
78 |
*/ |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
79 |
public Contact() { |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
80 |
// TODO Auto-generated constructor stub |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
81 |
} |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
82 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
83 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
84 |
* Constructor. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
85 |
* @param jid JID of the contact |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
86 |
*/ |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
87 |
public Contact(final String jid) { |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
88 |
mJID = jid; |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
89 |
mStatus = Contact.CONTACT_STATUS_DISCONNECT; |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
90 |
mRes = new ArrayList<String>(); |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
91 |
mRes.add("none"); |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
92 |
} |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
93 |
|
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
94 |
/** |
69 | 95 |
* Construct a contact from a parcel. |
96 |
* @param in parcel to use for construction |
|
97 |
*/ |
|
98 |
private Contact(final Parcel in) { |
|
99 |
mID = in.readInt(); |
|
100 |
mStatus = in.readInt(); |
|
101 |
mJID = in.readString(); |
|
102 |
mMsgState = in.readString(); |
|
103 |
mRes = new ArrayList<String>(); |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
69
diff
changeset
|
104 |
in.readStringList(mRes); |
69 | 105 |
} |
106 |
||
107 |
/** |
|
108 |
* {@inheritDoc} |
|
109 |
*/ |
|
110 |
@Override |
|
111 |
public void writeToParcel(Parcel dest, int flags) { |
|
112 |
dest.writeInt(mID); |
|
113 |
dest.writeInt(mStatus); |
|
114 |
dest.writeString(mJID); |
|
115 |
dest.writeString(mMsgState); |
|
116 |
dest.writeStringList(getMRes()); |
|
117 |
} |
|
118 |
||
119 |
/** |
|
120 |
* {@inheritDoc} |
|
121 |
*/ |
|
122 |
@Override |
|
123 |
public int describeContents() { |
|
124 |
// TODO Auto-generated method stub |
|
125 |
return 0; |
|
126 |
} |
|
127 |
||
128 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
129 |
* Get the id of the contact on the phone contact list. |
69 | 130 |
* @return the mID |
131 |
*/ |
|
132 |
public int getID() { |
|
133 |
return mID; |
|
134 |
} |
|
135 |
||
136 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
137 |
* set the id of te contact on the phone contact list. |
69 | 138 |
* @param mid the mID to set |
139 |
*/ |
|
140 |
public void setID(int mid) { |
|
141 |
mID = mid; |
|
142 |
} |
|
143 |
||
144 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
145 |
* Get the status of the contact. |
69 | 146 |
* @return the mStatus |
147 |
*/ |
|
148 |
public int getStatus() { |
|
149 |
return mStatus; |
|
150 |
} |
|
151 |
||
152 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
153 |
* Set the status of the contact. |
69 | 154 |
* @param status the mStatus to set |
155 |
*/ |
|
156 |
public void setStatus(int status) { |
|
157 |
mStatus = status; |
|
158 |
} |
|
159 |
||
160 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
161 |
* Set the status of the contact using a presence packet. |
69 | 162 |
* @param presence the presence containing status |
163 |
*/ |
|
164 |
public void setStatus(Presence presence) { |
|
96
e0eabd2266fe
ajout du debut de la gestion d'erreur de connection bout en bout, il
nikita@nikita-rack
parents:
83
diff
changeset
|
165 |
Log.i(TAG,"PRESENCE"); |
69 | 166 |
if (presence.getType().equals(Presence.Type.unavailable)) { |
167 |
Log.d(TAG, "Presence pas dispo"); |
|
168 |
mStatus = Contact.CONTACT_STATUS_DISCONNECT; |
|
169 |
} else { |
|
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
69
diff
changeset
|
170 |
Log.d(TAG, "Presence OK"); |
69 | 171 |
Mode mode = presence.getMode(); |
83 | 172 |
if (mode == null) { |
173 |
mStatus = Contact.CONTACT_STATUS_AVAILABLE; |
|
174 |
} |
|
175 |
else { |
|
176 |
switch (mode) { |
|
177 |
case available: |
|
178 |
Log.d(TAG, "Available"); |
|
179 |
mStatus = Contact.CONTACT_STATUS_AVAILABLE; |
|
180 |
break; |
|
181 |
case away: |
|
182 |
Log.d(TAG, "Away"); |
|
183 |
mStatus = Contact.CONTACT_STATUS_AWAY; |
|
184 |
break; |
|
185 |
case chat: |
|
186 |
Log.d(TAG, "Chat"); |
|
187 |
mStatus = Contact.CONTACT_STATUS_AVAILABLE_FOR_CHAT; |
|
188 |
break; |
|
189 |
case dnd: |
|
190 |
Log.d(TAG, "Dnd"); |
|
191 |
mStatus = Contact.CONTACT_STATUS_BUSY; |
|
192 |
break; |
|
193 |
case xa: |
|
194 |
Log.d(TAG, "Xa"); |
|
195 |
mStatus = Contact.CONTACT_STATUS_UNAVAILABLE; |
|
196 |
break; |
|
197 |
default: |
|
198 |
Log.d(TAG, "Status mode non gere"); |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
199 |
mStatus = Contact.CONTACT_STATUS_DISCONNECT; |
77
0f474a0c4e93
Hop petit commit pour que popop puisse debugger.
marseille@KungFuh
parents:
69
diff
changeset
|
200 |
break; |
83 | 201 |
} |
69 | 202 |
} |
65 | 203 |
} |
69 | 204 |
} |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
205 |
|
69 | 206 |
/** |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
207 |
* Get the message status of the contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
208 |
* @return the message status of the contact. |
69 | 209 |
*/ |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
210 |
public String getMsgState() { |
69 | 211 |
return mMsgState; |
212 |
} |
|
213 |
||
214 |
/** |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
215 |
* Set the message status of the contact. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
216 |
* @param msgState the message status of the contact to set |
69 | 217 |
*/ |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
218 |
public void setMsgState(String msgState) { |
69 | 219 |
mMsgState = msgState; |
220 |
} |
|
221 |
||
222 |
/** |
|
223 |
* Get the Jabber ID of the contact. |
|
224 |
* @return the Jabber ID |
|
225 |
*/ |
|
226 |
public String getJID() { |
|
227 |
return mJID; |
|
228 |
} |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
229 |
|
69 | 230 |
/** |
231 |
* Set the Jabber ID of the contact. |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
232 |
* @param mjid the jabber ID to set |
69 | 233 |
*/ |
234 |
public void setJID(String mjid) { |
|
235 |
mJID = mjid; |
|
236 |
} |
|
237 |
||
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
238 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
239 |
* |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
240 |
* @param res |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
241 |
*/ |
69 | 242 |
public void addRes(String res) { |
243 |
if (!mRes.contains(res)) |
|
244 |
mRes.add(res); |
|
245 |
} |
|
50
ccaeac5ed152
Add a class for representing im message
Da Risk <darisk972@gmail.com>
parents:
38
diff
changeset
|
246 |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
247 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
248 |
* |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
249 |
* @param res |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
250 |
*/ |
69 | 251 |
public void delRes(String res) { |
252 |
mRes.remove(res); |
|
253 |
} |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
254 |
|
69 | 255 |
/** |
256 |
* @param mRes the mRes to set |
|
257 |
*/ |
|
258 |
public void setMRes(List<String> mRes) { |
|
259 |
this.mRes = mRes; |
|
260 |
} |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
261 |
|
69 | 262 |
/** |
263 |
* @return the mRes |
|
264 |
*/ |
|
265 |
public List<String> getMRes() { |
|
266 |
return mRes; |
|
267 |
} |
|
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
268 |
} |