diff --git a/res/values/non_localizable_strings.xml b/res/values/non_localizable_strings.xml index 24b210f40..697366fce 100644 --- a/res/values/non_localizable_strings.xml +++ b/res/values/non_localizable_strings.xml @@ -2,6 +2,8 @@ + pref_disable_account_key + pref_tunnel_key pref_tunnel_mode_key disabled diff --git a/res/values/strings.xml b/res/values/strings.xml index 6405a08a8..b91b0bdaf 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,6 +1,8 @@ + Disable + Tunnel Hostname Port diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 3b6430508..e30111e5c 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -673,9 +673,12 @@ public final class LinphoneManager implements LinphoneCoreListener { lDefaultProxyConfig.enableRegister(true); lDefaultProxyConfig.done(); } - + // Extra accounts for (int i = 1; i < getPrefExtraAccountsNumber(); i++) { + if (getPrefBoolean(getString(R.string.pref_disable_account_key) + i, false)) { + continue; + } lUserName = getPrefString(getString(R.string.pref_username_key) + i, null); lPasswd = getPrefString(getString(R.string.pref_passwd_key) + i, null); if (lUserName != null && lUserName.length() > 0) { diff --git a/src/org/linphone/LinphonePreferencesSIPAccountActivity.java b/src/org/linphone/LinphonePreferencesSIPAccountActivity.java index 551e2ba4c..96f37b9ac 100644 --- a/src/org/linphone/LinphonePreferencesSIPAccountActivity.java +++ b/src/org/linphone/LinphonePreferencesSIPAccountActivity.java @@ -77,7 +77,12 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity { outboundProxy.setTitle(getString(R.string.pref_enable_outbound_proxy)); outboundProxy.setPersistent(true); outboundProxy.setKey(getString(R.string.pref_enable_outbound_proxy_key) + getAccountNumber(n)); - + + CheckBoxPreference disable = new CheckBoxPreference(this); + disable.setTitle(getString(R.string.pref_disable_account)); + disable.setPersistent(true); + disable.setKey(getString(R.string.pref_disable_account_key) + getAccountNumber(n)); + final Preference delete = new Preference(this); delete.setTitle("Delete this account"); delete.setOnPreferenceClickListener(new OnPreferenceClickListener() { @@ -91,6 +96,7 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity { editor.putString(getString(R.string.pref_domain_key) + i, prefs.getString(getString(R.string.pref_domain_key) + (i+1), null)); editor.putString(getString(R.string.pref_proxy_key) + i, prefs.getString(getString(R.string.pref_proxy_key) + (i+1), null)); editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + i, prefs.getBoolean(getString(R.string.pref_enable_outbound_proxy_key) + (i+1), false)); + editor.putBoolean(getString(R.string.pref_disable_account_key) + i, prefs.getBoolean(getString(R.string.pref_disable_account_key) + (i+1), false)); } int lastAccount = nbAccounts - 1; @@ -99,6 +105,7 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity { editor.putString(getString(R.string.pref_domain_key) + lastAccount, null); editor.putString(getString(R.string.pref_proxy_key) + lastAccount, null); editor.putBoolean(getString(R.string.pref_enable_outbound_proxy_key) + lastAccount, false); + editor.putBoolean(getString(R.string.pref_disable_account_key) + lastAccount, false); int defaultAccount = prefs.getInt(getString(R.string.pref_default_account), 0); if (defaultAccount > n) { @@ -138,6 +145,7 @@ public class LinphonePreferencesSIPAccountActivity extends PreferenceActivity { category.addPreference(domain); category.addPreference(proxy); category.addPreference(outboundProxy); + category.addPreference(disable); category.addPreference(mainAccount); category.addPreference(delete); } diff --git a/submodules/externals/build/exosip/Android.mk b/submodules/externals/build/exosip/Android.mk index 979de4b82..70639065f 100755 --- a/submodules/externals/build/exosip/Android.mk +++ b/submodules/externals/build/exosip/Android.mk @@ -57,6 +57,8 @@ LOCAL_CFLAGS += \ -include $(LOCAL_PATH)/../build/exosip/libeXosip2_AndroidConfig.h \ -DOSIP_MT \ -DENABLE_TRACE \ + -DSOCKET_TIMEOUT=50 \ + -DSOCKET_PROGRESS_TIMEOUT=300 \ -include $(LOCAL_PATH)/include/eXosip2/eXosip_transport_hook.h diff --git a/submodules/externals/exosip b/submodules/externals/exosip index b3e55a3c9..41a93903b 160000 --- a/submodules/externals/exosip +++ b/submodules/externals/exosip @@ -1 +1 @@ -Subproject commit b3e55a3c93b39af43666acec45191b41f2016fa0 +Subproject commit 41a93903b96ec4466f5efa9e9f887a1cce92648a