Browse Source

Profile fixing

master
preyearegmi 6 years ago
parent
commit
693f35f906
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 7
      app/src/main/AndroidManifest.xml
  3. 33
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/gateway/ChangePasswordV2Gateway.java
  4. 52
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/model/ChangePasswordActivityV2APIResponse.java
  5. 19
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/model/ChangeSuccessModel.java
  6. 17
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java
  7. 137
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java
  8. 25
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java
  9. 135
      app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java
  10. 11
      app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/SettingsView.java
  11. 3
      app/src/main/java/com/gmeremit/online/gmeremittance_native/user_profile/view/ProfileActivity.java
  12. 1
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
  13. 5
      app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
  14. 106
      app/src/main/res/layout/activity_change_password_v2.xml

BIN
.idea/caches/build_file_checksums.ser

7
app/src/main/AndroidManifest.xml

@ -564,10 +564,15 @@
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden" /> android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:name=".walletstatement.view.WalletStatementV2Activity"
<activity
android:name=".walletstatement.view.WalletStatementV2Activity"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar" android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden" /> android:windowSoftInputMode="stateAlwaysHidden" />
<activity android:name=".changepasswordV2.view.ChangePasswordV2Activity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar"
android:windowSoftInputMode="stateAlwaysHidden"></activity>
</application> </application>
</manifest> </manifest>

33
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/gateway/ChangePasswordV2Gateway.java

@ -0,0 +1,33 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.gateway;
import com.gmeremit.online.gmeremittance_native.base.BaseGateway;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2InteractorInterface;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2PresenterInterface;
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2;
import com.gmeremit.online.gmeremittance_native.walletstatement.model.WalletStatementV2APIResponse;
import com.google.gson.JsonObject;
import io.reactivex.Observable;
public class ChangePasswordV2Gateway extends PrivilegedGateway implements ChangePasswordV2InteractorInterface.ChangePasswordV2GatewayInterface {
private final ChangePasswordV2InteractorInterface interactor;
public ChangePasswordV2Gateway(ChangePasswordV2InteractorInterface interactorInterface) {
this.interactor=interactorInterface;
}
@Override
public Observable<ChangePasswordActivityV2APIResponse> performChangePassRequest(String auth, String userId, String oldPass, String newPass) {
JsonObject jsonObject=new JsonObject();
jsonObject.addProperty("UserId",userId);
jsonObject.addProperty("OldPassword",oldPass);
jsonObject.addProperty("NewPassword",newPass);
return HttpClientV2.getInstance().performChangePasswordV2(auth,jsonObject);
}
}

52
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/model/ChangePasswordActivityV2APIResponse.java

@ -0,0 +1,52 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ChangePasswordActivityV2APIResponse {
@SerializedName("ErrorCode")
@Expose
private String errorCode;
@SerializedName("Msg")
@Expose
private String msg;
@SerializedName("Id")
@Expose
private String id;
@SerializedName("Data")
@Expose
private ChangeSuccessModel data;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ChangeSuccessModel getData() {
return data;
}
public void setData(ChangeSuccessModel data) {
this.data = data;
}
}

19
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/model/ChangeSuccessModel.java

@ -0,0 +1,19 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.model;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class ChangeSuccessModel {
@Expose
@SerializedName("Message")
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

17
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2InteractorInterface.java

@ -0,0 +1,17 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface;
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.walletstatement.model.WalletStatementV2APIResponse;
import io.reactivex.Observable;
public interface ChangePasswordV2InteractorInterface extends BaseInteractorInterface {
interface ChangePasswordV2GatewayInterface extends PrivilegedGatewayInterface
{
Observable<ChangePasswordActivityV2APIResponse> performChangePassRequest(String auth, String userId, String oldPass, String newPass);
}
}

137
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2Presenter.java

@ -0,0 +1,137 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BasePresenter;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.gateway.ChangePasswordV2Gateway;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog;
import com.gmeremit.online.gmeremittance_native.utils.Constants;
import com.gmeremit.online.gmeremittance_native.utils.Utils;
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponse;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers;
public class ChangePasswordV2Presenter extends BasePresenter implements ChangePasswordV2InteractorInterface,ChangePasswordV2PresenterInterface {
private final ChangePasswordV2PresenterInterface.ChangePasswordV2ContractInterface view;
private final ChangePasswordV2Gateway gateway;
public ChangePasswordV2Presenter(ChangePasswordV2PresenterInterface.ChangePasswordV2ContractInterface view) {
this.view=view;
this.gateway=new ChangePasswordV2Gateway(this);
}
@Override
public boolean validateData(String currentPass, String newPwd, String pwdConfrimString) {
boolean currentPwdValidation=true;
boolean confirmPwdValidation=true;
boolean newPwdValidation=true;
// if (!Utils.hasSpecialCharacters(currentPass)) {
// this.view.setCurrentPasswordError("Password must include at least one special character");
// currentPwdValidation= false;
// }
// if (!Utils.hasNumbers(currentPass)) {
// this.view.setCurrentPasswordError("Password must include at least one number");
// currentPwdValidation= false;
// }
// if (currentPass.length()>1&&currentPass.length()<9) {
// this.view.setCurrentPasswordError("Password should be greater than 8 character");
// currentPwdValidation= false;
// }
if(currentPass.trim().length()<1)
{
this.view.setCurrentPasswordError("Password cannot be empty");
currentPwdValidation= false;
}
if (!Utils.hasSpecialCharacters(newPwd)) {
this.view.setNewPasswordError("Password must include at least one special character");
newPwdValidation= false;
}
if (!Utils.hasNumbers(newPwd)) {
this.view.setNewPasswordError("Password must include at least one number");
newPwdValidation= false;
}
if (newPwd.length()>1&&newPwd.length()<9) {
this.view.setNewPasswordError("Password should be greater than 8 character");
newPwdValidation= false;
}
if(newPwd.trim().length()<1)
{
this.view.setNewPasswordError("Password cannot be empty");
newPwdValidation= false;
}
if (!newPwd.equalsIgnoreCase(pwdConfrimString)) {
this.view.setConfirmPasswordError("Confirm Password does not match with new password");
confirmPwdValidation= false;
}
if(pwdConfrimString==null||pwdConfrimString.trim().length()<1)
{
this.view.setConfirmPasswordError("Confirm password cannot be empty");
confirmPwdValidation= false;
}
if(currentPwdValidation) {
view.setCurrentPasswordError(null);
}
if(confirmPwdValidation)
{
view.setConfirmPasswordError(null);
}
if(newPwdValidation)
{
view.setNewPasswordError(null);
}
return currentPwdValidation&&confirmPwdValidation&&newPwdValidation;
}
@Override
public void changePassword(String currentPass, String newPass) {
this.gateway.performChangePassRequest(this.gateway.getAuth(),this.gateway.getUserID(),currentPass,newPass)
.doOnSubscribe(d->view.showProgressBar(true,"Changing password..."))
.doFinally(()->view.showProgressBar(false,""))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new ChangePasswordObserver());
}
public class ChangePasswordObserver extends GenericApiObserverResponse<ChangePasswordActivityV2APIResponse>
{
@Override
protected void onSuccess(ChangePasswordActivityV2APIResponse changePasswordActivityV2APIResponse) {
if(changePasswordActivityV2APIResponse.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2))
{
view.showPopUpMessage(changePasswordActivityV2APIResponse.getMsg(), CustomAlertDialog.AlertType.SUCCESS,alertType -> view.exitView());
}
else
view.showPopUpMessage(changePasswordActivityV2APIResponse.getMsg(), CustomAlertDialog.AlertType.FAILED,null);
}
@Override
public void onFailed(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED,null);
}
@Override
protected void onConnectionNotEstablished(String message) {
view.showPopUpMessage(message, CustomAlertDialog.AlertType.NO_INTERNET,null);
}
}
}

25
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/presenter/ChangePasswordV2PresenterInterface.java

@ -0,0 +1,25 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter;
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface;
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface;
import com.gmeremit.online.gmeremittance_native.walletstatement.model.WalletStatementV2ItemModel;
import java.util.List;
public interface ChangePasswordV2PresenterInterface extends BasePresenterInterface {
boolean validateData(String currentPass, String newPass, String repeatPassword);
void changePassword(String currentPass,String newPass);
interface ChangePasswordV2ContractInterface extends BaseContractInterface
{
void setNewPasswordError(String errorString);
void setConfirmPasswordError(String passwords_does_not_match);
void setCurrentPasswordError(String s);
}
}

135
app/src/main/java/com/gmeremit/online/gmeremittance_native/changepasswordV2/view/ChangePasswordV2Activity.java

@ -0,0 +1,135 @@
package com.gmeremit.online.gmeremittance_native.changepasswordV2.view;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.base.BaseActivity;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2Presenter;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.presenter.ChangePasswordV2PresenterInterface;
import butterknife.BindView;
import butterknife.ButterKnife;
public class ChangePasswordV2Activity extends BaseActivity implements ChangePasswordV2PresenterInterface.ChangePasswordV2ContractInterface, View.OnClickListener {
@BindView(R.id.toolbar_title)
TextView toolbarTitle;
@BindView(R.id.iv_cancel)
View iv_cancel;
@BindView(R.id.iv_back)
View iv_back;
@BindView(R.id.btn_submit)
Button btn_submit;
@BindView(R.id.current_password)
EditText currentPasswordEditText;
@BindView(R.id.newpassword)
EditText newpassword;
@BindView(R.id.confirm_password)
EditText confirm_password;
@BindView(R.id.newpasswordWrapper)
TextInputLayout newpasswordWrapper;
@BindView(R.id.currentpassWrapper)
TextInputLayout currentpassWrapper;
@BindView(R.id.confirmpassWrapper)
TextInputLayout confirmpassWrapper;
private ChangePasswordV2Presenter presenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_password_v2);
ButterKnife.bind(this);
initialize();
performDefaultAction(savedInstanceState);
}
private void initialize() {
this.presenter=new ChangePasswordV2Presenter(this);
}
private void performDefaultAction(Bundle savedInstanceState) {
if(savedInstanceState==null)
{
toolbarTitle.setText("Profile");
iv_cancel.setVisibility(View.INVISIBLE);
}
}
@Override
protected void onStart() {
super.onStart();
iv_back.setOnClickListener(this);
btn_submit.setOnClickListener(this);
}
@Override
protected void onStop() {
super.onStop();
iv_back.setOnClickListener(null);
btn_submit.setOnClickListener(null);
}
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.iv_back:
onBackPressed();
break;
case R.id.btn_submit:
if(this.presenter.validateData(currentPasswordEditText.getText().toString(),newpassword.getText().toString(),confirm_password.getText().toString()))
{
hideKeyBoard();
this.presenter.changePassword(currentPasswordEditText.getText().toString(),newpassword.getText().toString());
}
break;
}
}
@Override
public void setNewPasswordError(String error) {
if(error==null)
newpasswordWrapper.setErrorEnabled(false);
else
newpasswordWrapper.setErrorEnabled(true);
newpasswordWrapper.setError(error);
}
@Override
public void setConfirmPasswordError(String error) {
if(error==null)
confirmpassWrapper.setErrorEnabled(false);
else
confirmpassWrapper.setErrorEnabled(true);
confirmpassWrapper.setError(error);
}
@Override
public void setCurrentPasswordError(String error) {
if(error==null)
currentpassWrapper.setErrorEnabled(false);
else
currentpassWrapper.setErrorEnabled(true);
currentpassWrapper.setError(error);
}
}

11
app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/SettingsView.java

@ -8,6 +8,7 @@ import android.util.Log;
import android.view.View; import android.view.View;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.view.ChangePasswordV2Activity;
import com.gmeremit.online.gmeremittance_native.home.events.DrawerEvent; import com.gmeremit.online.gmeremittance_native.home.events.DrawerEvent;
import com.gmeremit.online.gmeremittance_native.settings.events.PasswordEvent; import com.gmeremit.online.gmeremittance_native.settings.events.PasswordEvent;
import com.gmeremit.online.gmeremittance_native.user_profile.view.ChangePasswordActivity; import com.gmeremit.online.gmeremittance_native.user_profile.view.ChangePasswordActivity;
@ -42,8 +43,8 @@ public class SettingsView extends AppCompatActivity {
public void onClick(View view) { public void onClick(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.view_change_password: case R.id.view_change_password:
startActivity(new Intent(this, ChangePasswordActivity.class));
EventBus.getDefault().post(new DrawerEvent());
startActivity(new Intent(this, ChangePasswordV2Activity.class));
// EventBus.getDefault().post(new DrawerEvent());
break; break;
case R.id.iv_back: case R.id.iv_back:
finish(); finish();
@ -51,9 +52,5 @@ public class SettingsView extends AppCompatActivity {
} }
} }
@Subscribe(threadMode = ThreadMode.MAIN)
public void onPasswordEvent(PasswordEvent event) {
Log.e("Password Event", "HERE");
finish();
}
} }

3
app/src/main/java/com/gmeremit/online/gmeremittance_native/user_profile/view/ProfileActivity.java

@ -29,6 +29,7 @@ import android.widget.Toast;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.R;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.view.ChangePasswordV2Activity;
import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView;
import com.gmeremit.online.gmeremittance_native.user_profile.UserProfileContract; import com.gmeremit.online.gmeremittance_native.user_profile.UserProfileContract;
import com.gmeremit.online.gmeremittance_native.user_profile.model.UserProfileModel; import com.gmeremit.online.gmeremittance_native.user_profile.model.UserProfileModel;
@ -129,7 +130,7 @@ public class ProfileActivity extends AppCompatActivity implements UserProfileCon
startActivity(new Intent(ProfileActivity.this, EditProfileDetailActivity.class)); startActivity(new Intent(ProfileActivity.this, EditProfileDetailActivity.class));
break; break;
case R.id.iv_change_password: case R.id.iv_change_password:
startActivity(new Intent(ProfileActivity.this, ChangePasswordActivity.class));
startActivity(new Intent(ProfileActivity.this, ChangePasswordV2Activity.class));
break; break;
case R.id.tv_withdraw: case R.id.tv_withdraw:
startActivity(new Intent(ProfileActivity.this, WithDrawActivity.class)); startActivity(new Intent(ProfileActivity.this, WithDrawActivity.class));

1
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java

@ -143,5 +143,6 @@ public class API_URL {
public static final String CANCEL_TRANSACTION_V2 = "mobile/sendmoney/canceltransaction"; public static final String CANCEL_TRANSACTION_V2 = "mobile/sendmoney/canceltransaction";
public static final String AMMENDMENT_TRANSACTION_V2 = "mobile/sendmoney/amendtransaction"; public static final String AMMENDMENT_TRANSACTION_V2 = "mobile/sendmoney/amendtransaction";
public static final String GET_WALLET_STATEMENTS_V2 = "mobile/walletstatement/{userId}"; public static final String GET_WALLET_STATEMENTS_V2 = "mobile/walletstatement/{userId}";
public static final String CHANGE_PASSWORD_V2 = "mobile/ChangePassword";
} }

5
app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java

@ -1,5 +1,6 @@
package com.gmeremit.online.gmeremittance_native.utils.https; package com.gmeremit.online.gmeremittance_native.utils.https;
import com.gmeremit.online.gmeremittance_native.changepasswordV2.model.ChangePasswordActivityV2APIResponse;
import com.gmeremit.online.gmeremittance_native.customer_support.model.AmendmentRequest; import com.gmeremit.online.gmeremittance_native.customer_support.model.AmendmentRequest;
import com.gmeremit.online.gmeremittance_native.customer_support.model.Suggestion; import com.gmeremit.online.gmeremittance_native.customer_support.model.Suggestion;
import com.gmeremit.online.gmeremittance_native.exchange_rate.model.data.Currency; import com.gmeremit.online.gmeremittance_native.exchange_rate.model.data.Currency;
@ -642,4 +643,8 @@ public interface ApiEndpoints {
@POST(API_URL.AMMENDMENT_TRANSACTION_V2) @POST(API_URL.AMMENDMENT_TRANSACTION_V2)
@Headers("Content-Type: application/json") @Headers("Content-Type: application/json")
Observable<SupportActivityV2APIResponse> performAmmendmentV2(@Header("Authorization") String token, @Body() JsonObject jsonObject); Observable<SupportActivityV2APIResponse> performAmmendmentV2(@Header("Authorization") String token, @Body() JsonObject jsonObject);
@POST(API_URL.CHANGE_PASSWORD_V2)
@Headers("Content-Type: application/json")
Observable<ChangePasswordActivityV2APIResponse> performChangePasswordV2(@Header("Authorization") String token, @Body() JsonObject jsonObject);
} }

106
app/src/main/res/layout/activity_change_password_v2.xml

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/background_gray"
tools:context="com.gmeremit.online.gmeremittance_native.user_profile.view.EditProfileDetailActivity">
<include layout="@layout/layout_sendmoney_toolbar"/>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Change Password"
android:textSize="18sp"
android:textColor="@color/darkgray"
android:padding="10dp"
android:layout_gravity="center"/>
<LinearLayout
android:layout_margin="15dp"
android:padding="15dp"
android:background="@drawable/ic_rounded_white"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TextInputLayout
android:layout_marginTop="20dp"
android:background="#fff"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:id="@+id/currentpassWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Current Password"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/current_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/editetxtsinglelineDone"
android:imeOptions="actionDone"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="20dp"
android:background="#fff"
android:id="@+id/newpasswordWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="New Password"
app:hintEnabled="true"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/newpassword"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:imeOptions="actionDone"
style="@style/editetxtsingleline"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_marginTop="20dp"
android:background="#fff"
android:paddingBottom="1dp"
android:id="@+id/confirmpassWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Confirm New Password"
android:textColorHint="@color/darkgray">
<EditText
android:id="@+id/confirm_password"
android:imeOptions="actionDone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/editetxtsinglelineDone"
android:inputType="textPassword"/>
</android.support.design.widget.TextInputLayout>
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton
android:id="@+id/btn_submit"
android:layout_width="200dp"
android:layout_height="@dimen/button_height"
android:text="Change"
android:background="@drawable/ic_rounded_background_coloured"
android:textColor="@color/white"
android:textSize="18sp"
android:textAllCaps="false"
android:layout_gravity="center"
android:layout_marginBottom="30dp"
android:layout_marginTop="20dp"/>
</LinearLayout>
</LinearLayout>
Loading…
Cancel
Save