Fix migration of account natpolicy
This commit is contained in:
parent
6c3c9a7025
commit
0b124e3403
8 changed files with 51 additions and 24 deletions
|
@ -301,13 +301,8 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen
|
|||
boolean value = (Boolean) newValue;
|
||||
if (isNewAccount) {
|
||||
} else {
|
||||
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null
|
||||
&& LinphoneManager.getLc().getProxyConfigList() != null
|
||||
&& LinphoneManager.getLc().getProxyConfigList().length > n
|
||||
&& LinphoneManager.getLc().getProxyConfigList()[n].getNatPolicy() != null)
|
||||
LinphoneManager.getLc().getProxyConfigList()[n].getNatPolicy().enableIce(value);
|
||||
else
|
||||
return false;
|
||||
mPrefs.setAccountIce(n, value);
|
||||
((CheckBoxPreference)preference).setChecked(mPrefs.getAccountIce(n));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -319,15 +314,8 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen
|
|||
String value = newValue.toString();
|
||||
if (isNewAccount) {
|
||||
} else {
|
||||
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null
|
||||
&& LinphoneManager.getLc().getProxyConfigList() != null
|
||||
&& LinphoneManager.getLc().getProxyConfigList().length > n
|
||||
&& LinphoneManager.getLc().getProxyConfigList()[n].getNatPolicy() != null) {
|
||||
LinphoneManager.getLc().getProxyConfigList()[n].getNatPolicy().setStunServer(value);
|
||||
preference.setSummary(value);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
mPrefs.setAccountStunServer(n, value);
|
||||
preference.setSummary(value);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -339,7 +327,14 @@ public class AccountPreferencesFragment extends PreferencesListFragment implemen
|
|||
if (LinphoneManager.getLcIfManagerNotDestroyedOrNull() != null &&
|
||||
LinphoneManager.getLc().getProxyConfigList() != null &&
|
||||
LinphoneManager.getLc().getProxyConfigList().length > n) {
|
||||
natPolicy = LinphoneManager.getLc().getProxyConfigList()[n].getNatPolicy();
|
||||
LinphoneProxyConfig proxy = LinphoneManager.getLc().getProxyConfigList()[n];
|
||||
natPolicy = proxy.getNatPolicy();
|
||||
if (natPolicy == null) {
|
||||
natPolicy = LinphoneManager.getLc().createNatPolicy();
|
||||
proxy.edit();
|
||||
proxy.setNatPolicy(natPolicy);
|
||||
proxy.done();
|
||||
}
|
||||
}
|
||||
|
||||
accountCreator = LinphoneCoreFactory.instance().createAccountCreator(LinphoneManager.getLc()
|
||||
|
|
|
@ -216,9 +216,9 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
|
||||
@Override
|
||||
public void registrationState(LinphoneCore lc, LinphoneProxyConfig proxy, LinphoneCore.RegistrationState state, String smessage) {
|
||||
LinphoneAuthInfo authInfo = lc.findAuthInfo(proxy.getIdentity(), proxy.getRealm(), proxy.getDomain());
|
||||
if (state.equals(RegistrationState.RegistrationCleared)) {
|
||||
if (lc != null) {
|
||||
LinphoneAuthInfo authInfo = lc.findAuthInfo(proxy.getIdentity(), proxy.getRealm(), proxy.getDomain());
|
||||
if (authInfo != null)
|
||||
lc.removeAuthInfo(authInfo);
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ public class LinphoneActivity extends LinphoneGenericActivity implements OnClick
|
|||
refreshAccounts();
|
||||
|
||||
if(getResources().getBoolean(R.bool.use_phone_number_validation)
|
||||
&& proxy.getDomain().equals(getString(R.string.default_domain))) {
|
||||
&& authInfo != null && authInfo.getDomain().equals(getString(R.string.default_domain))) {
|
||||
if (state.equals(RegistrationState.RegistrationOk)) {
|
||||
LinphoneManager.getInstance().isAccountWithAlias();
|
||||
}
|
||||
|
|
|
@ -569,6 +569,38 @@ public class LinphonePreferences {
|
|||
return authInfo == null ? null : authInfo.getHa1();
|
||||
}
|
||||
|
||||
public void setAccountIce(int n, boolean ice) {
|
||||
try {
|
||||
LinphoneProxyConfig prxCfg = getProxyConfig(n);
|
||||
prxCfg.edit();
|
||||
prxCfg.getNatPolicy().enableIce(ice);
|
||||
prxCfg.done();
|
||||
} catch (Exception e) {
|
||||
Log.e(e);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean getAccountIce(int n) {
|
||||
if (getProxyConfig(n) == null || getProxyConfig(n).getNatPolicy() == null) return false;
|
||||
return getProxyConfig(n).getNatPolicy().iceEnabled();
|
||||
}
|
||||
|
||||
public void setAccountStunServer(int n, String stun) {
|
||||
try {
|
||||
LinphoneProxyConfig prxCfg = getProxyConfig(n);
|
||||
prxCfg.edit();
|
||||
prxCfg.getNatPolicy().setStunServer(stun);
|
||||
prxCfg.done();
|
||||
} catch (Exception e) {
|
||||
Log.e(e);
|
||||
}
|
||||
}
|
||||
|
||||
public String getAccountStunServer(int n) {
|
||||
if (getProxyConfig(n) == null || getProxyConfig(n).getNatPolicy() == null) return "";
|
||||
return getProxyConfig(n).getNatPolicy().getStunServer();
|
||||
}
|
||||
|
||||
public void setAccountDomain(int n, String domain) {
|
||||
String identity = "sip:" + getAccountUsername(n) + "@" + domain;
|
||||
LinphoneAuthInfo old_info = getAuthInfo(n);
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit e534a2e9b1f2bc7009a2816c8845aa7c07812d73
|
||||
Subproject commit e401c0a91f81ff2a22b713151617ba4e7994c855
|
|
@ -1 +1 @@
|
|||
Subproject commit 8abfd2f68e93f69dd48a8840a654204ffe996f30
|
||||
Subproject commit 5ea997060204d7eb680d94c8f258ca5bfdce1d65
|
|
@ -1 +1 @@
|
|||
Subproject commit e9980c6ca74e0619215fa78f83543cb6f209f4d5
|
||||
Subproject commit c03dd6f3898076e8d5721be7665dc7f0c0ada2f9
|
|
@ -1 +1 @@
|
|||
Subproject commit 52025ffef5f9637426f8ed1e9f83e183e87f8be3
|
||||
Subproject commit d658d212815b094e27f8d3513043c00c6e262999
|
|
@ -1 +1 @@
|
|||
Subproject commit 4b0eb84c8e738a606cfd5da35d2a673853b4b13a
|
||||
Subproject commit bd792338c47c3849cce3661d4e693df0177873c0
|
Loading…
Reference in a new issue