Browse Source

PreDashboard input field changed

master
preyearegmi 6 years ago
parent
commit
cb2303c33d
  1. 12
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/presenter/ResetPassV2Presenter.java
  2. 4
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/presenter/ResetPassV2PresenterInterface.java
  3. 108
      app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/view/ResetPassV2Activity.java
  4. 105
      app/src/main/res/layout/activity_reset_pass_v2.xml

12
app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/presenter/ResetPassV2Presenter.java

@ -44,7 +44,14 @@ public class ResetPassV2Presenter extends BasePresenter implements ResetPassV2Pr
}
@Override
public boolean validateEmail(String emailId) {
public boolean validateAll(String email, String dob) {
boolean isEmailValid=validateEmail(email);
boolean isDobValid=validateDob(dob);
return isEmailValid&&isDobValid;
}
private boolean validateEmail(String emailId) {
if(!Utils.isValidEmail(emailId))
{
this.view.showIncorrectEmail("Please enter a valid email id");
@ -54,8 +61,7 @@ public class ResetPassV2Presenter extends BasePresenter implements ResetPassV2Pr
return true;
}
@Override
public boolean validateDob(String dobString) {
private boolean validateDob(String dobString) {
if(dobString==null||dobString.trim().length()<1)
{
view.showIncorrectDob("Please enter a valid dob");

4
app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/presenter/ResetPassV2PresenterInterface.java

@ -9,9 +9,9 @@ public interface ResetPassV2PresenterInterface extends BasePresenterInterface {
void resetPassword(String emailId, String dob);
boolean validateEmail(String email);
boolean validateDob( String dob);
boolean validateAll(String email,String dob);
interface ResetPassV2ContractInterface extends BaseContractInterface

108
app/src/main/java/com/gmeremit/online/gmeremittance_native/resetpassV2/view/ResetPassV2Activity.java

@ -1,16 +1,23 @@
package com.gmeremit.online.gmeremittance_native.resetpassV2.view;
import android.app.DatePickerDialog;
import android.graphics.Rect;
import android.support.design.widget.TextInputLayout;
import android.support.v4.view.GestureDetectorCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.FrameLayout;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeErrorTextView;
import com.gmeremit.online.gmeremittance_native.registerV2.view.RegisterV2Activity;
import com.gmeremit.online.gmeremittance_native.resetpassV2.presenter.ResetPassV2Presenter;
import com.gmeremit.online.gmeremittance_native.resetpassV2.presenter.ResetPassV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
@ -32,11 +39,11 @@ public class ResetPassV2Activity extends BaseActivity implements View.OnClickLis
@BindView(R.id.ed_dob)
EditText ed_dob;
@BindView(R.id.useridWrapper)
TextInputLayout useridWrapper;
@BindView(R.id.emailErrorTxt)
GmeErrorTextView emailErrorTxt;
@BindView(R.id.dobWrapper)
TextInputLayout dobWrapper;
@BindView(R.id.dateErrorTxt)
GmeErrorTextView dateErrorTxt;
@BindView(R.id.btn_submit)
@ -46,11 +53,16 @@ public class ResetPassV2Activity extends BaseActivity implements View.OnClickLis
View iv_back;
private DatePickerDialog datePickerDialog;
@BindView(R.id.ed_dob_container)
FrameLayout ed_dob_container;
private ResetPassV2PresenterInterface presenterInterface;
private Calendar newCalendar;
private GestureDetectorCompat dobConatinerClickGestureDetector;
private ResetDobClickGestureDetector dobContainerOnClickGestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -63,33 +75,47 @@ public class ResetPassV2Activity extends BaseActivity implements View.OnClickLis
private void initialize() {
presenterInterface = new ResetPassV2Presenter(this);
newCalendar = Calendar.getInstance();
iv_back.setVisibility(View.VISIBLE);
dobContainerOnClickGestureDetector = new ResetDobClickGestureDetector();
dobConatinerClickGestureDetector = new GestureDetectorCompat(this, dobContainerOnClickGestureDetector);
}
private void performDefaultAction(Bundle savedInstanceState) {
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return (dobConatinerClickGestureDetector.onTouchEvent(ev) || super.dispatchTouchEvent(ev));
}
@Override
protected void onStart() {
super.onStart();
ed_dob.setOnClickListener(this);
btn_submit.setOnClickListener(this);
iv_back.setOnClickListener(this);
}
@Override
protected void onStop() {
super.onStop();
btn_submit.setOnClickListener(null);
iv_back.setOnClickListener(null);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ed_dob:
promptDatePicker();
break;
case R.id.btn_submit:
if (presenterInterface.validateEmail(emailId.getText().toString()) && presenterInterface.validateDob(ed_dob.getText().toString())) {
hideKeyBoard();
presenterInterface.resetPassword(emailId.getText().toString(), ed_dob.getText().toString());
if (presenterInterface.validateAll(emailId.getText().toString(),ed_dob.getText().toString()) ) {
hideKeyBoard();
presenterInterface.resetPassword(emailId.getText().toString(), ed_dob.getText().toString());
}
break;
@ -100,16 +126,6 @@ public class ResetPassV2Activity extends BaseActivity implements View.OnClickLis
}
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()));
// }, 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);
//
// datePickerDialog.show();
hideKeyBoard();
SpinnerDatePickerDialogBuilder builder = new SpinnerDatePickerDialogBuilder();
@ -136,19 +152,43 @@ public class ResetPassV2Activity extends BaseActivity implements View.OnClickLis
@Override
public void showIncorrectEmail(String message) {
if (message == null)
useridWrapper.setErrorEnabled(false);
else
useridWrapper.setErrorEnabled(true);
useridWrapper.setError(message);
emailErrorTxt.setErrorText(message);
}
@Override
public void showIncorrectDob(String message) {
if (message == null)
dobWrapper.setErrorEnabled(false);
else
dobWrapper.setErrorEnabled(true);
dobWrapper.setError(message);
dateErrorTxt.setErrorText(message);
}
class ResetDobClickGestureDetector 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);
}
}
}

105
app/src/main/res/layout/activity_reset_pass_v2.xml

@ -49,65 +49,88 @@
app:txtfontName="@string/regular"
/>
<android.support.design.widget.TextInputLayout
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_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: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.support.design.widget.TextInputLayout>
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"
/>
<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
android:layout_marginEnd="5dp"
android:id="@+id/ed_dob_container"
android:visibility="visible"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/curve_rectangle_edit_text"
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_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"
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
android:layout_marginEnd="10dp"
android:layout_gravity="center_vertical|end"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_arrow_down"
/>
</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"
/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/btn_submit"
@ -115,7 +138,7 @@
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_marginBottom="4dp"
android:layout_marginTop="10dp"
android:layout_marginTop="30dp"
android:background="@drawable/ic_rounded_background_coloured"
android:text="@string/reset_text"
android:textAllCaps="false"

Loading…
Cancel
Save