diff --git a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/signin/LoginFragment.java b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/signin/LoginFragment.java index e177ed9487e3a19a3fdaa8964b12a3da71b95ab1..1e424f50014605dd891ce6af800981badcf18355 100644 --- a/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/signin/LoginFragment.java +++ b/app/src/main/java/com/nynja/mobile/communicator/ui/fragments/signin/LoginFragment.java @@ -29,6 +29,7 @@ import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; @@ -88,12 +89,15 @@ public class LoginFragment extends BaseFragment implements LoginView, OnPhoneEdi @BindView(R.id.f_iphone_root) ConstraintLayout mCoordinatorLayout; @BindView(R.id.phone_ll) LinearLayout mPhoneLayout; @BindView(R.id.email_ll) LinearLayout mEmailLayout; - @BindView(R.id.login_change_type_iv) ImageView mChangeTypeIv; - @BindView(R.id.login_change_type_tv) TextView mChangeTypeTv; @BindView(R.id.email_et) EditText mEmailEt; @BindView(R.id.email_til) TextInputLayout mEmailTil; @BindView(R.id.f_iphone_btn_next) AppCompatButton mNextBtn; + @BindView(R.id.login_choice_auth_layout) ConstraintLayout mAuthStep1Layout; + @BindView(R.id.login_auth_step_layout) ConstraintLayout mAuthStep2Layout; + @BindView(R.id.login_by_email) RelativeLayout mLoginByEmailButton; + @BindView(R.id.login_by_phone) RelativeLayout mLoginByPhoneButton; + @InjectPresenter LoginPresenter mPresenter; private Handler mHandler; private boolean isUpdateVersionVisible; @@ -140,7 +144,7 @@ public class LoginFragment extends BaseFragment implements LoginView, OnPhoneEdi phoneEdt.setTextObservers(); setTextWatchers(); //initSpannableTerms(); - requestHint(); + //requestHint(); } private void setTextWatchers() { @@ -241,29 +245,63 @@ public class LoginFragment extends BaseFragment implements LoginView, OnPhoneEdi mPresenter.showCountryPickerFragment(); } - @OnClick(R.id.login_change_type_btn) void onClickChangeLoginType() { - if (mEmailLayout.getVisibility() == View.VISIBLE) { - showPhoneLogin(); - } else { + @OnClick(R.id.login_choice_by_email) void onClickLoginChoiceEmail() { + if (mAuthStep1Layout.getVisibility() == View.VISIBLE) { + onClickLoginChoiceByEmail(); + } + } + + @OnClick(R.id.login_choice_by_phone) void onClickLoginChoicePhone() { + if (mAuthStep1Layout.getVisibility() == View.VISIBLE) { + onClickLoginChoiceByPhone(); + } + } + + @OnClick(R.id.login_by_email) void onClickLoginEmail() { + if (mEmailLayout.getVisibility() != View.VISIBLE) { showEmailLogin(); } } + @OnClick(R.id.login_by_phone) void onClickLoginPhone() { + if (mPhoneLayout.getVisibility() != View.VISIBLE) { + showPhoneLogin(); + } + } + private void showPhoneLogin() { mEmailLayout.setVisibility(View.INVISIBLE); mPhoneLayout.setVisibility(View.VISIBLE); - mChangeTypeIv.setImageResource(R.drawable.icons_general_ic_email); - mChangeTypeTv.setText(R.string.signin_email); + mLoginByPhoneButton.setVisibility(View.GONE); + mLoginByEmailButton.setVisibility(View.VISIBLE); mNextBtn.setEnabled(validatePhone()); mPresenter.requestPhoneHint(); } + private void onClickLoginChoiceByEmail() { + if (mAuthStep1Layout.getVisibility() == View.VISIBLE) { + showEmailLogin(); + mAuthStep1Layout.setVisibility(View.INVISIBLE); + mAuthStep2Layout.setVisibility(View.VISIBLE); + requestHint(); + } + } + + private void onClickLoginChoiceByPhone() { + if (mAuthStep1Layout.getVisibility() == View.VISIBLE) { + showPhoneLogin(); + mAuthStep1Layout.setVisibility(View.INVISIBLE); + mAuthStep2Layout.setVisibility(View.VISIBLE); + requestHint(); + } + } + private void showEmailLogin() { mPhoneLayout.setVisibility(View.INVISIBLE); mEmailLayout.setVisibility(View.VISIBLE); - mChangeTypeIv.setImageResource(R.drawable.icons_general_ic_phone); - mChangeTypeTv.setText(R.string.signin_phone); + mLoginByEmailButton.setVisibility(View.GONE); + mLoginByPhoneButton.setVisibility(View.VISIBLE); if (mEmailEt.getText().toString().isEmpty()) { mEmailTil.setError(null); mNextBtn.setEnabled(false); @@ -273,11 +311,11 @@ public class LoginFragment extends BaseFragment implements LoginView, OnPhoneEdi mPresenter.requestEmailHint(); } - @OnClick(R.id.login_fb_btn) void onClickLoginFB() { + @OnClick({R.id.login_fb_btn, R.id.login_choice_fb_btn}) void onClickLoginFB() { mPresenter.loginBySocial(new FBSocialLoginImpl()); } - @OnClick(R.id.login_google_btn) void onClickLoginGoogle() { + @OnClick({R.id.login_google_btn, R.id.login_choice_google_btn}) void onClickLoginGoogle() { mPresenter.loginBySocial(new GoogleLoginImpl()); } diff --git a/app/src/main/res/layout/fragment_input_phone.xml b/app/src/main/res/layout/fragment_input_phone.xml index 11e1d60ee9a0102c19905251f90ae994e3fe40dd..1bb2aa7f1b05954ef29c1d8b0c87f84672d048ee 100644 --- a/app/src/main/res/layout/fragment_input_phone.xml +++ b/app/src/main/res/layout/fragment_input_phone.xml @@ -37,211 +37,173 @@ app:layout_constraintTop_toBottomOf="@id/top_welcome_label_tv" app:srcCompat="@drawable/logo"/> - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/f_iphone_img_logo" + tools:layout_editor_absoluteX="16dp"> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toTopOf="parent"> - - - - - + android:layout_height="wrap_content" /> + + - - - + - + android:animateLayoutChanges="true" + app:layout_constraintTop_toTopOf="parent"> - - - + + - - + tools:text="Ukraine" /> - - - - + + + - - + - + - - - + - + + + + + + + + - + - + android:enabled="false" + android:text="@string/next" + app:layout_constraintTop_toBottomOf="@id/auth_layout" /> - - - - - - - - + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_large" + android:animateLayoutChanges="true" + android:orientation="vertical" + app:layout_constraintBottom_toBottomOf="parent"> - + android:layout_gravity="center_horizontal" + android:text="@string/signin.or" + android:textColor="@color/hint.grey" /> - - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/login_buttons_layout.xml b/app/src/main/res/layout/login_buttons_layout.xml new file mode 100644 index 0000000000000000000000000000000000000000..05d7f115ec0b7ae9e304583f959caa3144a36221 --- /dev/null +++ b/app/src/main/res/layout/login_buttons_layout.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/login_choice_layout.xml b/app/src/main/res/layout/login_choice_layout.xml new file mode 100644 index 0000000000000000000000000000000000000000..534d7c072bf8d08db3f1e6b63a68c6709f8df02f --- /dev/null +++ b/app/src/main/res/layout/login_choice_layout.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +