Merge branch 'master' of git.savoirfairelinux.com:sflphone-android
diff --git a/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java b/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java
index f2c13c8..32d8a1b 100644
--- a/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java
+++ b/src/com/savoirfairelinux/sflphone/client/AccountSelectionDialog.java
@@ -68,7 +68,8 @@
// 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());
+ // mButton.setText(((TextView)view).getText());
+ mButton.accountSelectedNotifyAccountList(((TextView)view).getText().toString());
}
};
diff --git a/src/com/savoirfairelinux/sflphone/client/CallElementList.java b/src/com/savoirfairelinux/sflphone/client/CallElementList.java
index cb2f249..687059e 100644
--- a/src/com/savoirfairelinux/sflphone/client/CallElementList.java
+++ b/src/com/savoirfairelinux/sflphone/client/CallElementList.java
@@ -339,6 +339,7 @@
mAccountSelectionButton = (AccountSelectionButton) inflatedView.findViewById(R.id.account_selection_button);
mAccountList.addManagementUI(mAccountSelectionButton);
+ mAccountSelectionButton.setAccountList(mAccountList);
return inflatedView;
}
diff --git a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
index 2e870b9..0996cb2 100644
--- a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
+++ b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
@@ -280,6 +280,7 @@
// Button accountSelectionButton = (Button) inflatedView.findViewById(R.id.account_selection_button);
mAccountSelectionButton = (AccountSelectionButton) inflatedView.findViewById(R.id.account_selection_button);
mAccountList.addManagementUI(mAccountSelectionButton);
+ mAccountSelectionButton.setAccountList(mAccountList);
return inflatedView;
}
diff --git a/src/com/savoirfairelinux/sflphone/utils/AccountList.java b/src/com/savoirfairelinux/sflphone/utils/AccountList.java
index 016c049..441f149 100644
--- a/src/com/savoirfairelinux/sflphone/utils/AccountList.java
+++ b/src/com/savoirfairelinux/sflphone/utils/AccountList.java
@@ -66,6 +66,14 @@
mUserInterfaceList.add(ui);
}
+ public void accountSelected(String accountID, AccountManagementUI userInterface) {
+ if(!mUserInterfaceList.isEmpty()) {
+ for(AccountManagementUI ui : mUserInterfaceList) {
+ ui.setSelectedAccount(accountID);
+ }
+ }
+ }
+
@Override
public void onReceive(Context context, Intent intent)
{
@@ -106,12 +114,9 @@
if(newList.size() > mList.size()) {
for(AccountManagementUI ui : mUserInterfaceList) {
- Log.i(TAG, "UPDATE UI");
ui.accountAdded(newList);
}
}
- } else {
- Log.i(TAG, "UI LIST IS EMPTY");
}
mList = newList;
diff --git a/src/com/savoirfairelinux/sflphone/utils/AccountManagementUI.java b/src/com/savoirfairelinux/sflphone/utils/AccountManagementUI.java
index 289c0a6..c6ec217 100644
--- a/src/com/savoirfairelinux/sflphone/utils/AccountManagementUI.java
+++ b/src/com/savoirfairelinux/sflphone/utils/AccountManagementUI.java
@@ -32,8 +32,16 @@
import java.util.ArrayList;
+import com.savoirfairelinux.sflphone.utils.AccountList;
+
public interface AccountManagementUI
{
+ public void setAccountList(AccountList accountList);
+
+ public void accountSelectedNotifyAccountList(String accountID);
+
+ public void setSelectedAccount(String accountID);
+
public void accountAdded(ArrayList<String> newList);
public void accountRemoved();
diff --git a/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java b/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java
index 1049ed8..2ba03de 100644
--- a/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java
+++ b/src/com/savoirfairelinux/sflphone/utils/AccountSelectionButton.java
@@ -48,6 +48,7 @@
private ISipService mService;
private Context mContext;
private ArrayList<String> mList = new ArrayList<String>();
+ private AccountList mAccountList = null;
public AccountSelectionButton(Context context) {
super(context);
@@ -78,6 +79,20 @@
});
}
+ public void setAccountList(AccountList accountList) {
+ mAccountList = accountList;
+ }
+
+ public void accountSelectedNotifyAccountList(String accountID) {
+ if(mAccountList != null) {
+ mAccountList.accountSelected(accountID, this);
+ }
+ }
+
+ public void setSelectedAccount(String accountID) {
+ setText(accountID);
+ }
+
public void accountAdded(ArrayList<String> newList) {
Log.i(TAG, "Account added");
mList = newList;