author | Da Risk <darisk972@gmail.com> |
Wed, 28 Oct 2009 20:36:02 +0100 | |
changeset 474 | dd6d3c09d0d1 |
parent 453 | ca4fa180e533 |
child 482 | a5a7e1af3611 |
permissions | -rw-r--r-- |
371 | 1 |
/** |
2 |
* |
|
3 |
*/ |
|
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
4 |
package com.beem.project.beem.service; |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
5 |
|
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
6 |
import java.util.ArrayList; |
51
85705bdb77ab
Ajout d'une methode pour recuperer les groups du roster
Da Risk <darisk972@gmail.com>
parents:
38
diff
changeset
|
7 |
import java.util.Collection; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
8 |
import java.util.List; |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
9 |
|
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
10 |
import org.jivesoftware.smack.Roster; |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
11 |
import org.jivesoftware.smack.RosterEntry; |
51
85705bdb77ab
Ajout d'une methode pour recuperer les groups du roster
Da Risk <darisk972@gmail.com>
parents:
38
diff
changeset
|
12 |
import org.jivesoftware.smack.RosterGroup; |
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
13 |
import org.jivesoftware.smack.RosterListener; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
14 |
import org.jivesoftware.smack.XMPPException; |
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
15 |
import org.jivesoftware.smack.packet.Presence; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
16 |
|
61 | 17 |
import android.os.RemoteCallbackList; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
18 |
import android.os.RemoteException; |
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
19 |
import android.util.Log; |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
20 |
|
212 | 21 |
import com.beem.project.beem.service.aidl.IBeemRosterListener; |
22 |
||
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
23 |
/** |
38
3e76846c48a9
We can now get the contact list of the user.
Da Risk <darisk972@gmail.com>
parents:
30
diff
changeset
|
24 |
* This class implement a Roster adapter for BEEM. |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
25 |
* @author darisk |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
26 |
*/ |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
27 |
public class RosterAdapter extends com.beem.project.beem.service.aidl.IRoster.Stub { |
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
28 |
|
268 | 29 |
private static final String TAG = "RosterAdapter"; |
30 |
private Roster mAdaptee; |
|
31 |
private RemoteCallbackList<IBeemRosterListener> mRemoteRosListeners = new RemoteCallbackList<IBeemRosterListener>(); |
|
32 |
||
33 |
private RosterListenerAdapter mRosterListener = new RosterListenerAdapter(); |
|
34 |
||
35 |
/** |
|
36 |
* Constructor. |
|
37 |
* @param roster the roster to adapt |
|
38 |
*/ |
|
39 |
public RosterAdapter(final Roster roster) { |
|
40 |
mAdaptee = roster; |
|
41 |
roster.addRosterListener(mRosterListener); |
|
42 |
} |
|
43 |
||
44 |
/** |
|
45 |
* {@inheritDoc} |
|
46 |
*/ |
|
47 |
@Override |
|
48 |
public void addRosterListener(IBeemRosterListener listen) throws RemoteException { |
|
49 |
if (listen != null) |
|
50 |
mRemoteRosListeners.register(listen); |
|
51 |
} |
|
255 | 52 |
|
268 | 53 |
/** |
54 |
* {@inheritDoc} |
|
55 |
*/ |
|
56 |
@Override |
|
57 |
public Contact addContact(String user, String name, String[] groups) throws RemoteException { |
|
58 |
RosterEntry contact = mAdaptee.getEntry(user); |
|
300 | 59 |
try { |
60 |
mAdaptee.createEntry(user, name, groups); |
|
61 |
contact = mAdaptee.getEntry(user); |
|
62 |
} catch (XMPPException e) { |
|
63 |
Log.e(TAG, "Error while adding new contact", e); |
|
64 |
return null; |
|
268 | 65 |
} |
291 | 66 |
if (groups != null) { |
67 |
for (String groupStr : groups) { |
|
68 |
RosterGroup group = mAdaptee.getGroup(groupStr); |
|
69 |
if (group == null) { |
|
70 |
group = mAdaptee.createGroup(groupStr); |
|
342 | 71 |
} |
291 | 72 |
try { |
73 |
group.addEntry(contact); |
|
74 |
} catch (XMPPException e) { |
|
75 |
e.printStackTrace(); |
|
300 | 76 |
return null; |
291 | 77 |
} |
342 | 78 |
} |
291 | 79 |
} |
300 | 80 |
return getContactFromRosterEntry(contact); |
268 | 81 |
} |
255 | 82 |
|
268 | 83 |
/** |
84 |
* {@inheritDoc} |
|
85 |
*/ |
|
86 |
@Override |
|
425
2e33fad3ec98
User info delete user.
Vincent Veronis <veroni_v@epitech.net>
parents:
402
diff
changeset
|
87 |
public void deleteContact(Contact contact) throws RemoteException { |
268 | 88 |
try { |
286 | 89 |
RosterEntry entry = mAdaptee.getEntry(contact.getJID()); |
425
2e33fad3ec98
User info delete user.
Vincent Veronis <veroni_v@epitech.net>
parents:
402
diff
changeset
|
90 |
mAdaptee.removeEntry(entry); |
268 | 91 |
} catch (XMPPException e) { |
92 |
e.printStackTrace(); |
|
93 |
} |
|
94 |
} |
|
95 |
||
96 |
/** |
|
97 |
* {@inheritDoc} |
|
98 |
*/ |
|
99 |
@Override |
|
100 |
public void createGroup(String groupname) throws RemoteException { |
|
300 | 101 |
try { |
287 | 102 |
mAdaptee.createGroup(groupname); |
300 | 103 |
} catch (IllegalArgumentException e) { |
351 | 104 |
Log.e(TAG, "Error while creating group", e); |
300 | 105 |
} |
268 | 106 |
} |
107 |
||
108 |
/** |
|
109 |
* {@inheritDoc} |
|
110 |
*/ |
|
111 |
@Override |
|
112 |
public Contact getContact(String jid) throws RemoteException { |
|
300 | 113 |
if (mAdaptee.contains(jid)) |
114 |
return getContactFromRosterEntry(mAdaptee.getEntry(jid)); |
|
115 |
return null; |
|
268 | 116 |
} |
117 |
||
118 |
/** |
|
119 |
* {@inheritDoc} |
|
120 |
*/ |
|
121 |
@Override |
|
122 |
public List<Contact> getContactList() throws RemoteException { |
|
350 | 123 |
List<Contact> coList = new ArrayList<Contact>(mAdaptee.getEntries().size()); |
342 | 124 |
for (RosterEntry entry : mAdaptee.getEntries()) { |
300 | 125 |
coList.add(getContactFromRosterEntry(entry)); |
126 |
} |
|
127 |
return coList; |
|
268 | 128 |
} |
255 | 129 |
|
268 | 130 |
/** |
131 |
* {@inheritDoc} |
|
132 |
*/ |
|
133 |
@Override |
|
134 |
public List<String> getGroupsNames() throws RemoteException { |
|
135 |
Collection<RosterGroup> groups = mAdaptee.getGroups(); |
|
474 | 136 |
List<String> result = new ArrayList<String>(groups.size()); |
268 | 137 |
for (RosterGroup rosterGroup : groups) { |
138 |
result.add(rosterGroup.getName()); |
|
139 |
} |
|
140 |
return result; |
|
141 |
} |
|
142 |
||
143 |
/** |
|
144 |
* {@inheritDoc} |
|
145 |
*/ |
|
146 |
@Override |
|
147 |
public void removeRosterListener(IBeemRosterListener listen) throws RemoteException { |
|
148 |
if (listen != null) |
|
149 |
mRemoteRosListeners.unregister(listen); |
|
150 |
} |
|
151 |
||
152 |
/** |
|
342 | 153 |
* {@inheritDoc} |
269 | 154 |
*/ |
268 | 155 |
@Override |
156 |
public void setContactName(String jid, String name) throws RemoteException { |
|
157 |
mAdaptee.getEntry(jid).setName(name); |
|
158 |
} |
|
159 |
||
160 |
@Override |
|
161 |
public PresenceAdapter getPresence(String jid) throws RemoteException { |
|
162 |
return new PresenceAdapter(mAdaptee.getPresence(jid)); |
|
163 |
} |
|
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
164 |
|
443
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
165 |
@Override |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
166 |
public void addContactToGroup(String groupName, String jid) throws RemoteException { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
167 |
createGroup(groupName); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
168 |
RosterGroup group = mAdaptee.getGroup(groupName); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
169 |
try { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
170 |
group.addEntry(mAdaptee.getEntry(jid)); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
171 |
} catch (XMPPException e) { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
172 |
e.printStackTrace(); |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
173 |
} |
443
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
174 |
} |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
175 |
|
443
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
176 |
@Override |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
177 |
public void removeContactFromGroup(String groupName, String jid) throws RemoteException { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
178 |
RosterGroup group = mAdaptee.getGroup(groupName); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
179 |
try { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
180 |
group.removeEntry(mAdaptee.getEntry(jid)); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
181 |
} catch (XMPPException e) { |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
182 |
e.printStackTrace(); |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
183 |
} |
97c8c32b61d0
maj de groupList, ce devrait etre bon pour l'ajout de group et l'ajout de contact dans un groupe, mais a debug encore
Nikita Kozlov <nikita@beem-project.com>
parents:
425
diff
changeset
|
184 |
} |
268 | 185 |
|
349 | 186 |
/** |
187 |
* Get a contact from a RosterEntry. |
|
351 | 188 |
* @param entry a roster entry containing information for the contact. |
189 |
* @return a contact for this entry. |
|
349 | 190 |
*/ |
286 | 191 |
private Contact getContactFromRosterEntry(RosterEntry entry) { |
369
952c6eeb6493
Gestion des resources dans la contactList
Da Risk <darisk972@gmail.com>
parents:
351
diff
changeset
|
192 |
String user = entry.getUser(); |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
193 |
Contact c = new Contact(user); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
194 |
c.setStatus(mAdaptee.getPresence(user)); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
195 |
c.setGroups(entry.getGroups()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
196 |
c.setName(entry.getName()); |
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
197 |
return c; |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
198 |
} |
279
af993bc754a5
Affichage userfriendly du login dans im
Philippe Lago <lago_p@epitech.net>
parents:
271
diff
changeset
|
199 |
|
267 | 200 |
/** |
201 |
* Listener for the roster events. It will call the remote listeners registered. |
|
202 |
* @author darisk |
|
203 |
*/ |
|
204 |
private class RosterListenerAdapter implements RosterListener { |
|
61 | 205 |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
206 |
/** |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
207 |
* Constructor. |
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
208 |
*/ |
267 | 209 |
public RosterListenerAdapter() { |
255 | 210 |
} |
212 | 211 |
|
351 | 212 |
/** |
213 |
* Event which is fired when an entry is deleted for a group. |
|
214 |
* @param group the group the entry was. |
|
215 |
* @param jid the jid of the entry which is deleted. |
|
371 | 216 |
*/ |
286 | 217 |
public void onEntryDeleteFromGroup(String group, String jid) { |
425
2e33fad3ec98
User info delete user.
Vincent Veronis <veroni_v@epitech.net>
parents:
402
diff
changeset
|
218 |
// Log.i(TAG, "entry delete listener"); |
286 | 219 |
final int n = mRemoteRosListeners.beginBroadcast(); |
220 |
for (int i = 0; i < n; i++) { |
|
221 |
IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); |
|
222 |
try { |
|
223 |
listener.onEntryDeleteFromGroup(group, jid); |
|
224 |
} catch (RemoteException e) { |
|
287 | 225 |
Log.w(TAG, "entry delete listener", e); |
286 | 226 |
} |
227 |
} |
|
228 |
mRemoteRosListeners.finishBroadcast(); |
|
229 |
||
371 | 230 |
} |
286 | 231 |
|
255 | 232 |
/** |
233 |
* {@inheritDoc} |
|
234 |
*/ |
|
235 |
@Override |
|
267 | 236 |
public void entriesAdded(Collection<String> addresses) { |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
237 |
// Log.i(TAG, "Ajout de l'entry " + addresses.size() + " " + |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
238 |
// addresses.toArray()[0]); |
267 | 239 |
final int n = mRemoteRosListeners.beginBroadcast(); |
240 |
||
241 |
List<String> tab = new ArrayList<String>(); |
|
242 |
tab.addAll(addresses); |
|
243 |
for (int i = 0; i < n; i++) { |
|
244 |
IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); |
|
245 |
try { |
|
246 |
listener.onEntriesAdded(tab); |
|
247 |
} catch (RemoteException e) { |
|
248 |
Log.w(TAG, "Error while adding roster entries", e); |
|
255 | 249 |
} |
267 | 250 |
} |
251 |
mRemoteRosListeners.finishBroadcast(); |
|
252 |
} |
|
253 |
||
254 |
/** |
|
255 |
* {@inheritDoc} |
|
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
256 |
*/ |
267 | 257 |
@Override |
258 |
public void entriesDeleted(Collection<String> addresses) { |
|
425
2e33fad3ec98
User info delete user.
Vincent Veronis <veroni_v@epitech.net>
parents:
402
diff
changeset
|
259 |
// Log.i(TAG, "Suppression de l'entry"); |
267 | 260 |
final int n = mRemoteRosListeners.beginBroadcast(); |
261 |
||
262 |
List<String> tab = new ArrayList<String>(); |
|
263 |
tab.addAll(addresses); |
|
264 |
for (int i = 0; i < n; i++) { |
|
265 |
IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); |
|
266 |
try { |
|
267 |
listener.onEntriesDeleted(tab); |
|
268 |
} catch (RemoteException e) { |
|
269 |
Log.w(TAG, "Error while deleting roster entries", e); |
|
69 | 270 |
} |
267 | 271 |
} |
272 |
mRemoteRosListeners.finishBroadcast(); |
|
58
ae9ca6ed9095
Add a listner for presence message in the RosterAdapter class
Da Risk <darisk972@gmail.com>
parents:
55
diff
changeset
|
273 |
} |
51
85705bdb77ab
Ajout d'une methode pour recuperer les groups du roster
Da Risk <darisk972@gmail.com>
parents:
38
diff
changeset
|
274 |
|
255 | 275 |
/** |
276 |
* {@inheritDoc} |
|
277 |
*/ |
|
278 |
@Override |
|
267 | 279 |
public void entriesUpdated(Collection<String> addresses) { |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
280 |
// Log.i(TAG, "Update de l'entry " + addresses.size() + " " + |
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
281 |
// addresses.toArray()[0]); |
267 | 282 |
final int n = mRemoteRosListeners.beginBroadcast(); |
212 | 283 |
|
267 | 284 |
List<String> tab = new ArrayList<String>(); |
285 |
tab.addAll(addresses); |
|
286 |
for (int i = 0; i < n; i++) { |
|
287 |
IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); |
|
288 |
try { |
|
289 |
listener.onEntriesUpdated(tab); |
|
290 |
} catch (RemoteException e) { |
|
291 |
Log.w(TAG, "Error while updating roster entries", e); |
|
292 |
} |
|
293 |
} |
|
294 |
mRemoteRosListeners.finishBroadcast(); |
|
251 | 295 |
} |
296 |
||
265
3ee7b8fdbddd
L'ajout de contact ne necessite plus de remplir tous les champs
Da Risk <darisk972@gmail.com>
parents:
255
diff
changeset
|
297 |
/** |
80
29f0d6a23321
Le proxy devrait marcher a peu pres.
Da Risk <darisk972@gmail.com>
parents:
69
diff
changeset
|
298 |
* {@inheritDoc} |
265
3ee7b8fdbddd
L'ajout de contact ne necessite plus de remplir tous les champs
Da Risk <darisk972@gmail.com>
parents:
255
diff
changeset
|
299 |
*/ |
69 | 300 |
@Override |
267 | 301 |
public void presenceChanged(Presence presence) { |
425
2e33fad3ec98
User info delete user.
Vincent Veronis <veroni_v@epitech.net>
parents:
402
diff
changeset
|
302 |
// Log.i(TAG, "presence Changed"); |
267 | 303 |
/* redispatch vers les IBeemRosterListener */ |
304 |
final int n = mRemoteRosListeners.beginBroadcast(); |
|
265
3ee7b8fdbddd
L'ajout de contact ne necessite plus de remplir tous les champs
Da Risk <darisk972@gmail.com>
parents:
255
diff
changeset
|
305 |
|
267 | 306 |
for (int i = 0; i < n; i++) { |
307 |
IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); |
|
308 |
try { |
|
309 |
listener.onPresenceChanged(new PresenceAdapter(presence)); |
|
310 |
} catch (RemoteException e) { |
|
311 |
// The RemoteCallbackList will take care of removing the |
|
312 |
// dead listeners. |
|
402
4684a42ae0ad
pas mal de cleannance et aussi du debug sur les decos
Nikita Kozlov <nikita@beem-project.com>
parents:
371
diff
changeset
|
313 |
Log.w(TAG, "Error while updating roster presence entries", e); |
265
3ee7b8fdbddd
L'ajout de contact ne necessite plus de remplir tous les champs
Da Risk <darisk972@gmail.com>
parents:
255
diff
changeset
|
314 |
} |
267 | 315 |
} |
316 |
mRemoteRosListeners.finishBroadcast(); |
|
265
3ee7b8fdbddd
L'ajout de contact ne necessite plus de remplir tous les champs
Da Risk <darisk972@gmail.com>
parents:
255
diff
changeset
|
317 |
} |
450
fe0ba62ee3ff
Correction de l'ensemble des erreurs de CheckStyle.
dasilvj
parents:
443
diff
changeset
|
318 |
} |
30
7057a9d3657a
Add some adapter for smack classes
Da Risk <darisk972@gmail.com>
parents:
diff
changeset
|
319 |
} |