fix some issues when moving loginAnim to background.
authorDa Risk <darisk972@gmail.com>
Wed, 09 Mar 2011 20:41:58 +0100
changeset 878 18fb78481e84
parent 877 e81a14d9d569
child 879 d33586e4ed1a
fix some issues when moving loginAnim to background.
src/com/beem/project/beem/ui/LoginAnim.java
--- a/src/com/beem/project/beem/ui/LoginAnim.java	Mon Mar 21 22:07:46 2011 +0100
+++ b/src/com/beem/project/beem/ui/LoginAnim.java	Wed Mar 09 20:41:58 2011 +0100
@@ -82,6 +82,7 @@
     private AsyncTask<IXmppFacade, Integer, Boolean> mTask;
     private Button mCancelBt;
     private TextView mLoginState;
+    private boolean mBinded;
 
     /**
      * Constructor.
@@ -110,27 +111,19 @@
     protected void onStart() {
 	super.onStart();
 	mLogo.startAnimation(mRotateAnim);
-    }
-
-    /* (non-Javadoc)
-     * @see android.app.Activity#onResume()
-     */
-    @Override
-    protected void onResume() {
-	super.onResume();
 	if (mTask == null)
 	    mTask = new LoginTask();
-	if (mXmppFacade == null)
-	    bindService(LoginAnim.SERVICE_INTENT, mServConn, BIND_AUTO_CREATE);
+	if (!mBinded)
+	    mBinded = bindService(LoginAnim.SERVICE_INTENT, mServConn, BIND_AUTO_CREATE);
     }
 
     /* (non-Javadoc)
      * @see android.app.Activity#onPause()
      */
     @Override
-    protected void onPause() {
-	super.onPause();
-	if (mXmppFacade != null) { // and async task not en cours
+    protected void onStop() {
+	super.onStop();
+	if (mBinded && mTask.getStatus() != AsyncTask.Status.RUNNING ) {
 	    unbindService(mServConn);
 	    mXmppFacade = null;
 	}