--- a/src/com/beem/project/beem/BeemService.java Sat May 15 14:36:13 2010 +0200
+++ b/src/com/beem/project/beem/BeemService.java Sat May 15 14:54:18 2010 +0200
@@ -78,7 +78,9 @@
import com.beem.project.beem.utils.Status;
/**
- * This class is for the Beem service. The connection to the xmpp server will be made asynchronously when the service
+ * This class is for the Beem service.
+ * It must contains every global informations needed to maintain the background service.
+ * The connection to the xmpp server will be made asynchronously when the service
* will start.
* @author darisk
*/
@@ -157,9 +159,6 @@
return mBind;
}
- /* (non-Javadoc)
- * @see android.app.Service#onUnbind(android.content.Intent)
- */
@Override
public boolean onUnbind(Intent intent) {
Log.d(TAG, "ONUNBIND()");
@@ -170,7 +169,6 @@
}
-
/**
* {@inheritDoc}
*/
@@ -401,9 +399,6 @@
public BeemServicePreferenceListener() {
}
- /**
- * {@inheritDoc}
- */
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if ("settings_away_chk".equals(key)) {
@@ -428,14 +423,11 @@
private int mOldMode;
/**
- * ctor.
+ * Constructor.
*/
public BeemServiceBroadcastReceiver() {
}
- /**
- * {@inheritDoc}
- */
@Override
public void onReceive(final Context context, final Intent intent) {
String intentAction = intent.getAction();
--- a/src/com/beem/project/beem/ui/Chat.java Sat May 15 14:36:13 2010 +0200
+++ b/src/com/beem/project/beem/ui/Chat.java Sat May 15 14:54:18 2010 +0200
@@ -133,6 +133,7 @@
private final BeemBroadcastReceiver mBroadcastReceiver = new BeemBroadcastReceiver();
private final BeemRosterListener mBeemRosterListener = new BeemRosterListener();
private IXmppFacade mXmppFacade;
+ private boolean mBinded;
/**
* Constructor.
@@ -174,8 +175,10 @@
protected void onResume() {
super.onResume();
mContact = new Contact(getIntent().getData());
- if (mXmppFacade == null)
+ if (!mBinded) {
bindService(SERVICE_INTENT, mConn, BIND_AUTO_CREATE);
+ mBinded = true;
+ }
}
/**
@@ -205,8 +208,10 @@
} catch (RemoteException e) {
Log.e(TAG, e.getMessage());
}
- if (mXmppFacade != null)
+ if (mBinded) {
unbindService(mConn);
+ mBinded = false;
+ }
mXmppFacade = null;
mRoster = null;
mChat = null;