#16843: Launch SFLphone service in SFLphoneHome activity creation
diff --git a/src/com/savoirfairelinux/sflphone/client/CallElementList.java b/src/com/savoirfairelinux/sflphone/client/CallElementList.java
index 0fd1c32..47f6af0 100644
--- a/src/com/savoirfairelinux/sflphone/client/CallElementList.java
+++ b/src/com/savoirfairelinux/sflphone/client/CallElementList.java
@@ -51,6 +51,7 @@
 import android.graphics.BitmapFactory;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.RemoteException;
 import android.provider.*;
 import android.provider.ContactsContract.CommonDataKinds;
 import android.provider.ContactsContract.CommonDataKinds.Phone;
@@ -65,6 +66,7 @@
 import java.util.ArrayList;
 
 import com.savoirfairelinux.sflphone.R;
+import com.savoirfairelinux.sflphone.service.ISipService;
 
 /**
  * Main list of Call Elements.
@@ -76,6 +78,7 @@
     ContactManager mContactManager;
     ArrayAdapter mAdapter;
     String mCurFilter;
+    private ISipService service;
 
     static final String[] CONTACTS_SUMMARY_PROJECTION = new String[] { Contacts._ID, Contacts.DISPLAY_NAME,
                                                                        Contacts.PHOTO_ID, Contacts.LOOKUP_KEY };
@@ -221,6 +224,17 @@
         protected TextView phones; 
     }
 
+    public CallElementList(ISipService s)
+    {
+        super();
+        service = s;
+    }
+
+    public void setService(ISipService s)
+    {
+        service = s;
+    }
+
     public void addCall(SipCall c)
     {
         Log.i(TAG, "Adding call " + c.mCallInfo.mDisplayName);
@@ -304,13 +318,41 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         //LayoutInflater newInflater = inflater.cloneInContext(new ContextThemeWrapper(getActivity(), R.style.));
         View inflatedView = inflater.inflate(R.layout.call_element_list, container, false);
+
+        Button accountSelectionButton = (Button) inflatedView.findViewById(R.id.account_selection_button);
+        accountSelectionButton.setOnClickListener(new View.OnClickListener() {
+            public void onClick(View v) {
+                /*
+                ArrayList<String> list = new ArrayList<String>();
+                list.add("IP2IP");
+                list.add("SFL-181");
+                AccountSelectionDialog accountSelectionDialog = new AccountSelectionDialog(getActivity(), list);
+                accountSelectionDialog.show();
+                */
+                try {
+                    if(service != null) {
+                        ArrayList<String> list = (ArrayList<String>)service.getAccountList();
+                        if(list != null) {
+                            AccountSelectionDialog accountSelectionDialog = new AccountSelectionDialog(getActivity(), list);
+                            accountSelectionDialog.show();
+                        }
+                        else { Log.i(TAG, "Could not get account list"); }
+                    }
+                    else { Log.i(TAG, "Could not get service"); }
+                }
+                catch (RemoteException e) {
+                    Log.e(TAG, "Remote exception", e);
+                }
+            }
+        });
+
         return inflatedView;
     }
 	
     public void onListItemClick(ListView l, View v, int position, long id)
     {
         // Insert desired behavior here.
-        Log.i("CallElementList", "Item clicked: " + id);
+        Log.i(TAG, "Item clicked: " + id);
         SipCall call = (SipCall) mAdapter.getItem(position);
         call.hangup(); 
     }