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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+