diff --git a/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java b/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java index 838c352a7d26d8111fc40a00a48c7aa276f67a44..f2c13c85b913cbf118ddfb8b5b28f4be43e4c35a 100644 --- a/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java +++ b/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java @@ -44,6 +44,8 @@ import android.widget.TextView; import java.util.ArrayList; +import com.savoirfairelinux.sflphone.utils.AccountSelectionButton; + public class AccountSelectionDialog extends AlertDialog { private static final String TAG = "AccountSelectionDialog"; @@ -51,12 +53,14 @@ public class AccountSelectionDialog extends AlertDialog ListView mListView; ArrayAdapter mListAdapter; ArrayList<String> mItems; + AccountSelectionButton mButton; - public AccountSelectionDialog(Context context, ArrayList<String> items) + public AccountSelectionDialog(Context context, ArrayList<String> items, AccountSelectionButton b) { super(context); mContext = context; mItems = items; + mButton = b; } private AdapterView.OnItemClickListener onClick = new AdapterView.OnItemClickListener() @@ -64,6 +68,7 @@ public class AccountSelectionDialog extends AlertDialog // public void onClick(DialogInterface dialog, int which) { public void onItemClick (AdapterView<?> parent, View view, int position, long id) { Log.i(TAG, "Selected Account: " + ((TextView)view).getText()); + mButton.setText(((TextView)view).getText()); } }; diff --git a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java index b3e57ec536bb32dd6b4f0eacbc220dc8f76056bd..d705ccb2eb8ce37e89c7ca632f3771a05752583b 100644 --- a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java +++ b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java @@ -269,19 +269,7 @@ public class ContactListFragment extends ListFragment implements OnQueryTextList { 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) { - try { - ArrayList<String> list = (ArrayList<String>)service.getAccountList(); - AccountSelectionDialog accountSelectionDialog = new AccountSelectionDialog(getActivity(), list); - accountSelectionDialog.show(); - } - catch (RemoteException e) { - Log.e(TAG, "Remote exception", e); - } - } - }); + // Button accountSelectionButton = (Button) inflatedView.findViewById(R.id.account_selection_button); return inflatedView; } diff --git a/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java b/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java index 782853dd1230b48d6bfce25d65d58118217f1e6c..69a07419166afe145b3164042e2322e3d92c3364 100644 --- a/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java +++ b/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java @@ -63,12 +63,13 @@ public class AccountSelectionButton extends Button public void setSipService(ISipService service, Context context) { mService = service; mContext = context; + final AccountSelectionButton b = this; setOnClickListener(new View.OnClickListener() { public void onClick(View v) { try { ArrayList<String> list = (ArrayList<String>)mService.getAccountList(); - AccountSelectionDialog accountSelectionDialog = new AccountSelectionDialog(mContext, list); + AccountSelectionDialog accountSelectionDialog = new AccountSelectionDialog(mContext, list, b); accountSelectionDialog.show(); } catch (RemoteException e) {