#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();
}