# HG changeset patch # User Marseille # Date 1245774743 -7200 # Node ID ecd2cb5f618ef04fa66c5495cc4047f4867f34b7 # Parent ee754b3043a83515bcf3cfee359e5ba25209420b Pfiou ... Correciton de bug trouve lors de la connection et reconnection etc. diff -r ee754b3043a8 -r ecd2cb5f618e res/layout/login.xml --- a/res/layout/login.xml Tue Jun 23 17:19:29 2009 +0200 +++ b/res/layout/login.xml Tue Jun 23 18:32:23 2009 +0200 @@ -4,6 +4,9 @@ android:layout_height="fill_parent"> + diff -r ee754b3043a8 -r ecd2cb5f618e src/com/beem/project/beem/BeemService.java --- a/src/com/beem/project/beem/BeemService.java Tue Jun 23 17:19:29 2009 +0200 +++ b/src/com/beem/project/beem/BeemService.java Tue Jun 23 18:32:23 2009 +0200 @@ -245,7 +245,6 @@ @Override public void onDestroy() { super.onDestroy(); - Log.e("BEEEMSERVICE", "ONDESTROY"); closeConnection(); mNotificationManager.cancel(NOTIFICATION_STATUS_ID); Log.e("BEEEMSERVICE", "ONDESTROY"); diff -r ee754b3043a8 -r ecd2cb5f618e src/com/beem/project/beem/service/XmppConnectionAdapter.java --- a/src/com/beem/project/beem/service/XmppConnectionAdapter.java Tue Jun 23 17:19:29 2009 +0200 +++ b/src/com/beem/project/beem/service/XmppConnectionAdapter.java Tue Jun 23 18:32:23 2009 +0200 @@ -130,7 +130,7 @@ return true; } catch (XMPPException e) { Log.e(TAG, "Error while connecting", e); - if (e.getXMPPError().getMessage() != null) + if (e.getXMPPError() != null && e.getXMPPError().getMessage() != null) mConListener.connectionFailed(e.getXMPPError().getMessage()); else mConListener.connectionFailed("Error On Connection"); diff -r ee754b3043a8 -r ecd2cb5f618e src/com/beem/project/beem/ui/Login.java --- a/src/com/beem/project/beem/ui/Login.java Tue Jun 23 17:19:29 2009 +0200 +++ b/src/com/beem/project/beem/ui/Login.java Tue Jun 23 18:32:23 2009 +0200 @@ -17,6 +17,7 @@ import android.widget.Button; import android.widget.Toast; +import com.beem.project.beem.BeemService; import com.beem.project.beem.R; import com.beem.project.beem.service.aidl.IBeemConnectionListener; import com.beem.project.beem.service.aidl.IXmppConnection; @@ -89,7 +90,7 @@ @Override protected void onDestroy() { super.onDestroy(); - if (mIsConnected) { + if (mIsConnected || xmppFacade == null) { unbindService(mServConn); } } @@ -123,28 +124,19 @@ @Override public void connectionClosed() throws RemoteException { - /* - mIsConnected = false; - Login.this.unbindService(mServConn); - Login.this.stopService(SERVICE_INTENT); - */ Log.e("Login", "CONNECTIONCLOSED"); } @Override public void connectionClosedOnError() throws RemoteException { - /* - mIsConnected = false; - Login.this.unbindService(mServConn); - Login.this.stopService(SERVICE_INTENT); - */ Log.e("Login", "CONNECTIONCLOSEONERROR"); } @Override public void connectionFailed(String errorMsg) throws RemoteException { mIsConnected = false; - Login.this.unbindService(mServConn); + if(xmppFacade != null) + Login.this.unbindService(mServConn); Login.this.stopService(SERVICE_INTENT); connectionHandler.post(new ErrorRunnable(errorMsg)); dismissProgressDialog(); @@ -155,7 +147,7 @@ connectionHandler.post(new Runnable() { @Override public void run() { - Toast.makeText(Login.this, errorMsg, Toast.LENGTH_SHORT).show(); + Toast.makeText(Login.this, errorMsg, Toast.LENGTH_LONG).show(); } }); } @@ -182,6 +174,7 @@ @Override public void reconnectingIn(int seconds) throws RemoteException { + mIsConnected = true; } @@ -201,6 +194,7 @@ @Override public void onServiceConnected(ComponentName name, IBinder service) { + mIsConnected = true; xmppFacade = IXmppFacade.Stub.asInterface(service); try { xmppConnection = xmppFacade.createConnection(); @@ -216,7 +210,6 @@ }); Login.this.startService(Login.SERVICE_INTENT); } else { - mIsConnected = true; startActivity(new Intent(Login.this, ContactList.class)); finish(); } @@ -227,8 +220,8 @@ @Override public void onServiceDisconnected(ComponentName name) { + mIsConnected = false; xmppFacade = null; - mIsConnected = false; } }