diff --git a/res/values-FR/strings.xml b/res/values-FR/strings.xml
index c9ca66e8b..0b667ba6c 100644
--- a/res/values-FR/strings.xml
+++ b/res/values-FR/strings.xml
@@ -84,6 +84,7 @@
Commencer
Application pas prête
+ Ajouter un compte
Aucun numéro trouvé pour %s
Filtrer contacts
Numéros de %s
diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml
index cfd0132b7..b798240b9 100644
--- a/res/values/non_localizable_custom.xml
+++ b/res/values/non_localizable_custom.xml
@@ -17,6 +17,7 @@
true
false
+ false
false
false
false
diff --git a/res/values/strings.xml b/res/values/strings.xml
index eab717a0c..c291a910b 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -103,7 +103,7 @@
Start
Application not ready
-
+ Add account
No phone numbers found for %s
Filter contacts
%s\'s phone numbers
diff --git a/src/org/linphone/AccountPreferencesFragment.java b/src/org/linphone/AccountPreferencesFragment.java
index 9b59d29ab..1fe1e7b31 100644
--- a/src/org/linphone/AccountPreferencesFragment.java
+++ b/src/org/linphone/AccountPreferencesFragment.java
@@ -168,6 +168,17 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
public void onPause() {
super.onPause();
+ 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));
+
+ if (prefs.getString(keyUsername, "").equals("")) {
+ //If not, we suppress it to not display a blank field
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putInt(getString(R.string.pref_extra_accounts), n-1);
+ editor.commit();
+ }
+
if (LinphoneActivity.isInstanciated()) {
LinphoneActivity.instance().applyConfigChangesIfNeeded();
}
diff --git a/src/org/linphone/PreferencesFragment.java b/src/org/linphone/PreferencesFragment.java
index eeb89dced..321e59667 100644
--- a/src/org/linphone/PreferencesFragment.java
+++ b/src/org/linphone/PreferencesFragment.java
@@ -58,6 +58,7 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceCategory;
+import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
public class PreferencesFragment extends PreferencesListFragment implements EcCalibrationListener {
@@ -92,9 +93,13 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa
accounts.setLayoutResource(R.layout.hidden);
}
- if (getResources().getBoolean(R.bool.hide_wizard)) {
+ if (getResources().getBoolean(R.bool.hide_wizard) || getResources().getBoolean(R.bool.replace_wizard_with_old_interface)) {
Preference wizard = (Preference) getPreferenceScreen().getPreference(WIZARD_SETTINGS_ID);
- wizard.setLayoutResource(R.layout.hidden);
+ if (getResources().getBoolean(R.bool.replace_wizard_with_old_interface)) {
+ createAddAccountButton();
+ } else {
+ wizard.setLayoutResource(R.layout.hidden);
+ }
} else {
addWizardPreferenceButton();
}
@@ -199,6 +204,19 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa
}
}
+ private void createAddAccountButton() {
+ Preference addAccount = (Preference) getPreferenceScreen().getPreference(WIZARD_SETTINGS_ID);
+ addAccount.setTitle(getString(R.string.pref_add_account));
+ addAccount.setOnPreferenceClickListener(new OnPreferenceClickListener() {
+ public boolean onPreferenceClick(Preference preference) {
+ addExtraAccountPreferencesButton(accounts, nbAccounts, true);
+ LinphoneActivity.instance().displayAccountSettings(nbAccounts);
+ nbAccounts++;
+ return true;
+ }
+ });
+ }
+
private void hidePreferenceCategory(int key) {
PreferenceCategory p = (PreferenceCategory) findPreference(key);
p.removeAll();