Fixed phone number linphone connection doing nothing + username too short error on tablets while creating account

This commit is contained in:
Sylvain Berfini 2019-04-17 13:44:27 +02:00
parent f9992545ae
commit 6b3bff4412
3 changed files with 8 additions and 12 deletions

View file

@ -339,7 +339,7 @@ public class CreateAccountFragment extends Fragment
addAlias(); addAlias();
} else { } else {
if (mUseEmail.isChecked()) mAccountCreator.setPhoneNumber(null, null); if (mUseEmail.isChecked()) mAccountCreator.setPhoneNumber(null, null);
if (!getResources().getBoolean(R.bool.isTablet) || getUsername().length() > 0) { if (getUsername().length() > 0) {
mAccountCreator.isAccountExist(); mAccountCreator.isAccountExist();
} else { } else {
LinphoneUtils.displayErrorAlert( LinphoneUtils.displayErrorAlert(

View file

@ -58,10 +58,9 @@ public class LinphoneLoginFragment extends Fragment
private CheckBox mUseUsername; private CheckBox mUseUsername;
private LinearLayout mPhoneNumberLayout, mUsernameLayout, mPasswordLayout; private LinearLayout mPhoneNumberLayout, mUsernameLayout, mPasswordLayout;
private TextView mForgotPassword, mMessagePhoneNumber, mPhoneNumberError; private TextView mForgotPassword, mMessagePhoneNumber, mPhoneNumberError;
private Boolean mRecoverAccount;
private AccountCreator mAccountCreator; private AccountCreator mAccountCreator;
private int mCountryCode; private int mCountryCode;
private String mPhone, mDialcode, mUsername, mPwd; private String mPhone, mUsername, mPwd;
private ImageView mPhoneNumberInfo; private ImageView mPhoneNumberInfo;
@Override @Override
@ -77,8 +76,6 @@ public class LinphoneLoginFragment extends Fragment
mLogin = view.findViewById(R.id.assistant_username); mLogin = view.findViewById(R.id.assistant_username);
mLogin.addTextChangedListener(this); mLogin.addTextChangedListener(this);
mRecoverAccount = true;
mDialCode = view.findViewById(R.id.dial_code); mDialCode = view.findViewById(R.id.dial_code);
mPhoneNumberEdit = view.findViewById(R.id.phone_number); mPhoneNumberEdit = view.findViewById(R.id.phone_number);
@ -104,7 +101,7 @@ public class LinphoneLoginFragment extends Fragment
if (getResources().getBoolean(R.bool.use_phone_number_validation)) { if (getResources().getBoolean(R.bool.use_phone_number_validation)) {
mMessagePhoneNumber.setText(getString(R.string.assistant_create_account_part_1)); mMessagePhoneNumber.setText(getString(R.string.assistant_create_account_part_1));
mPhone = getArguments().getString("Phone"); mPhone = getArguments().getString("Phone");
mDialcode = getArguments().getString("Dialcode"); String prefix = getArguments().getString("Dialcode");
getActivity().getApplicationContext(); getActivity().getApplicationContext();
// Automatically get the country code from the mPhone // Automatically get the country code from the mPhone
@ -148,7 +145,7 @@ public class LinphoneLoginFragment extends Fragment
} }
if (mPhone != null) mPhoneNumberEdit.setText(mPhone); if (mPhone != null) mPhoneNumberEdit.setText(mPhone);
if (mDialcode != null) mDialCode.setText("+" + mDialcode); if (prefix != null) mDialCode.setText("+" + prefix);
} }
if (getResources().getBoolean(R.bool.assistant_allow_username)) { if (getResources().getBoolean(R.bool.assistant_allow_username)) {
@ -212,6 +209,7 @@ public class LinphoneLoginFragment extends Fragment
} }
private int getPhoneNumberStatus() { private int getPhoneNumberStatus() {
mAccountCreator.setDomain(getString(R.string.default_domain));
return mAccountCreator.setPhoneNumber( return mAccountCreator.setPhoneNumber(
mPhoneNumberEdit.getText().toString(), LinphoneUtils.getCountryCode(mDialCode)); mPhoneNumberEdit.getText().toString(), LinphoneUtils.getCountryCode(mDialCode));
} }
@ -247,7 +245,6 @@ public class LinphoneLoginFragment extends Fragment
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
mRecoverAccount = mUseUsername == null || !mUseUsername.isChecked();
} }
@Override @Override
@ -255,7 +252,7 @@ public class LinphoneLoginFragment extends Fragment
int id = v.getId(); int id = v.getId();
if (id == R.id.assistant_apply) { if (id == R.id.assistant_apply) {
mApply.setEnabled(false); mApply.setEnabled(false);
if (mRecoverAccount) { if (mUseUsername == null || !mUseUsername.isChecked()) {
recoverAccount(); recoverAccount();
} else { } else {
linphoneLogIn(); linphoneLogIn();
@ -271,7 +268,7 @@ public class LinphoneLoginFragment extends Fragment
} }
private void recoverAccount() { private void recoverAccount() {
if (mPhoneNumberEdit.length() > 0 || mDialCode.length() > 1) { if (mPhoneNumberEdit.getText().length() > 0 || mDialCode.getText().length() > 1) {
int status = getPhoneNumberStatus(); int status = getPhoneNumberStatus();
boolean isOk = status == AccountCreator.PhoneNumberStatus.Ok.toInt(); boolean isOk = status == AccountCreator.PhoneNumberStatus.Ok.toInt();
if (isOk) { if (isOk) {
@ -333,14 +330,12 @@ public class LinphoneLoginFragment extends Fragment
mPhoneNumberEdit.setVisibility(EditText.GONE); mPhoneNumberEdit.setVisibility(EditText.GONE);
mPhoneNumberLayout.setVisibility(LinearLayout.GONE); mPhoneNumberLayout.setVisibility(LinearLayout.GONE);
mMessagePhoneNumber.setText(getString(R.string.assistant_linphone_login_desc)); mMessagePhoneNumber.setText(getString(R.string.assistant_linphone_login_desc));
mRecoverAccount = false;
} else { } else {
mUsernameLayout.setVisibility(View.GONE); mUsernameLayout.setVisibility(View.GONE);
mPasswordLayout.setVisibility(View.GONE); mPasswordLayout.setVisibility(View.GONE);
mPhoneNumberEdit.setVisibility(EditText.VISIBLE); mPhoneNumberEdit.setVisibility(EditText.VISIBLE);
mPhoneNumberLayout.setVisibility(LinearLayout.VISIBLE); mPhoneNumberLayout.setVisibility(LinearLayout.VISIBLE);
mMessagePhoneNumber.setText(getString(R.string.assistant_create_account_part_1)); mMessagePhoneNumber.setText(getString(R.string.assistant_create_account_part_1));
mRecoverAccount = true;
} }
} }
} }

View file

@ -385,6 +385,7 @@ public final class LinphoneUtils {
public static String errorForStatus(AccountCreator.Status status) { public static String errorForStatus(AccountCreator.Status status) {
Context ctxt = getContext(); Context ctxt = getContext();
Log.e("Status error " + status.name());
if (ctxt != null) { if (ctxt != null) {
if (status.equals(AccountCreator.Status.RequestFailed)) if (status.equals(AccountCreator.Status.RequestFailed))
return ctxt.getString(R.string.request_failed); return ctxt.getString(R.string.request_failed);