From 5ea84ae5f64f4d8591bee4c29d1c1f0cd15dc67b Mon Sep 17 00:00:00 2001 From: Alexandre Savard <alexandre.savard@savoirfairelinux.com> Date: Wed, 31 Oct 2012 16:41:44 -0400 Subject: [PATCH] #17159: Update AccountSelectionButton on dialog selection --- .../sflphone/client/AccountSelectionDialog.java | 7 ++++++- .../sflphone/client/ContactListFragment.java | 14 +------------- .../sflphone/utils/AccountSelectionButton.java | 3 ++- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java b/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java index 838c352a7..f2c13c85b 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 b3e57ec53..d705ccb2e 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 782853dd1..69a074191 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) { -- GitLab