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