Allow to remove all accounts
This commit is contained in:
parent
db119739f7
commit
97ac11bc47
2 changed files with 28 additions and 17 deletions
|
@ -101,7 +101,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
disable.setKey(getString(R.string.pref_disable_account_key) + key);
|
||||
|
||||
final Preference delete = advanced.getPreference(4);
|
||||
delete.setEnabled(prefs.getInt(getString(R.string.pref_default_account_key), 0) != n);
|
||||
delete.setEnabled(true);
|
||||
delete.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
int nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
||||
|
@ -116,20 +116,28 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i), prefs.getBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(i+1), false));
|
||||
}
|
||||
|
||||
int lastAccount = nbAccounts - 1;
|
||||
editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_domain_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(lastAccount), false);
|
||||
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(lastAccount), false);
|
||||
if (n != 0) {
|
||||
int lastAccount = nbAccounts - 1;
|
||||
editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_domain_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
|
||||
editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(lastAccount), false);
|
||||
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(lastAccount), false);
|
||||
|
||||
int defaultAccount = prefs.getInt(getString(R.string.pref_default_account_key), 0);
|
||||
if (defaultAccount > n) {
|
||||
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
|
||||
}
|
||||
int defaultAccount = prefs.getInt(getString(R.string.pref_default_account_key), 0);
|
||||
if (defaultAccount > n) {
|
||||
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
|
||||
}
|
||||
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
|
||||
} else if (n == 0 && nbAccounts <= 1) {
|
||||
editor.putString(getString(R.string.pref_username_key), "");
|
||||
editor.putString(getString(R.string.pref_passwd_key), "");
|
||||
editor.putString(getString(R.string.pref_domain_key), "");
|
||||
} else {
|
||||
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
|
||||
}
|
||||
|
||||
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 1);
|
||||
editor.commit();
|
||||
|
||||
LinphoneActivity.instance().displaySettings();
|
||||
|
@ -148,7 +156,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.putInt(getString(R.string.pref_default_account_key), n);
|
||||
editor.commit();
|
||||
delete.setEnabled(false);
|
||||
disable.setEnabled(false);
|
||||
Compatibility.setPreferenceChecked(disable, false);
|
||||
preference.setEnabled(false);
|
||||
|
@ -170,7 +177,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
|||
|
||||
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
|
||||
int n = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
||||
String keyUsername = getString(R.string.pref_username_key) + (n-1 == 0 ? "" : Integer.toString(n-1));
|
||||
String keyUsername = getString(R.string.pref_username_key) + getAccountNumber(n-1);
|
||||
|
||||
if (prefs.getString(keyUsername, "").equals("")) {
|
||||
//If not, we suppress it to not display a blank field
|
||||
|
|
|
@ -257,6 +257,10 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa
|
|||
addAccount.setTitle(getString(R.string.pref_add_account));
|
||||
addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||
public boolean onPreferenceClick(Preference preference) {
|
||||
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
|
||||
nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 0);
|
||||
prefs.edit().putInt(getString(R.string.pref_extra_accounts), nbAccounts+1).commit();
|
||||
|
||||
addExtraAccountPreferencesButton(accounts, nbAccounts, true);
|
||||
LinphoneActivity.instance().displayAccountSettings(nbAccounts);
|
||||
nbAccounts++;
|
||||
|
|
Loading…
Reference in a new issue