Fix some issues

This commit is contained in:
Sylvain Berfini 2012-09-04 18:12:48 +02:00
parent b79d8b2ce3
commit b01b1127bd
10 changed files with 27 additions and 23 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

@ -4,5 +4,5 @@
android:state_pressed="true" android:state_pressed="true"
android:drawable="@color/main_app_color" /> android:drawable="@color/main_app_color" />
<item <item
android:drawable="@color/transparent" /> android:drawable="@android:color/transparent" />
</selector> </selector>

View file

@ -35,7 +35,9 @@ import android.text.InputType;
* @author Sylvain Berfini * @author Sylvain Berfini
*/ */
public class AccountPreferencesFragment extends PreferencesListFragment { public class AccountPreferencesFragment extends PreferencesListFragment {
private int n;
private String key;
public AccountPreferencesFragment() { public AccountPreferencesFragment() {
super(R.xml.account_preferences); super(R.xml.account_preferences);
} }
@ -45,8 +47,9 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
PreferenceScreen screen = getPreferenceScreen(); PreferenceScreen screen = getPreferenceScreen();
int n = getArguments().getInt("Account", 0); n = getArguments().getInt("Account", 0);
manageAccountPreferencesFields(screen, n); key = getAccountNumber(n);
manageAccountPreferencesFields(screen);
} }
OnPreferenceChangeListener preferenceChangedListener = new OnPreferenceChangeListener() { OnPreferenceChangeListener preferenceChangedListener = new OnPreferenceChangeListener() {
@ -57,45 +60,45 @@ public class AccountPreferencesFragment extends PreferencesListFragment {
} }
}; };
private void manageAccountPreferencesFields(PreferenceScreen parent, final int n) { private void manageAccountPreferencesFields(PreferenceScreen parent) {
final SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); final SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().getPreference(0); PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().getPreference(0);
EditTextPreference username = (EditTextPreference) account.getPreference(0); EditTextPreference username = (EditTextPreference) account.getPreference(0);
username.setText(prefs.getString(getString(R.string.pref_username_key) + getAccountNumber(n), "")); username.setText(prefs.getString(getString(R.string.pref_username_key) + key, ""));
username.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); username.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
username.setKey(getString(R.string.pref_username_key) + getAccountNumber(n)); username.setKey(getString(R.string.pref_username_key) + key);
username.setOnPreferenceChangeListener(preferenceChangedListener); username.setOnPreferenceChangeListener(preferenceChangedListener);
username.setSummary(username.getText()); username.setSummary(username.getText());
EditTextPreference password = (EditTextPreference) account.getPreference(1); EditTextPreference password = (EditTextPreference) account.getPreference(1);
password.setText(prefs.getString(getString(R.string.pref_passwd_key) + getAccountNumber(n), "")); password.setText(prefs.getString(getString(R.string.pref_passwd_key) + key, ""));
password.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD); password.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
password.setKey(getString(R.string.pref_passwd_key) + getAccountNumber(n)); password.setKey(getString(R.string.pref_passwd_key) + key);
EditTextPreference domain = (EditTextPreference) account.getPreference(2); EditTextPreference domain = (EditTextPreference) account.getPreference(2);
domain.setText(prefs.getString(getString(R.string.pref_domain_key) + getAccountNumber(n), "")); domain.setText(prefs.getString(getString(R.string.pref_domain_key) + key, ""));
domain.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); domain.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
domain.setKey(getString(R.string.pref_domain_key) + getAccountNumber(n)); domain.setKey(getString(R.string.pref_domain_key) + key);
domain.setOnPreferenceChangeListener(preferenceChangedListener); domain.setOnPreferenceChangeListener(preferenceChangedListener);
domain.setSummary(domain.getText()); domain.setSummary(domain.getText());
PreferenceCategory advanced = (PreferenceCategory) getPreferenceScreen().getPreference(1); PreferenceCategory advanced = (PreferenceCategory) getPreferenceScreen().getPreference(1);
EditTextPreference proxy = (EditTextPreference) advanced.getPreference(0); EditTextPreference proxy = (EditTextPreference) advanced.getPreference(0);
proxy.setText(prefs.getString(getString(R.string.pref_proxy_key) + getAccountNumber(n), "")); proxy.setText(prefs.getString(getString(R.string.pref_proxy_key) + key, ""));
proxy.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS); proxy.getEditText().setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
proxy.setKey(getString(R.string.pref_proxy_key) + getAccountNumber(n)); proxy.setKey(getString(R.string.pref_proxy_key) + key);
proxy.setOnPreferenceChangeListener(preferenceChangedListener); proxy.setOnPreferenceChangeListener(preferenceChangedListener);
proxy.setSummary("".equals(proxy.getText()) || (proxy.getText() == null) ? getString(R.string.pref_help_proxy) : proxy.getText()); proxy.setSummary("".equals(proxy.getText()) || (proxy.getText() == null) ? getString(R.string.pref_help_proxy) : proxy.getText());
Preference outboundProxy = advanced.getPreference(1); Preference outboundProxy = advanced.getPreference(1);
Compatibility.setPreferenceChecked(outboundProxy, prefs.getBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n), false)); Compatibility.setPreferenceChecked(outboundProxy, prefs.getBoolean(getString(R.string.pref_enable_outbound_proxy_key) + key, false));
outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n)); outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + key);
final Preference disable = advanced.getPreference(2); final Preference disable = advanced.getPreference(2);
disable.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n); disable.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);
Compatibility.setPreferenceChecked(disable, prefs.getBoolean(getString(R.string.pref_disable_account_key) + getAccountNumber(n), false)); Compatibility.setPreferenceChecked(disable, prefs.getBoolean(getString(R.string.pref_disable_account_key) + key, false));
disable.setKey(getString(R.string.pref_disable_account_key) + getAccountNumber(n)); 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), 0) != n); delete.setEnabled(prefs.getInt(getString(R.string.pref_default_account), 0) != n);

View file

@ -577,10 +577,11 @@ public final class LinphoneManager implements LinphoneCoreListener {
public void initAccounts() throws LinphoneCoreException { public void initAccounts() throws LinphoneCoreException {
for (int i = 0; i < getPrefExtraAccountsNumber(); i++) { for (int i = 0; i < getPrefExtraAccountsNumber(); i++) {
if (getPrefBoolean(getString(R.string.pref_disable_account_key) + i, false)) { String key = i == 0 ? "" : String.valueOf(i);
if (getPrefBoolean(getString(R.string.pref_disable_account_key) + key, false)) {
continue; continue;
} }
initAccount(i == 0 ? "" : String.valueOf(i), i == 0, i == getPrefInt(R.string.pref_default_account, 0)); initAccount(key, i == 0, i == getPrefInt(R.string.pref_default_account, 0));
} }
LinphoneProxyConfig lDefaultProxyConfig = mLc.getDefaultProxyConfig(); LinphoneProxyConfig lDefaultProxyConfig = mLc.getDefaultProxyConfig();
@ -603,11 +604,11 @@ public final class LinphoneManager implements LinphoneCoreListener {
String username = getPrefString(getString(R.string.pref_username_key) + key, null); String username = getPrefString(getString(R.string.pref_username_key) + key, null);
String password = getPrefString(getString(R.string.pref_passwd_key) + key, null); String password = getPrefString(getString(R.string.pref_passwd_key) + key, null);
String domain = getPrefString(getString(R.string.pref_domain_key) + key, null);
if (username != null && username.length() > 0) { if (username != null && username.length() > 0) {
LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null); LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, domain);
mLc.addAuthInfo(lAuthInfo); mLc.addAuthInfo(lAuthInfo);
String domain = getPrefString(getString(R.string.pref_domain_key) + key, null);
if (domain != null && domain.length() > 0) { if (domain != null && domain.length() > 0) {
String identity = "sip:" + username +"@" + domain; String identity = "sip:" + username +"@" + domain;
String proxy = getPrefString(getString(R.string.pref_proxy_key) + key, null); String proxy = getPrefString(getString(R.string.pref_proxy_key) + key, null);
@ -819,7 +820,7 @@ public final class LinphoneManager implements LinphoneCoreListener {
return mPref.getString(key, value); return mPref.getString(key, value);
} }
private int getPrefExtraAccountsNumber() { private int getPrefExtraAccountsNumber() {
return mPref.getInt(getString(R.string.pref_extra_accounts), 0); return mPref.getInt(getString(R.string.pref_extra_accounts), 1);
} }

View file

@ -399,7 +399,7 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa
public void run() { public void run() {
updateAccountLed(me, username, domain); updateAccountLed(me, username, domain);
} }
}, 1000); }, 1500);
} else { } else {
me.setLed(R.drawable.led_disconnected); me.setLed(R.drawable.led_disconnected);
} }