Browse Source

Register screen done

master
preyearegmi 6 years ago
parent
commit
f127f82bfd
  1. 148
      app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java
  2. 1
      app/src/main/res/layout/activity_login_v2.xml
  3. 199
      app/src/main/res/layout/activity_register_v2.xml

148
app/src/main/java/com/gmeremit/online/gmeremittance_native/registerV2/view/RegisterV2Activity.java

@ -1,16 +1,21 @@
package com.gmeremit.online.gmeremittance_native.registerV2.view; package com.gmeremit.online.gmeremittance_native.registerV2.view;
import android.app.DatePickerDialog;
import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.graphics.Rect;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.TextInputLayout;
import android.support.v4.view.GestureDetectorCompat;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.TextView; import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity; import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView;
import com.gmeremit.online.gmeremittance_native.homeV2.view.HomeActivityV2; import com.gmeremit.online.gmeremittance_native.homeV2.view.HomeActivityV2;
import com.gmeremit.online.gmeremittance_native.loginV2.view.LoginV2Activity; import com.gmeremit.online.gmeremittance_native.loginV2.view.LoginV2Activity;
import com.gmeremit.online.gmeremittance_native.registerV2.presenter.RegisterV2Presenter; import com.gmeremit.online.gmeremittance_native.registerV2.presenter.RegisterV2Presenter;
@ -25,7 +30,7 @@ import java.util.Locale;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface, View.OnClickListener {
public class RegisterV2Activity extends BaseActivity implements RegisterV2PresenterInterface.RegisterV2ContractInterface, View.OnClickListener, View.OnTouchListener {
@BindView(R.id.email_mobile) @BindView(R.id.email_mobile)
@ -43,24 +48,29 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen
@BindView(R.id.btn_submit) @BindView(R.id.btn_submit)
Button btn_submit; Button btn_submit;
@BindView(R.id.useridWrapper)
TextInputLayout useridWrapper;
@BindView(R.id.emailErrorTxt)
GmeErrorTextView emailErrorTxt;
@BindView(R.id.passwordWrapper)
TextInputLayout passwordWrapper;
@BindView(R.id.passwordErrorTxt)
GmeErrorTextView passwordErrorTxt;
@BindView(R.id.confirmpassWrapper)
TextInputLayout confirmpassWrapper;
@BindView(R.id.confirmPwdErrorTxt)
GmeErrorTextView confirmPwdErrorTxt;
@BindView(R.id.dobWrapper)
TextInputLayout dobWrapper;
@BindView(R.id.dateErrorTxt)
GmeErrorTextView dateErrorTxt;
@BindView(R.id.tv_login) @BindView(R.id.tv_login)
TextView tv_login; TextView tv_login;
@BindView(R.id.ed_dob_container)
FrameLayout ed_dob_container;
RegisterV2PresenterInterface presenter; RegisterV2PresenterInterface presenter;
private DatePickerDialog datePickerDialog;
private Calendar newCalendar;
private GestureDetectorCompat dobConatinerClickGestureDetector;
private RegisterDobClickGestureDetector dobContainerOnClickGestureDetector;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
@ -73,65 +83,55 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen
private void initialize() { private void initialize() {
this.presenter=new RegisterV2Presenter(this);
newCalendar = Calendar.getInstance();
this.presenter = new RegisterV2Presenter(this);
dobContainerOnClickGestureDetector = new RegisterDobClickGestureDetector();
dobConatinerClickGestureDetector = new GestureDetectorCompat(this, dobContainerOnClickGestureDetector);
} }
private void performDefaultAction(Bundle savedInstanceState) { private void performDefaultAction(Bundle savedInstanceState) {
} }
@SuppressLint("ClickableViewAccessibility")
@Override @Override
protected void onStart() { protected void onStart() {
super.onStart(); super.onStart();
tv_login.setOnClickListener(this); tv_login.setOnClickListener(this);
btn_submit.setOnClickListener(this); btn_submit.setOnClickListener(this);
ed_dob.setOnClickListener(this);
} }
@SuppressLint("ClickableViewAccessibility")
@Override @Override
protected void onStop() { protected void onStop() {
super.onStop(); super.onStop();
tv_login.setOnClickListener(null); tv_login.setOnClickListener(null);
btn_submit.setOnClickListener(null); btn_submit.setOnClickListener(null);
ed_dob.setOnClickListener(null);
} }
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return (dobConatinerClickGestureDetector.onTouchEvent(ev) || super.dispatchTouchEvent(ev));
}
@Override @Override
public void onClick(View v) { public void onClick(View v) {
switch(v.getId())
{
switch (v.getId()) {
case R.id.tv_login: case R.id.tv_login:
redirectToLogin(); redirectToLogin();
break; break;
case R.id.ed_dob:
promptDatePicker();
break;
case R.id.btn_submit: case R.id.btn_submit:
if(presenter.validateAll(emailMobileTextView.getText().toString(),passwordTextView.getText().toString(),confirmPasswordTextView.getText().toString(),ed_dob.getText().toString())) {
if (presenter.validateAll(emailMobileTextView.getText().toString(), passwordTextView.getText().toString(), confirmPasswordTextView.getText().toString(), ed_dob.getText().toString())) {
hideKeyBoard(); hideKeyBoard();
presenter.registerUser(emailMobileTextView.getText().toString(), passwordTextView.getText().toString(), ed_dob.getText().toString()); presenter.registerUser(emailMobileTextView.getText().toString(), passwordTextView.getText().toString(), ed_dob.getText().toString());
} }
break;
break;
} }
} }
public void promptDatePicker() {
// datePickerDialog = new DatePickerDialog(this, (DatePickerDialog.OnDateSetListener) (view, year, monthOfYear, dayOfMonth) -> {
// Calendar newDate = Calendar.getInstance();
// newDate.set(year, monthOfYear, dayOfMonth);
// ed_dob.setText(new SimpleDateFormat(Utils.getDefaultDateFormat(), Locale.US).format(newDate.getTime()));
// presenter.validateDob(ed_dob.getText().toString());
//
// }, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
//
// datePickerDialog.getDatePicker().setMaxDate(new Date().getTime() - 10000);
// datePickerDialog.getDatePicker().updateDate(1990, 1, 1);
//
// hideKeyBoard();
// datePickerDialog.show();
public void promptDatePicker() {
hideKeyBoard(); hideKeyBoard();
SpinnerDatePickerDialogBuilder builder = new SpinnerDatePickerDialogBuilder(); SpinnerDatePickerDialogBuilder builder = new SpinnerDatePickerDialogBuilder();
@ -155,46 +155,30 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen
} }
@Override @Override
public void setConfirmPasswordError(String error) { public void setConfirmPasswordError(String error) {
if(error==null)
confirmpassWrapper.setErrorEnabled(false);
else
confirmpassWrapper.setErrorEnabled(true);
confirmpassWrapper.setError(error);
confirmPwdErrorTxt.setErrorText(error);
} }
@Override @Override
public void setPasswordError(String error) { public void setPasswordError(String error) {
if(error==null)
passwordWrapper.setErrorEnabled(false);
else
passwordWrapper.setErrorEnabled(true);
passwordWrapper.setError(error);
passwordErrorTxt.setErrorText(error);
} }
@Override @Override
public void setDobError(String error) { public void setDobError(String error) {
if(error==null)
dobWrapper.setErrorEnabled(false);
else
dobWrapper.setErrorEnabled(true);
dobWrapper.setError(error);
dateErrorTxt.setErrorText(error);
} }
@Override @Override
public void setUserIdError(String error) { public void setUserIdError(String error) {
if(error==null)
useridWrapper.setErrorEnabled(false);
else
useridWrapper.setErrorEnabled(true);
useridWrapper.setError(error);
emailErrorTxt.setErrorText(error);
} }
@Override @Override
public void redirectToLogin() { public void redirectToLogin() {
Intent redirectIntent=new Intent(this,LoginV2Activity.class);
Intent redirectIntent = new Intent(this, LoginV2Activity.class);
redirectIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); redirectIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(redirectIntent); startActivity(redirectIntent);
finish(); finish();
@ -202,11 +186,51 @@ public class RegisterV2Activity extends BaseActivity implements RegisterV2Presen
@Override @Override
public void redirectToDashboard() { public void redirectToDashboard() {
Intent redirectIntent=new Intent(this,HomeActivityV2.class);
Intent redirectIntent = new Intent(this, HomeActivityV2.class);
redirectIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); redirectIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(redirectIntent); startActivity(redirectIntent);
finish(); finish();
} }
@Override
public boolean onTouch(View v, MotionEvent event) {
if (v.getId() == R.id.ed_dob_container) {
promptDatePicker();
return true;
}
return false;
}
class RegisterDobClickGestureDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onSingleTapUp(MotionEvent e) {
if (e.getAction() == MotionEvent.ACTION_UP) {
boolean isDobContainerClicked = checkIfDateContainerIsClicked(e.getX(), e.getY());
if (isDobContainerClicked)
promptDatePicker();
return isDobContainerClicked;
}
return super.onSingleTapUp(e);
}
private boolean checkIfDateContainerIsClicked(float x, float y) {
int posX = (int) x;
int posY = (int) y;
int[] dobConatinerLeftAndTopCoordinates = new int[2];
ed_dob_container.getLocationOnScreen(dobConatinerLeftAndTopCoordinates);
Rect dobContainerBoundRect = new Rect(dobConatinerLeftAndTopCoordinates[0], dobConatinerLeftAndTopCoordinates[1],
dobConatinerLeftAndTopCoordinates[0] + ed_dob_container.getMeasuredWidth(),
dobConatinerLeftAndTopCoordinates[1] + ed_dob_container.getMeasuredHeight());
return dobContainerBoundRect.contains(posX, posY);
}
}
} }

1
app/src/main/res/layout/activity_login_v2.xml

@ -135,7 +135,6 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/passwordWrapper"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:gravity="center" android:gravity="center"
> >

199
app/src/main/res/layout/activity_register_v2.xml

@ -28,12 +28,13 @@
<LinearLayout <LinearLayout
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:orientation="vertical" android:orientation="vertical"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView <com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -54,112 +55,162 @@
app:txtfontName="@string/regular" app:txtfontName="@string/regular"
/> />
<android.support.design.widget.TextInputLayout
android:background="#fff"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:id="@+id/useridWrapper"
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="2dp"
android:text="@string/email_text"
android:textSize="14sp"
app:txtfontName="@string/regular" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
style="@style/editetxtsinglelineDone"
android:id="@+id/email_mobile"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:maxLines="1"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textSize="16sp"
android:minHeight="40dp"
android:hint="@string/email_text" android:hint="@string/email_text"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/email_mobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/editetxtsingleline"
android:inputType="textEmailAddress"
android:imeOptions="actionDone"
/>
android:imeOptions="actionDone"
android:background="@drawable/curve_rectangle_edit_text"
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView
android:layout_marginStart="3dp"
android:id="@+id/emailErrorTxt"
android:paddingTop="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:background="#fff"
android:id="@+id/passwordWrapper"
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:text="@string/password_text"
android:textSize="14sp"
app:txtfontName="@string/regular" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
style="@style/editetxtsinglelineDone"
android:id="@+id/password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textPassword"
android:maxLines="1"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textSize="16sp"
android:minHeight="40dp"
android:hint="@string/password_text" android:hint="@string/password_text"
app:hintEnabled="true"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
style="@style/editetxtsingleline"
/>
android:imeOptions="actionDone"
android:background="@drawable/curve_rectangle_edit_text"
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView
android:layout_marginStart="3dp"
android:id="@+id/passwordErrorTxt"
android:paddingTop="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:background="#fff"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:id="@+id/confirmpassWrapper"
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:text="@string/confirm_password_text"
android:textSize="14sp"
app:txtfontName="@string/regular" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
style="@style/editetxtsinglelineDone"
android:id="@+id/confirm_password"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:inputType="textPassword"
android:maxLines="1"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textSize="16sp"
android:minHeight="40dp"
android:hint="@string/confirm_password_text" android:hint="@string/confirm_password_text"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/confirm_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/editetxtsinglelineDone"
android:inputType="textPassword"/>
android:imeOptions="actionDone"
android:background="@drawable/curve_rectangle_edit_text"
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView
android:layout_marginStart="3dp"
android:id="@+id/confirmPwdErrorTxt"
android:paddingTop="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
</android.support.design.widget.TextInputLayout>
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginTop="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dp"
android:text="@string/dob_text"
android:textSize="14sp"
app:txtfontName="@string/regular" />
<FrameLayout <FrameLayout
android:background="#fff"
android:layout_marginEnd="5dp"
android:id="@+id/ed_dob_container"
android:visibility="visible" android:visibility="visible"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/curve_rectangle_edit_text"
android:orientation="horizontal" android:orientation="horizontal"
android:layout_marginRight="5dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/dobWrapper"
>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText
android:focusable="false"
android:focusableInTouchMode="false"
android:cursorVisible="false"
style="@style/editetxtsinglelineDone"
android:id="@+id/ed_dob"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:maxLines="1"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:paddingStart="8dp"
android:background="@android:color/transparent"
android:paddingEnd="8dp"
android:textSize="16sp"
android:minHeight="40dp"
android:hint="@string/dob_text" android:hint="@string/dob_text"
app:hintEnabled="true"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/ed_dob"
style="@style/editetxtsingleline"
android:enabled="true"
android:focusable="false"
android:layout_marginRight="12dp"
android:layout_marginEnd="12dp"
android:imeOptions="actionDone"
android:layout_width="match_parent"
android:singleLine="false"
android:layout_height="wrap_content"
/>
</android.support.design.widget.TextInputLayout>
android:imeOptions="actionDone"
/>
<ImageView <ImageView
android:layout_marginEnd="10dp"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/ic_arrow_down" android:background="@drawable/ic_arrow_down"
/> />
</FrameLayout> </FrameLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView
android:id="@+id/dateErrorTxt"
android:paddingTop="2dp"
android:layout_marginStart="3dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<LinearLayout <LinearLayout
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/passwordWrapper"
android:layout_marginBottom="10dp" android:layout_marginBottom="10dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:gravity="center" android:gravity="center"

Loading…
Cancel
Save