Add prefix in proxy config for phone numbers

This commit is contained in:
Margaux Clerc 2016-09-14 14:13:54 +02:00
parent 5565dc6234
commit cfee90d5ea
7 changed files with 35 additions and 32 deletions

View file

@ -17,13 +17,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:text="@string/assistant_create_account_part_2"
style="@style/font11"
android:paddingTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:text="@string/assistant_validate_account"
style="@style/font11"

View file

@ -87,6 +87,7 @@
android:singleLine="true"/>
<TextView
android:visibility="gone"
android:text="@string/assistant_display_name_optional"
style="@style/font13"
android:textAllCaps="true"
@ -95,6 +96,7 @@
android:layout_height="wrap_content"/>
<EditText
android:visibility="gone"
android:id="@+id/assistant_display_name"
android:background="@drawable/resizable_textfield"
android:textColor="@color/colorB"

View file

@ -78,7 +78,7 @@
<string name="assistant_login_generic">Use SIP account</string>
<string name="assistant_remote_provisioning">Fetch remote configuration</string>
<string name="assistant_create_account_part_1">Please confirm your country code and enter your phone number</string>
<string name="assistant_create_account_part_2">We have sent you a SMS with a validation code.\n\nTo complete your phone number verification, please enter the %i digit code below:\n</string>
<string name="assistant_create_account_part_2">We have sent you a SMS with a validation code.\n\nTo complete your phone number verification, please enter the 4 digit code below:\n</string>
<string name="assistant_display_name_optional">Display name (optional)</string>
<string name="assistant_linphone_account">Use your Linphone account</string>
<string name="assistant_generic_account">Configure SIP account</string>

View file

@ -209,6 +209,7 @@ public class LinphonePreferences {
private String tempDomain;
private String tempProxy;
private String tempRealm;
private String tempPrefix;
private boolean tempOutboundProxy;
private String tempContactsParams;
private String tempExpire;
@ -301,6 +302,11 @@ public class LinphonePreferences {
return this;
}
public AccountBuilder setPrefix(String prefix) {
tempPrefix = prefix;
return this;
}
public AccountBuilder setQualityReportingEnabled(boolean enable) {
tempQualityReportingEnabled = enable;
return this;
@ -373,6 +379,11 @@ public class LinphonePreferences {
prxCfg.setQualityReportingCollector(tempQualityReportingCollector);
prxCfg.setQualityReportingInterval(tempQualityReportingInterval);
if(tempPrefix != null){
prxCfg.setDialPrefix(tempPrefix);
}
if(tempRealm != null)
prxCfg.setRealm(tempRealm);

View file

@ -312,31 +312,31 @@ private static AssistantActivity instance;
}
}
private void logIn(String username, String password, String ha1, String displayName, String domain, TransportType transport, boolean sendEcCalibrationResult) {
saveCreatedAccount(username, password, displayName, ha1, domain, transport);
private void logIn(String username, String password, String ha1, String prefix, String domain, TransportType transport, boolean sendEcCalibrationResult) {
saveCreatedAccount(username, password, ha1, prefix, domain, transport);
}
public void checkAccount(String username, String password, String displayName, String domain) {
saveCreatedAccount(username, password, displayName, null, domain, null);
public void checkAccount(String username, String password, String prefix, String domain) {
saveCreatedAccount(username, password, null, prefix, domain, null);
}
public void linphoneLogIn(String username, String password, String ha1, String displayName, boolean validate) {
public void linphoneLogIn(String username, String password, String ha1, String prefix, boolean validate) {
if (validate) {
checkAccount(username, password, displayName, getString(R.string.default_domain));
checkAccount(username, password, prefix, getString(R.string.default_domain));
} else {
if(accountCreated) {
retryLogin(username, password, displayName, getString(R.string.default_domain), null);
retryLogin(username, password, prefix, getString(R.string.default_domain), null);
} else {
logIn(username, password, ha1, displayName, getString(R.string.default_domain), null, true);
logIn(username, password, ha1, prefix, getString(R.string.default_domain), null, true);
}
}
}
public void genericLogIn(String username, String password, String displayName, String domain, TransportType transport) {
public void genericLogIn(String username, String password, String prefix, String domain, TransportType transport) {
if (accountCreated) {
retryLogin(username, password, displayName, domain, transport);
retryLogin(username, password, prefix, domain, transport);
} else {
logIn(username, password, null, displayName, domain, transport, false);
logIn(username, password, null, prefix, domain, transport, false);
}
}
@ -400,9 +400,9 @@ private static AssistantActivity instance;
back.setVisibility(View.VISIBLE);
}
public void retryLogin(String username, String password, String displayName, String domain, TransportType transport) {
public void retryLogin(String username, String password, String prefix, String domain, TransportType transport) {
accountCreated = false;
saveCreatedAccount(username, password, displayName, null, domain, transport);
saveCreatedAccount(username, password, null, prefix, domain, transport);
}
private void launchDownloadCodec() {
@ -427,7 +427,7 @@ private static AssistantActivity instance;
return phoneNumberWithCountry;
}
public void saveCreatedAccount(String username, String password, String displayName, String ha1, String domain, TransportType transport) {
public void saveCreatedAccount(String username, String password, String prefix, String ha1, String domain, TransportType transport) {
if (accountCreated)
return;
@ -441,19 +441,16 @@ private static AssistantActivity instance;
Log.e(e);
}
if(address != null && displayName != null && !displayName.equals("")){
address.setDisplayName(displayName);
}
boolean isMainAccountLinphoneDotOrg = domain.equals(getString(R.string.default_domain));
AccountBuilder builder = new AccountBuilder(LinphoneManager.getLc())
.setUsername(username)
.setDomain(domain)
.setDisplayName(displayName)
.setHa1(ha1)
.setPassword(password);
if(prefix != null){
builder.setPrefix(prefix);
}
if (isMainAccountLinphoneDotOrg) {
if (getResources().getBoolean(R.bool.disable_all_security_features_for_markets)) {

View file

@ -129,14 +129,14 @@ public class CreateAccountCodeActivationFragment extends Fragment implements Lin
if (status.equals(Status.AccountActivated)) {
checkAccount.setEnabled(true);
if (accountCreator.getUsername() != null) {
AssistantActivity.instance().saveCreatedAccount(accountCreator.getUsername(), null, null, accountCreator.getHa1(), getString(R.string.default_domain), null);
AssistantActivity.instance().saveCreatedAccount(accountCreator.getUsername(), null , dialcode, accountCreator.getHa1(), getString(R.string.default_domain), null);
if(!recoverAccount){
AssistantActivity.instance().isAccountVerified(accountCreator.getUsername());
} else {
AssistantActivity.instance().finish();
}
} else {
AssistantActivity.instance().saveCreatedAccount(accountCreator.getPhoneNumber(), null, null, accountCreator.getHa1(), getString(R.string.default_domain), null);
AssistantActivity.instance().saveCreatedAccount(accountCreator.getPhoneNumber(), null, dialcode, accountCreator.getHa1(), getString(R.string.default_domain), null);
if(!recoverAccount) {
AssistantActivity.instance().isAccountVerified(accountCreator.getPhoneNumber());
} else {

View file

@ -82,7 +82,7 @@ public class LoginFragment extends Fragment implements OnClickListener, TextWatc
}
}
AssistantActivity.instance().genericLogIn(login.getText().toString(), password.getText().toString(), displayName.getText().toString(), domain.getText().toString(), transport);
AssistantActivity.instance().genericLogIn(login.getText().toString(), password.getText().toString(), null, domain.getText().toString(), transport);
}
}