diff --git a/res/drawable-mdpi/about_chat_default.png b/res/drawable-mdpi/about_chat_default.png new file mode 100644 index 000000000..0df34d8ac Binary files /dev/null and b/res/drawable-mdpi/about_chat_default.png differ diff --git a/res/drawable-mdpi/about_chat_over.png b/res/drawable-mdpi/about_chat_over.png new file mode 100644 index 000000000..3e6880a19 Binary files /dev/null and b/res/drawable-mdpi/about_chat_over.png differ diff --git a/res/drawable-mdpi/about_chat_selected.png b/res/drawable-mdpi/about_chat_selected.png new file mode 100644 index 000000000..db1acf9c4 Binary files /dev/null and b/res/drawable-mdpi/about_chat_selected.png differ diff --git a/res/drawable-mdpi/about_settings_default.png b/res/drawable-mdpi/about_settings_default.png new file mode 100644 index 000000000..6849ecd5f Binary files /dev/null and b/res/drawable-mdpi/about_settings_default.png differ diff --git a/res/drawable-mdpi/about_settings_over.png b/res/drawable-mdpi/about_settings_over.png new file mode 100644 index 000000000..95fa866dc Binary files /dev/null and b/res/drawable-mdpi/about_settings_over.png differ diff --git a/res/drawable-mdpi/about_settings_selected.png b/res/drawable-mdpi/about_settings_selected.png new file mode 100644 index 000000000..d7ded991b Binary files /dev/null and b/res/drawable-mdpi/about_settings_selected.png differ diff --git a/res/drawable/list_selector.xml b/res/drawable/list_selector.xml index 1cfc68647..0b37006b5 100644 --- a/res/drawable/list_selector.xml +++ b/res/drawable/list_selector.xml @@ -4,5 +4,5 @@ android:state_pressed="true" android:drawable="@color/main_app_color" /> + android:drawable="@android:color/transparent" /> \ No newline at end of file diff --git a/src/org/linphone/AccountPreferencesFragment.java b/src/org/linphone/AccountPreferencesFragment.java index 28f2f89aa..e5b4f3abe 100644 --- a/src/org/linphone/AccountPreferencesFragment.java +++ b/src/org/linphone/AccountPreferencesFragment.java @@ -35,7 +35,9 @@ import android.text.InputType; * @author Sylvain Berfini */ public class AccountPreferencesFragment extends PreferencesListFragment { - + private int n; + private String key; + public AccountPreferencesFragment() { super(R.xml.account_preferences); } @@ -45,8 +47,9 @@ public class AccountPreferencesFragment extends PreferencesListFragment { super.onCreate(savedInstanceState); PreferenceScreen screen = getPreferenceScreen(); - int n = getArguments().getInt("Account", 0); - manageAccountPreferencesFields(screen, n); + n = getArguments().getInt("Account", 0); + key = getAccountNumber(n); + manageAccountPreferencesFields(screen); } 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(); PreferenceCategory account = (PreferenceCategory) getPreferenceScreen().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.setKey(getString(R.string.pref_username_key) + getAccountNumber(n)); + username.setKey(getString(R.string.pref_username_key) + key); username.setOnPreferenceChangeListener(preferenceChangedListener); username.setSummary(username.getText()); 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.setKey(getString(R.string.pref_passwd_key) + getAccountNumber(n)); + password.setKey(getString(R.string.pref_passwd_key) + key); 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.setKey(getString(R.string.pref_domain_key) + getAccountNumber(n)); + domain.setKey(getString(R.string.pref_domain_key) + key); domain.setOnPreferenceChangeListener(preferenceChangedListener); domain.setSummary(domain.getText()); PreferenceCategory advanced = (PreferenceCategory) getPreferenceScreen().getPreference(1); 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.setKey(getString(R.string.pref_proxy_key) + getAccountNumber(n)); + proxy.setKey(getString(R.string.pref_proxy_key) + key); proxy.setOnPreferenceChangeListener(preferenceChangedListener); proxy.setSummary("".equals(proxy.getText()) || (proxy.getText() == null) ? getString(R.string.pref_help_proxy) : proxy.getText()); Preference outboundProxy = advanced.getPreference(1); - Compatibility.setPreferenceChecked(outboundProxy, prefs.getBoolean(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n), false)); - outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n)); + 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) + key); final Preference disable = advanced.getPreference(2); 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)); - disable.setKey(getString(R.string.pref_disable_account_key) + getAccountNumber(n)); + Compatibility.setPreferenceChecked(disable, prefs.getBoolean(getString(R.string.pref_disable_account_key) + key, false)); + 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), 0) != n); diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 29b625c9f..44efc8e87 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -577,10 +577,11 @@ public final class LinphoneManager implements LinphoneCoreListener { public void initAccounts() throws LinphoneCoreException { 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; } - 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(); @@ -603,11 +604,11 @@ public final class LinphoneManager implements LinphoneCoreListener { String username = getPrefString(getString(R.string.pref_username_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) { - LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, null); + LinphoneAuthInfo lAuthInfo = LinphoneCoreFactory.instance().createAuthInfo(username, password, domain); mLc.addAuthInfo(lAuthInfo); - String domain = getPrefString(getString(R.string.pref_domain_key) + key, null); if (domain != null && domain.length() > 0) { String identity = "sip:" + username +"@" + domain; 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); } private int getPrefExtraAccountsNumber() { - return mPref.getInt(getString(R.string.pref_extra_accounts), 0); + return mPref.getInt(getString(R.string.pref_extra_accounts), 1); } diff --git a/src/org/linphone/PreferencesFragment.java b/src/org/linphone/PreferencesFragment.java index 7529e089c..d2ace91f6 100644 --- a/src/org/linphone/PreferencesFragment.java +++ b/src/org/linphone/PreferencesFragment.java @@ -399,7 +399,7 @@ public class PreferencesFragment extends PreferencesListFragment implements EcCa public void run() { updateAccountLed(me, username, domain); } - }, 1000); + }, 1500); } else { me.setLed(R.drawable.led_disconnected); }