* #25117 Better call management
diff --git a/src/com/savoirfairelinux/sflphone/client/CallActivity.java b/src/com/savoirfairelinux/sflphone/client/CallActivity.java
index 785a436..e8d87de 100644
--- a/src/com/savoirfairelinux/sflphone/client/CallActivity.java
+++ b/src/com/savoirfairelinux/sflphone/client/CallActivity.java
@@ -33,6 +33,7 @@
 
 package com.savoirfairelinux.sflphone.client;
 
+import java.util.HashMap;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
@@ -71,6 +72,8 @@
 
     private ExecutorService infos_fetcher = Executors.newCachedThreadPool();
     CallReceiver receiver;
+    
+    SlidingPaneLayout slidingPaneLayout;
 
     CallListFragment mCallsFragment;
     CallFragment mCurrentCallFragment;
@@ -99,7 +102,7 @@
 
         getFragmentManager().beginTransaction().replace(R.id.calllist_pane, mCallsFragment).commit();
 
-        final SlidingPaneLayout slidingPaneLayout = (SlidingPaneLayout) findViewById(R.id.slidingpanelayout);
+        slidingPaneLayout = (SlidingPaneLayout) findViewById(R.id.slidingpanelayout);
         slidingPaneLayout.setPanelSlideListener(new SlidingPaneLayout.PanelSlideListener() {
 
             @Override
@@ -215,6 +218,20 @@
         // CallFragment fr = mCurrentCallFragment;
 
         mCallsFragment.update();
+        
+        mCurrentCallFragment.changeCallState(callID, newState);
+        
+        HashMap<String, SipCall> map;
+        try {
+            map = (HashMap<String, SipCall>) service.getCallList();
+            if(map.size() == 0){
+                finish();
+            }
+        } catch (RemoteException e) {
+            Log.e(TAG, e.toString());
+        }
+        
+        
 
         // if (newState.equals("INCOMING")) {
         // fr.changeCallState(SipCall.state.CALL_STATE_INCOMING);
@@ -278,6 +295,8 @@
         b.putParcelable("CallInfo", call);
         mCurrentCallFragment.setArguments(b);
         getFragmentManager().beginTransaction().replace(R.id.ongoingcall_pane, mCurrentCallFragment).commit();
+        
+        slidingPaneLayout.openPane();
 
     }