From 95444bf5639b11418aa7764e5095a383dfed4d09 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 11 Apr 2019 10:21:38 +0200 Subject: [PATCH] Fixed potential problem if proxy config doesn't have nat policy --- .../settings/AccountSettingsFragment.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/app/src/main/java/org/linphone/settings/AccountSettingsFragment.java b/app/src/main/java/org/linphone/settings/AccountSettingsFragment.java index bab63e0d8..f89373c81 100644 --- a/app/src/main/java/org/linphone/settings/AccountSettingsFragment.java +++ b/app/src/main/java/org/linphone/settings/AccountSettingsFragment.java @@ -325,6 +325,13 @@ public class AccountSettingsFragment extends Fragment { if (mProxyConfig != null) { mProxyConfig.edit(); NatPolicy natPolicy = mProxyConfig.getNatPolicy(); + if (natPolicy == null) { + Core core = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + if (core != null) { + natPolicy = core.createNatPolicy(); + mProxyConfig.setNatPolicy(natPolicy); + } + } if (natPolicy != null) { natPolicy.setStunServer(newValue); } @@ -444,7 +451,16 @@ public class AccountSettingsFragment extends Fragment { public void onBoolValueChanged(boolean newValue) { if (mProxyConfig != null) { mProxyConfig.edit(); + NatPolicy natPolicy = mProxyConfig.getNatPolicy(); + if (natPolicy == null) { + Core core = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + if (core != null) { + natPolicy = core.createNatPolicy(); + mProxyConfig.setNatPolicy(natPolicy); + } + } + if (natPolicy != null) { natPolicy.enableIce(newValue); }