# HG changeset patch # User nikita@nikita-laptop # Date 1261530282 -3600 # Node ID 6425dcd8ebb6a5ac96989b8a34783076983d35c1 # Parent 1ca0e63b1886dd72297656ecc1e4fd0428d8be23 There are a bug when trying to delete a contact who is alone in several groups in gtalk. diff -r 1ca0e63b1886 -r 6425dcd8ebb6 src/com/beem/project/beem/service/RosterAdapter.java --- a/src/com/beem/project/beem/service/RosterAdapter.java Tue Dec 22 17:54:23 2009 +0100 +++ b/src/com/beem/project/beem/service/RosterAdapter.java Wed Dec 23 02:04:42 2009 +0100 @@ -302,26 +302,6 @@ } /** - * Event which is fired when an entry is deleted for a group. - * @param group the group the entry was. - * @param jid the jid of the entry which is deleted. - */ - public void onEntryDeleteFromGroup(final String group, final String jid) { - // Log.i(TAG, "entry delete listener"); - final int n = mRemoteRosListeners.beginBroadcast(); - for (int i = 0; i < n; i++) { - IBeemRosterListener listener = mRemoteRosListeners.getBroadcastItem(i); - try { - listener.onEntryDeleteFromGroup(group, jid); - } catch (RemoteException e) { - Log.w(TAG, "entry delete listener", e); - } - } - mRemoteRosListeners.finishBroadcast(); - - } - - /** * {@inheritDoc} */ @Override @@ -348,7 +328,7 @@ */ @Override public void entriesDeleted(Collection addresses) { - // Log.i(TAG, "Suppression de l'entry"); + Log.i(TAG, "Suppression de l'entry"); final int n = mRemoteRosListeners.beginBroadcast(); List tab = new ArrayList(); @@ -369,8 +349,8 @@ */ @Override public void entriesUpdated(Collection addresses) { - // Log.i(TAG, "Update de l'entry " + addresses.size() + " " + - // addresses.toArray()[0]); + Log.i(TAG, "Update de l'entry " + addresses.size() + " " + + addresses.toArray()[0]); final int n = mRemoteRosListeners.beginBroadcast(); List tab = new ArrayList(); diff -r 1ca0e63b1886 -r 6425dcd8ebb6 src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl --- a/src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl Tue Dec 22 17:54:23 2009 +0100 +++ b/src/com/beem/project/beem/service/aidl/IBeemRosterListener.aidl Wed Dec 23 02:04:42 2009 +0100 @@ -50,5 +50,4 @@ void onEntriesUpdated(in List addresses); void onEntriesDeleted(in List addresses); void onPresenceChanged(in PresenceAdapter presence); - void onEntryDeleteFromGroup(in String group, in String jid); } diff -r 1ca0e63b1886 -r 6425dcd8ebb6 src/com/beem/project/beem/ui/Chat.java --- a/src/com/beem/project/beem/ui/Chat.java Tue Dec 22 17:54:23 2009 +0100 +++ b/src/com/beem/project/beem/ui/Chat.java Wed Dec 23 02:04:42 2009 +0100 @@ -461,13 +461,6 @@ * {@inheritDoc}. */ @Override - public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException { - } - - /** - * {@inheritDoc}. - */ - @Override public void onPresenceChanged(final PresenceAdapter presence) throws RemoteException { if (mContact.getJID().equals(StringUtils.parseBareAddress(presence.getFrom()))) { mHandler.post(new Runnable() { diff -r 1ca0e63b1886 -r 6425dcd8ebb6 src/com/beem/project/beem/ui/ContactList.java --- a/src/com/beem/project/beem/ui/ContactList.java Tue Dec 22 17:54:23 2009 +0100 +++ b/src/com/beem/project/beem/ui/ContactList.java Wed Dec 23 02:04:42 2009 +0100 @@ -519,6 +519,7 @@ for (String group : mListGroup) { mContactOnGroup.get(group).remove(c); if (mContactOnGroup.get(group).size() == 0) { + mContactOnGroup.remove(group); mListGroup.remove(group); mListContact = mContactOnGroup.get(getString(R.string.contact_list_all_contact)); } @@ -546,29 +547,6 @@ mHandler.post(new RunnableChange()); } - @Override - public void onEntryDeleteFromGroup(String group, String jid) throws RemoteException { - List tmpContactList = mContactOnGroup.get(group); - Contact curContact = null; - for (Contact c : tmpContactList) { - if (jid.equals(c.getJID())) { - curContact = c; - tmpContactList.remove(c); - c.getGroups().remove(group); - if (mContactOnGroup.get(group).size() == 0) { - mContactOnGroup.remove(group); - mListGroup.remove(group); - mListContact = mContactOnGroup.get(getString(R.string.contact_list_all_contact)); - } - break; - } - } - if (curContact != null && curContact.getGroups().size() == 0) { - mContactOnGroup.get(getString(R.string.contact_list_no_group)).add(curContact); - } - mHandler.post(new RunnableChange()); - } - /** * {@inheritDoc} */