Skip to content
Snippets Groups Projects
Commit 5195d92c authored by Alexandre Savard's avatar Alexandre Savard
Browse files

#17037 Update create/delete account with new mechanism

parent 833616f7
No related branches found
No related tags found
No related merge requests found
......@@ -75,10 +75,11 @@ public class AccountManagementFragment extends PreferenceFragment
static final int ACCOUNT_EDIT_REQUEST = 2;
private ISipService service;
ArrayList<AccountDetail.PreferenceEntry> basicDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> advancedDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> srtpDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> tlsDetailKeys;
ArrayList<AccountDetail.PreferenceEntry> basicDetailKeys = null;
ArrayList<AccountDetail.PreferenceEntry> advancedDetailKeys = null;
ArrayList<AccountDetail.PreferenceEntry> srtpDetailKeys = null;
ArrayList<AccountDetail.PreferenceEntry> tlsDetailKeys = null;
HashMap<String, Preference> accountPreferenceHashMap = null;
PreferenceScreen mRoot = null;
Activity context = getActivity();
......@@ -91,6 +92,8 @@ public class AccountManagementFragment extends PreferenceFragment
advancedDetailKeys = AccountDetailAdvanced.getPreferenceEntries();
srtpDetailKeys = AccountDetailSrtp.getPreferenceEntries();
tlsDetailKeys = AccountDetailTls.getPreferenceEntries();
accountPreferenceHashMap = new HashMap<String, Preference>();
}
@Override
......@@ -148,6 +151,15 @@ public class AccountManagementFragment extends PreferenceFragment
map.putAll(tlsDetails.getDetailsHashMap());
setAccountDetails(accountID, map);
} else if(resultCode == AccountPreferenceActivity.ACCOUNT_DELETED) {
Bundle bundle = data.getExtras();
String accountID = bundle.getString("AccountID");
Log.i(TAG, "Remove account " + accountID);
deleteSelectedAccount(accountID);
Preference accountScreen = accountPreferenceHashMap.get(accountID);
mRoot.removePreference(accountScreen);
accountPreferenceHashMap.remove(accountID);
}
break;
default:
......@@ -159,29 +171,17 @@ public class AccountManagementFragment extends PreferenceFragment
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message");
Log.d("receiver", "Got message: " + message);
/*
ArrayList<String> newList = (ArrayList<String>) getAccountList();
Set<String> currentList = (Set<String>) mAccountList.keySet();
currentList.remove(DEFAULT_ACCOUNT_ID);
Set<String> currentList = (Set<String>) accountPreferenceHashMap.keySet();
if(newList.size() > currentList.size()) {
for(String s : newList) {
if(!currentList.contains(s)) {
Log.i("receiver", "ADDING ACCOUNT!!!!!! " + s);
mRoot.addPreference(createAccountPreferenceScreen(s));
Preference accountScreen = createAccountPreferenceScreen(s);
mRoot.addPreference(accountScreen);
accountPreferenceHashMap.put(s, accountScreen);
}
}
}
else if(newList.size() < currentList.size()) {
for(String s : currentList) {
if(!newList.contains(s)) {
Log.i("receiver", "REMOVING ACCOUNT!!!!!! " + s);
mRoot.removePreference(mAccountList.get(s).mScreen);
mAccountList.remove(s);
}
}
}
*/
}
};
......@@ -313,8 +313,9 @@ public class AccountManagementFragment extends PreferenceFragment
ArrayList<String> accountList = getAccountList();
for(String s : accountList) {
// mRoot.addPreference(getAccountPreferenceScreen(s));
mRoot.addPreference(createAccountPreferenceScreen(s));
Preference accountScreen = createAccountPreferenceScreen(s);
mRoot.addPreference(accountScreen);
accountPreferenceHashMap.put(s, accountScreen);
}
return mRoot;
......
......@@ -46,10 +46,10 @@ import android.preference.PreferenceScreen;
import android.preference.EditTextPreference;
import android.preference.CheckBoxPreference;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import com.savoirfairelinux.sflphone.R;
// import com.savoirfairelinux.sflphone.service.SipService;
// import com.savoirfairelinux.sflphone.service.ISipService;
import com.savoirfairelinux.sflphone.utils.AccountDetail;
import com.savoirfairelinux.sflphone.utils.AccountDetailsHandler;
import com.savoirfairelinux.sflphone.utils.AccountDetailBasic;
......@@ -65,6 +65,7 @@ public class AccountPreferenceActivity extends PreferenceActivity
private static final String TAG = "AccoutPreferenceActivity";
public static final int ACCOUNT_MODIFIED = Activity.RESULT_FIRST_USER + 0;
public static final int ACCOUNT_NOT_MODIFIED = Activity.RESULT_FIRST_USER + 1;
public static final int ACCOUNT_DELETED = Activity.RESULT_FIRST_USER + 2;
private AccountDetailBasic basicDetails = null;
private AccountDetailAdvanced advancedDetails = null;
......@@ -72,9 +73,11 @@ public class AccountPreferenceActivity extends PreferenceActivity
private AccountDetailTls tlsDetails = null;
private PreferenceManager mPreferenceManager;
private HashMap<String, String> mPreferenceMap;
private MenuItem deleteAccountAction = null;
private String mAccountID;
Preference.OnPreferenceChangeListener changeBasicPreferenceListener = new Preference.OnPreferenceChangeListener() {
Preference.OnPreferenceChangeListener changeBasicPreferenceListener =
new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
preference.setSummary(getString(R.string.account_current_value_label)+(CharSequence)newValue);
......@@ -87,7 +90,8 @@ public class AccountPreferenceActivity extends PreferenceActivity
}
};
Preference.OnPreferenceChangeListener changeNewAccountTwoStateListener = new Preference.OnPreferenceChangeListener() {
Preference.OnPreferenceChangeListener changeNewAccountTwoStateListener =
new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
return true;
}
......@@ -152,6 +156,13 @@ public class AccountPreferenceActivity extends PreferenceActivity
init();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
deleteAccountAction = menu.add("Delete Account");
deleteAccountAction.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
@Override
protected void onStart() {
super.onStart();
......@@ -183,6 +194,19 @@ public class AccountPreferenceActivity extends PreferenceActivity
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Bundle bundle = new Bundle();
bundle.putString("AccountID", mAccountID);
Intent resultIntent = new Intent();
resultIntent.putExtras(bundle);
setResult(ACCOUNT_DELETED, resultIntent);
finish();
return true;
}
private void updateAccountDetails(HashMap<String, String> accountDetails, AccountDetail det) {
for(AccountDetail.PreferenceEntry p : det.getDetailValues()) {
Preference pref = mPreferenceManager.findPreference(p.mKey);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment