From d6a77bd794a10da5ef3e2fad52b18e47320ae9a5 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 8 Nov 2013 15:53:41 +0100 Subject: [PATCH 1/2] Fixes for tunnel settings --- res/raw-sw600dp/linphonerc_default | 5 +++++ res/raw/linphonerc_default | 5 +++++ src/org/linphone/LinphoneManager.java | 8 +++++--- src/org/linphone/LinphonePreferences.java | 4 ++-- src/org/linphone/SettingsFragment.java | 5 ++++- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/res/raw-sw600dp/linphonerc_default b/res/raw-sw600dp/linphonerc_default index 26d202792..0ef6ef6aa 100644 --- a/res/raw-sw600dp/linphonerc_default +++ b/res/raw-sw600dp/linphonerc_default @@ -14,3 +14,8 @@ size=vga [app] sharing_server=https://www.linphone.org:444/upload.php +tunnel=disabled + +[tunnel] +host= +port=443 \ No newline at end of file diff --git a/res/raw/linphonerc_default b/res/raw/linphonerc_default index 66bf6b0f7..28422143d 100644 --- a/res/raw/linphonerc_default +++ b/res/raw/linphonerc_default @@ -13,3 +13,8 @@ size=qvga [app] sharing_server=https://www.linphone.org:444/upload.php +tunnel=disabled + +[tunnel] +host= +port=443 diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 055cb9645..cf0a364cb 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -492,9 +492,11 @@ public class LinphoneManager implements LinphoneCoreListener { NetworkInfo info = mConnectivityManager.getActiveNetworkInfo(); mLc.tunnelCleanServers(); String host = mPrefs.getTunnelHost(); - int port = mPrefs.getTunnelPort(); - mLc.tunnelAddServerAndMirror(host, port, 12345, 500); - manageTunnelServer(info); + if (host != null) { + int port = mPrefs.getTunnelPort(); + mLc.tunnelAddServerAndMirror(host, port, 12345, 500); + manageTunnelServer(info); + } } private boolean isTunnelNeeded(NetworkInfo info) { diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index 1080a8453..f5a441687 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -769,7 +769,7 @@ public class LinphonePreferences { // Tunnel settings public String getTunnelMode() { - return getConfig().getString("app", "tunnel", getString(R.string.default_tunnel_mode_entry_value)); + return getConfig().getString("app", "tunnel", null); } public void setTunnelMode(String mode) { @@ -777,7 +777,7 @@ public class LinphonePreferences { } public String getTunnelHost() { - return getConfig().getString("tunnel", "host", getString(R.string.tunnel_host)); + return getConfig().getString("tunnel", "host", null); } public void setTunnelHost(String host) { diff --git a/src/org/linphone/SettingsFragment.java b/src/org/linphone/SettingsFragment.java index 591049b08..857856c29 100644 --- a/src/org/linphone/SettingsFragment.java +++ b/src/org/linphone/SettingsFragment.java @@ -229,7 +229,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib private void initTunnelSettings() { setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_host_key, mPrefs.getTunnelHost()); - setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_port_key, mPrefs.getTunnelHost()); + setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_port_key, String.valueOf(mPrefs.getTunnelPort())); setPreferenceDefaultValueAndSummary(R.string.pref_tunnel_mode_key, mPrefs.getTunnelMode()); } @@ -239,6 +239,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib public boolean onPreferenceChange(Preference preference, Object newValue) { String host = newValue.toString(); mPrefs.setTunnelHost(host); + preference.setSummary(host); return true; } }); @@ -248,6 +249,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib try { int port = Integer.parseInt(newValue.toString()); mPrefs.setTunnelPort(port); + preference.setSummary(String.valueOf(port)); return true; } catch (NumberFormatException nfe) { return false; @@ -259,6 +261,7 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib public boolean onPreferenceChange(Preference preference, Object newValue) { String mode = newValue.toString(); mPrefs.setTunnelMode(mode); + preference.setSummary(mode); return true; } }); From 71dfd2a0f2c07adcc455fbaff61a9ba2d88abf92 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Fri, 8 Nov 2013 16:35:47 +0100 Subject: [PATCH 2/2] Fix settings when trying to remove proxy from proxyconfig --- src/org/linphone/AccountPreferencesFragment.java | 2 +- src/org/linphone/LinphonePreferences.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/org/linphone/AccountPreferencesFragment.java b/src/org/linphone/AccountPreferencesFragment.java index 84e5e7d0a..72b3aa5a0 100644 --- a/src/org/linphone/AccountPreferencesFragment.java +++ b/src/org/linphone/AccountPreferencesFragment.java @@ -92,7 +92,7 @@ public class AccountPreferencesFragment extends PreferencesListFragment { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { mPrefs.setAccountProxy(n, newValue.toString()); - preference.setSummary(newValue.toString()); + preference.setSummary(mPrefs.getAccountProxy(n)); return true; } }; diff --git a/src/org/linphone/LinphonePreferences.java b/src/org/linphone/LinphonePreferences.java index f5a441687..c8082cc3c 100644 --- a/src/org/linphone/LinphonePreferences.java +++ b/src/org/linphone/LinphonePreferences.java @@ -272,9 +272,13 @@ public class LinphonePreferences { } public void setAccountProxy(int n, String proxy) { + if (proxy == null || proxy.length() <= 0) { + proxy = getAccountDomain(n); + } if (!proxy.startsWith("sip:")) { proxy = "sip:" + proxy; } + try { LinphoneProxyConfig prxCfg = getProxyConfig(n); prxCfg.setProxy(proxy);