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_width="wrap_content"
android:layout_height="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 <TextView
android:text="@string/assistant_validate_account" android:text="@string/assistant_validate_account"
style="@style/font11" style="@style/font11"

View file

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

View file

@ -78,7 +78,7 @@
<string name="assistant_login_generic">Use SIP account</string> <string name="assistant_login_generic">Use SIP account</string>
<string name="assistant_remote_provisioning">Fetch remote configuration</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_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_display_name_optional">Display name (optional)</string>
<string name="assistant_linphone_account">Use your Linphone account</string> <string name="assistant_linphone_account">Use your Linphone account</string>
<string name="assistant_generic_account">Configure SIP 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 tempDomain;
private String tempProxy; private String tempProxy;
private String tempRealm; private String tempRealm;
private String tempPrefix;
private boolean tempOutboundProxy; private boolean tempOutboundProxy;
private String tempContactsParams; private String tempContactsParams;
private String tempExpire; private String tempExpire;
@ -301,6 +302,11 @@ public class LinphonePreferences {
return this; return this;
} }
public AccountBuilder setPrefix(String prefix) {
tempPrefix = prefix;
return this;
}
public AccountBuilder setQualityReportingEnabled(boolean enable) { public AccountBuilder setQualityReportingEnabled(boolean enable) {
tempQualityReportingEnabled = enable; tempQualityReportingEnabled = enable;
return this; return this;
@ -373,6 +379,11 @@ public class LinphonePreferences {
prxCfg.setQualityReportingCollector(tempQualityReportingCollector); prxCfg.setQualityReportingCollector(tempQualityReportingCollector);
prxCfg.setQualityReportingInterval(tempQualityReportingInterval); prxCfg.setQualityReportingInterval(tempQualityReportingInterval);
if(tempPrefix != null){
prxCfg.setDialPrefix(tempPrefix);
}
if(tempRealm != null) if(tempRealm != null)
prxCfg.setRealm(tempRealm); 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) { private void logIn(String username, String password, String ha1, String prefix, String domain, TransportType transport, boolean sendEcCalibrationResult) {
saveCreatedAccount(username, password, displayName, ha1, domain, transport); saveCreatedAccount(username, password, ha1, prefix, domain, transport);
} }
public void checkAccount(String username, String password, String displayName, String domain) { public void checkAccount(String username, String password, String prefix, String domain) {
saveCreatedAccount(username, password, displayName, null, domain, null); 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) { if (validate) {
checkAccount(username, password, displayName, getString(R.string.default_domain)); checkAccount(username, password, prefix, getString(R.string.default_domain));
} else { } else {
if(accountCreated) { if(accountCreated) {
retryLogin(username, password, displayName, getString(R.string.default_domain), null); retryLogin(username, password, prefix, getString(R.string.default_domain), null);
} else { } 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) { if (accountCreated) {
retryLogin(username, password, displayName, domain, transport); retryLogin(username, password, prefix, domain, transport);
} else { } 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); 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; accountCreated = false;
saveCreatedAccount(username, password, displayName, null, domain, transport); saveCreatedAccount(username, password, null, prefix, domain, transport);
} }
private void launchDownloadCodec() { private void launchDownloadCodec() {
@ -427,7 +427,7 @@ private static AssistantActivity instance;
return phoneNumberWithCountry; 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) if (accountCreated)
return; return;
@ -441,19 +441,16 @@ private static AssistantActivity instance;
Log.e(e); Log.e(e);
} }
if(address != null && displayName != null && !displayName.equals("")){
address.setDisplayName(displayName);
}
boolean isMainAccountLinphoneDotOrg = domain.equals(getString(R.string.default_domain)); boolean isMainAccountLinphoneDotOrg = domain.equals(getString(R.string.default_domain));
AccountBuilder builder = new AccountBuilder(LinphoneManager.getLc()) AccountBuilder builder = new AccountBuilder(LinphoneManager.getLc())
.setUsername(username) .setUsername(username)
.setDomain(domain) .setDomain(domain)
.setDisplayName(displayName)
.setHa1(ha1) .setHa1(ha1)
.setPassword(password); .setPassword(password);
if(prefix != null){
builder.setPrefix(prefix);
}
if (isMainAccountLinphoneDotOrg) { if (isMainAccountLinphoneDotOrg) {
if (getResources().getBoolean(R.bool.disable_all_security_features_for_markets)) { 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)) { if (status.equals(Status.AccountActivated)) {
checkAccount.setEnabled(true); checkAccount.setEnabled(true);
if (accountCreator.getUsername() != null) { 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){ if(!recoverAccount){
AssistantActivity.instance().isAccountVerified(accountCreator.getUsername()); AssistantActivity.instance().isAccountVerified(accountCreator.getUsername());
} else { } else {
AssistantActivity.instance().finish(); AssistantActivity.instance().finish();
} }
} else { } 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) { if(!recoverAccount) {
AssistantActivity.instance().isAccountVerified(accountCreator.getPhoneNumber()); AssistantActivity.instance().isAccountVerified(accountCreator.getPhoneNumber());
} else { } 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);
} }
} }