# HG changeset patch # User nikita@nikita-portable # Date 1242571349 -7200 # Node ID 00aee9a4255530bf965711cfd7af94cb7d222574 # Parent ce342bfa7bdb3b27545dc88333cf2f570fad0542 IssueID #82 Le chate state est bien envoyer et recu coter ui, il faut encore l'afficher, et donc prevoir un endroit ou l'afficher. Je laisse ca a barbi car je sais qu'il adore ça :D diff -r ce342bfa7bdb -r 00aee9a42555 src/com/beem/project/beem/service/BeemChatManager.java --- a/src/com/beem/project/beem/service/BeemChatManager.java Sun May 17 16:11:01 2009 +0200 +++ b/src/com/beem/project/beem/service/BeemChatManager.java Sun May 17 16:42:29 2009 +0200 @@ -186,9 +186,8 @@ @Override public void processMessage(Chat chat, Message message) { IChat newchat = getChat(chat); + try { - try { - if (message.getBody() != null) newchat.addToLastMessages(message.getBody()); final int n = mRemoteMessageListeners.beginBroadcast(); @@ -209,12 +208,23 @@ @Override public void stateChanged(Chat chat, ChatState state) { + IChat newchat = getChat(chat); try { - Log.d(TAG, "state changed"); - mChats.get(chat.getParticipant()).setState(state.name()); + newchat.setState(state.name()); } catch (RemoteException e) { e.printStackTrace(); } + final int n = mRemoteMessageListeners.beginBroadcast(); + + for (int i = 0; i < n; i++) { + IMessageListener listener = mRemoteMessageListeners.getBroadcastItem(i); + try { + listener.stateChanged(newchat); + } catch (RemoteException e) { + Log.w(TAG, "Error while changing chat state", e); + } + } + mRemoteMessageListeners.finishBroadcast(); } } diff -r ce342bfa7bdb -r 00aee9a42555 src/com/beem/project/beem/service/aidl/IMessageListener.aidl --- a/src/com/beem/project/beem/service/aidl/IMessageListener.aidl Sun May 17 16:11:01 2009 +0200 +++ b/src/com/beem/project/beem/service/aidl/IMessageListener.aidl Sun May 17 16:42:29 2009 +0200 @@ -6,4 +6,9 @@ interface IMessageListener { void processMessage(in IChat chat, in Message msg); + + /** + * le chatState se trouve dans le IChat + */ + void stateChanged(in IChat chat); } diff -r ce342bfa7bdb -r 00aee9a42555 src/com/beem/project/beem/ui/SendIM.java --- a/src/com/beem/project/beem/ui/SendIM.java Sun May 17 16:11:01 2009 +0200 +++ b/src/com/beem/project/beem/ui/SendIM.java Sun May 17 16:42:29 2009 +0200 @@ -107,7 +107,7 @@ } - + @Override protected void onResume() { super.onResume(); @@ -116,7 +116,7 @@ mBeemApplication.startBeemService(); mBeemApplication.callWhenConnectedToServer(mHandler, new Runnable() { - @Override + @Override public void run() { mService = mBeemApplication.getXmppFacade(); try { @@ -131,7 +131,7 @@ } mChat.setOpen(true); } catch (RemoteException e) { - Log.e(TAG, "Error during chat manager creation", e); + Log.e(TAG, "Error during chat manager creation", e); } } }); @@ -280,5 +280,11 @@ } }); } + + @Override + public void stateChanged(IChat chat) throws RemoteException { + //TODO: a integrer dans l'ui + //Log.d(TAG, "state changed"); + } } }