# HG changeset patch # User nikita@nikita-rack # Date 1239301618 -7200 # Node ID 8de21ac527ce79d35c111956d804efe44fc8217c # Parent 4d6ff785605d7f5c52bf4a64cad4c38a2fcdd37e revert pour refaire un push propre diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/avatar.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/away.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/background.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/bart.jpg diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/chat.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/closed.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/connecting.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/dnd.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/error.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/invisible.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/logo.jpg diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/message.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/not_in_the_roster.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/offline.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/online.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/requested.png diff -r 4d6ff785605d -r 8de21ac527ce res/drawable/xmpp.jpg diff -r 4d6ff785605d -r 8de21ac527ce res/layout/contactlist.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/contactlistcontact.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/contactlistgroup.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/contactlistsettings.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/messagelist.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/sendim.xml diff -r 4d6ff785605d -r 8de21ac527ce res/layout/sendimdialogsmiley.xml diff -r 4d6ff785605d -r 8de21ac527ce res/menu/contactlistmenu.xml --- a/res/menu/contactlistmenu.xml Thu Apr 09 20:02:26 2009 +0200 +++ b/res/menu/contactlistmenu.xml Thu Apr 09 20:26:58 2009 +0200 @@ -1,4 +1,4 @@
diff -r 4d6ff785605d -r 8de21ac527ce res/menu/sendimmenu.xml diff -r 4d6ff785605d -r 8de21ac527ce res/values/colors.xml diff -r 4d6ff785605d -r 8de21ac527ce res/values/strings.xml diff -r 4d6ff785605d -r 8de21ac527ce res/values/style.xml --- a/res/values/style.xml Thu Apr 09 20:02:26 2009 +0200 +++ b/res/values/style.xml Thu Apr 09 20:26:58 2009 +0200 @@ -3,12 +3,10 @@ - + + \ No newline at end of file diff -r 4d6ff785605d -r 8de21ac527ce src/.what diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/BeemApplication.java --- a/src/com/beem/project/beem/BeemApplication.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/BeemApplication.java Thu Apr 09 20:26:58 2009 +0200 @@ -19,6 +19,8 @@ import android.os.IBinder; import android.os.Message; import android.os.RemoteException; +import android.util.Log; +import android.widget.Toast; import com.beem.project.beem.service.aidl.IBeemConnectionListener; import com.beem.project.beem.service.aidl.IXmppConnection; @@ -31,7 +33,9 @@ public class BeemApplication extends Application { private static BeemApplication mBeemApp; + private Activity mActivity; private static final Intent SERVICE_INTENT = new Intent(); + public static final String TAG = "BeemApplication"; private IXmppFacade mFacade; private Context mApplicationContext; private Resources mPrivateResources; @@ -87,6 +91,7 @@ if (mBeemApp == null) { mBeemApp = new BeemApplication(); } + mBeemApp.mActivity = activity; mBeemApp.mProgressDialog = new ProgressDialog(activity); mBeemApp.mProgressDialog.setTitle("Beem"); mBeemApp.mProgressDialog.setIcon(R.drawable.logo); @@ -153,6 +158,34 @@ return mIsConnected; } + private class ConnectionRunnable implements Runnable { + private String mErrorMsg; + + public ConnectionRunnable(String string) { + this.mErrorMsg = string; + } + + @Override + public void run() { + mBeemApp.mProgressDialog.setMessage(mErrorMsg); + } + + /** + * @param mErrorMsg the mErrorMsg to set + */ + public void setMErrorMsg(String mErrorMsg) { + this.mErrorMsg = mErrorMsg; + } + + /** + * @return the mErrorMsg + */ + public String getMErrorMsg() { + return mErrorMsg; + } + + } + /** * Connection listener use to hide the progress dialog. * @author darisk @@ -172,6 +205,7 @@ @Override public void connectionClosed() throws RemoteException { // TODO Auto-generated method stub + Log.e("BeemApp","test1"); } @@ -180,7 +214,8 @@ */ @Override public void connectionClosedOnError() throws RemoteException { - // TODO Auto-generated method stub + mBeemApp.mProgressDialog.setMessage("Connexion closed on error"); + Log.e(TAG,"onnectionClosedOnError"); // afficher une notification et reafficher le progress dialog } @@ -215,6 +250,7 @@ @Override public void reconnectionFailed() throws RemoteException { // TODO Auto-generated method stub + Log.e("BeemApp","test3"); } @@ -227,6 +263,13 @@ } + @Override + public void connectionFailed(String errorMsg) throws RemoteException { + Log.i(TAG, "Connection Failed"); + ConnectionRunnable cRun = new ConnectionRunnable(errorMsg); + mBeemApp.mActivity.runOnUiThread(cRun); + } + } } diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/BeemException.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/BeemService.java --- a/src/com/beem/project/beem/BeemService.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/BeemService.java Thu Apr 09 20:26:58 2009 +0200 @@ -77,7 +77,7 @@ mLogin = mSettings.getString(getString(R.string.PreferenceLoginKey), ""); mPassword = mSettings.getString(getString(R.string.PreferencePasswordKey), ""); mHost = mSettings.getString(getString(R.string.PreferenceHostKey), ""); - mHost = "10.0.2.2"; + mHost = "10.0.2.5"; initConnectionConfig(); mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mConnection = new XmppConnectionAdapter(mConnectionConfiguration, mLogin, mPassword); @@ -137,95 +137,101 @@ } mConnectionConfiguration.setSendPresence(true); } - + private void initRosterRequestListener() { Roster.setDefaultSubscriptionMode(SubscriptionMode.manual); final XMPPConnection con = mConnection.getAdaptee(); try { // l'ajout d'un packet listener ne peut etre effectuer que lorsqu'on est connecte au serveur mConnection.addConnectionListener(new IBeemConnectionListener.Stub() { - - @Override - public void reconnectionSuccessful() throws RemoteException { - // TODO Auto-generated method stub - PacketFilter filter = new PacketFilter() { - - @Override - public boolean accept(Packet packet) { - if (packet instanceof Presence) { - Presence pres = (Presence) packet; - if (pres.getType() == Presence.Type.subscribe) - return true; - } - return false; - } - }; - con.addPacketListener(new PacketListener() { - - @Override - public void processPacket(Packet packet) { - // TODO Auto-generated method stub - Log.i("TEST", "Une demande recue"); - } - }, filter); - - } - - @Override - public void reconnectionFailed() throws RemoteException { - // TODO Auto-generated method stub - - } - - @Override - public void reconnectingIn(int seconds) throws RemoteException { - // TODO Auto-generated method stub - - } - - @Override - public void onConnect() throws RemoteException { - // TODO Auto-generated method stub - PacketFilter filter = new PacketFilter() { - - @Override - public boolean accept(Packet packet) { - if (packet instanceof Presence) { - Presence pres = (Presence) packet; - if (pres.getType() == Presence.Type.subscribe) - return true; - } - return false; - } - }; - con.addPacketListener(new PacketListener() { - - @Override - public void processPacket(Packet packet) { - // TODO Auto-generated method stub - Log.i("TEST", "Une demande recue"); - } - }, filter); - - } - - @Override - public void connectionClosedOnError() throws RemoteException { - // TODO Auto-generated method stub - - } - - @Override - public void connectionClosed() throws RemoteException { - // TODO Auto-generated method stub - - } + + @Override + public void reconnectionSuccessful() throws RemoteException { + // TODO Auto-generated method stub + PacketFilter filter = new PacketFilter() { + + @Override + public boolean accept(Packet packet) { + if (packet instanceof Presence) { + Presence pres = (Presence) packet; + if (pres.getType() == Presence.Type.subscribe) + return true; + } + return false; + } + }; + con.addPacketListener(new PacketListener() { + + @Override + public void processPacket(Packet packet) { + // TODO Auto-generated method stub + Log.i("TEST", "Une demande recue"); + } + }, filter); + } + + @Override + public void reconnectionFailed() throws RemoteException { + // TODO Auto-generated method stub + + } + + @Override + public void reconnectingIn(int seconds) throws RemoteException { + // TODO Auto-generated method stub + + } + + @Override + public void onConnect() throws RemoteException { + // TODO Auto-generated method stub + PacketFilter filter = new PacketFilter() { + + @Override + public boolean accept(Packet packet) { + if (packet instanceof Presence) { + Presence pres = (Presence) packet; + if (pres.getType() == Presence.Type.subscribe) + return true; + } + return false; + } + }; + con.addPacketListener(new PacketListener() { + + @Override + public void processPacket(Packet packet) { + // TODO Auto-generated method stub + Log.i("TEST", "Une demande recue"); + } + }, filter); + + } + + @Override + public void connectionClosedOnError() throws RemoteException { + // TODO Auto-generated method stub + + } + + @Override + public void connectionClosed() throws RemoteException { + // TODO Auto-generated method stub + + } + + + @Override + public void connectionFailed(String errorMsg) throws RemoteException { + // TODO Auto-generated method stub + + } }); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } - + } /** diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/Caller.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/FileSender.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/RTPMediaManager.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/RTPMediaSession.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/RTPReceiver.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/RTPTransmitter.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/Receiver.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/ReceiverMediaManager.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/SenderMediaManager.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/jingle/SenderMediaSession.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/provider/Beem.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/provider/BeemDatabaseHelper.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/provider/ContactProvider.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/provider/UserProvider.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/BeemChatManager.java --- a/src/com/beem/project/beem/service/BeemChatManager.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/service/BeemChatManager.java Thu Apr 09 20:26:58 2009 +0200 @@ -11,6 +11,8 @@ import org.jivesoftware.smack.ChatManagerListener; import org.jivesoftware.smack.MessageListener; import org.jivesoftware.smack.packet.Message; +import org.jivesoftware.smackx.ChatState; +import org.jivesoftware.smackx.ChatStateListener; import android.os.RemoteCallbackList; import android.os.RemoteException; @@ -88,7 +90,7 @@ public void removeChatCreationListener(IChatManagerListener listener) throws RemoteException { mRemoteChatCreationListeners.unregister(listener); } - + private IChat getChat(Chat chat) { if (mChats.containsKey(chat.getParticipant())) { return mChats.get(chat.getParticipant()); @@ -102,13 +104,12 @@ * A listener for all the chat creation event that happens on the connection. * @author darisk */ - private class ChatListener implements ChatManagerListener, MessageListener { + private class ChatListener implements ChatStateListener, ChatManagerListener, MessageListener { /** * Constructor. */ public ChatListener() { - // TODO Auto-generated constructor stub } /** @@ -138,8 +139,8 @@ @Override public void processMessage(Chat chat, Message message) { IChat newchat = getChat(chat); - final int n = mRemoteMessageListeners.beginBroadcast(); - for (int i = 0; i < n; i++) { + final int n = mRemoteMessageListeners.beginBroadcast(); + for (int i = 0; i < n; i++) { IMessageListener listener = mRemoteMessageListeners.getBroadcastItem(i); try { listener.processMessage(newchat, new com.beem.project.beem.service.Message(message)); @@ -152,6 +153,15 @@ } mRemoteMessageListeners.finishBroadcast(); } + + @Override + public void stateChanged(Chat chat, ChatState state) { + try { + mChats.get(chat.getParticipant()).setState(state.name()); + } catch (RemoteException e) { + e.printStackTrace(); + } + } } } diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/ChatAdapter.java --- a/src/com/beem/project/beem/service/ChatAdapter.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/service/ChatAdapter.java Thu Apr 09 20:26:58 2009 +0200 @@ -17,6 +17,7 @@ public class ChatAdapter extends IChat.Stub { private Chat mAdaptee; private Contact mParticipant; + private String mState; /** * Constructor. @@ -56,4 +57,14 @@ } } + @Override + public String getState() throws RemoteException { + return mState; + } + + @Override + public void setState(String state) throws RemoteException { + mState = state; + } + } diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/Contact.java --- a/src/com/beem/project/beem/service/Contact.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/service/Contact.java Thu Apr 09 20:26:58 2009 +0200 @@ -6,7 +6,6 @@ import java.util.ArrayList; import java.util.List; -import org.jivesoftware.smack.RosterEntry; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.packet.Presence.Mode; @@ -163,6 +162,7 @@ * @param presence the presence containing status */ public void setStatus(Presence presence) { + Log.i(TAG,"PRESENCE"); if (presence.getType().equals(Presence.Type.unavailable)) { Log.d(TAG, "Presence pas dispo"); mStatus = Contact.CONTACT_STATUS_DISCONNECT; diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/Message.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/PresenceAdapter.java diff -r 4d6ff785605d -r 8de21ac527ce src/com/beem/project/beem/service/RosterAdapter.java --- a/src/com/beem/project/beem/service/RosterAdapter.java Thu Apr 09 20:02:26 2009 +0200 +++ b/src/com/beem/project/beem/service/RosterAdapter.java Thu Apr 09 20:26:58 2009 +0200 @@ -42,6 +42,7 @@ * @param roster the roster to adapt */ public RosterAdapter(final Roster roster) { + Log.d(TAG, "CTOR"); mAdaptee = roster; roster.addRosterListener(mRosterListener); for (RosterEntry entry : roster.getEntries()) { @@ -185,7 +186,7 @@ */ @Override public void entriesUpdated(Collection