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);
|
disable.setKey(getString(R.string.pref_disable_account_key) + key);
|
||||||
|
|
||||||
final Preference delete = advanced.getPreference(4);
|
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() {
|
delete.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
int nbAccounts = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
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));
|
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;
|
if (n != 0) {
|
||||||
editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null);
|
int lastAccount = nbAccounts - 1;
|
||||||
editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null);
|
editor.putString(getString(R.string.pref_username_key) + getAccountNumber(lastAccount), null);
|
||||||
editor.putString(getString(R.string.pref_domain_key) + getAccountNumber(lastAccount), null);
|
editor.putString(getString(R.string.pref_passwd_key) + getAccountNumber(lastAccount), null);
|
||||||
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
|
editor.putString(getString(R.string.pref_domain_key) + getAccountNumber(lastAccount), null);
|
||||||
editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(lastAccount), false);
|
editor.putString(getString(R.string.pref_proxy_key) + getAccountNumber(lastAccount), null);
|
||||||
editor.putBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(lastAccount), false);
|
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) {
|
int defaultAccount = prefs.getInt(getString(R.string.pref_default_account_key), 0);
|
||||||
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
|
if (defaultAccount > n) {
|
||||||
}
|
editor.putInt(getString(R.string.pref_default_account_key), defaultAccount - 1);
|
||||||
|
}
|
||||||
editor.putInt(getString(R.string.pref_extra_accounts), nbAccounts - 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.commit();
|
editor.commit();
|
||||||
|
|
||||||
LinphoneActivity.instance().displaySettings();
|
LinphoneActivity.instance().displaySettings();
|
||||||
|
@ -148,7 +156,6 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
||||||
SharedPreferences.Editor editor = prefs.edit();
|
SharedPreferences.Editor editor = prefs.edit();
|
||||||
editor.putInt(getString(R.string.pref_default_account_key), n);
|
editor.putInt(getString(R.string.pref_default_account_key), n);
|
||||||
editor.commit();
|
editor.commit();
|
||||||
delete.setEnabled(false);
|
|
||||||
disable.setEnabled(false);
|
disable.setEnabled(false);
|
||||||
Compatibility.setPreferenceChecked(disable, false);
|
Compatibility.setPreferenceChecked(disable, false);
|
||||||
preference.setEnabled(false);
|
preference.setEnabled(false);
|
||||||
|
@ -170,7 +177,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
|
||||||
|
|
||||||
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
|
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
|
||||||
int n = prefs.getInt(getString(R.string.pref_extra_accounts), 1);
|
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 (prefs.getString(keyUsername, "").equals("")) {
|
||||||
//If not, we suppress it to not display a blank field
|
//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.setTitle(getString(R.string.pref_add_account));
|
||||||
addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
public boolean onPreferenceClick(Preference preference) {
|
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);
|
addExtraAccountPreferencesButton(accounts, nbAccounts, true);
|
||||||
LinphoneActivity.instance().displayAccountSettings(nbAccounts);
|
LinphoneActivity.instance().displayAccountSettings(nbAccounts);
|
||||||
nbAccounts++;
|
nbAccounts++;
|
||||||
|
|
Loading…
Reference in a new issue