Preyea Regmi
5 years ago
61 changed files with 1454 additions and 215 deletions
-
BIN.idea/caches/build_file_checksums.ser
-
10app/src/main/AndroidManifest.xml
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/adapter/autodebitaccountmanage/AccountListingRvAdapter.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/adapter/autodebitaccountmanage/InboundAccountListingRvAdapter.java
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/gateway/autodebitaccountmanage/AutoDebitAccountListingV2Gateway.java
-
35app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/gateway/inboundaccountmanage/InboundAccountAddV2Gateway.java
-
42app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/model/autodebitaccountmanage/InboundAccount.java
-
24app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/model/autodebitaccountmanage/KoreanBankDTO.java
-
88app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/model/inboundaccountmanage/InboundAccountAddRequestBody.java
-
1app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/presenter/autodebitaccountmanage/AutoDebitAccountListingV2InteractorInterface.java
-
27app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/presenter/autodebitaccountmanage/AutoDebitAccountListingV2Presenter.java
-
21app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2InteractorInterface.java
-
262app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2Presenter.java
-
50app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/presenter/inboundaccountmanage/InboundAccountAddV2PresenterInterface.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/AutoDebitAccountManageV2Activity.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AccountAddRVViewHolder.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AccountListingRVViewHolder.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingDialog.java
-
5app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/CountryListRvViewHolder.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/CountryListingRvAdapter.java
-
51app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/inbound/InboundAccountAddBottomSheetDialogFragment.java
-
14app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/inboundlisting/InboundAccountListingFragment.java
-
8app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAccountAddActionListener.java
-
143app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAccountAddActivity.java
-
189app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java
-
141app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/customer_support/view/CustomerSupportFragment.java
-
3app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/LineDividerItemDecoration.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/banklistingdialog/BankIconMapper.java
-
6app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/common/GenericTextListingDialog.java
-
16app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java
-
3app/src/main/java/com/gmeremit/online/gmeremittance_native/kycV2/view/pennytest/PennyTestOperationFragment.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV2/view/recipientlisting/RecipientListingV2Activity.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/TransactionListingV2Activity.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/amountdetail/ResendMoneyAmountDetailFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/resendV2/view/verification/ResendVerificationDetailFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/reward_points/view/RewardPointsShippingActivity.java
-
4app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/amountdetail/AmountDetailSendMoneyFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/payoutmode/PayoutModeSendMoneyFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/sendmoneyV2/view/verification/VerificationSendMoneyFragment.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/socials/view/SocialActivity.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java
-
2app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/API_URL.java
-
11app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/https/ApiEndpoints.java
-
8app/src/main/res/drawable/avd_fail_transition.xml
-
BINapp/src/main/res/drawable/ic_bank.png
-
BINapp/src/main/res/drawable/ic_bank_link.png
-
BINapp/src/main/res/drawable/ic_bank_link_image.png
-
26app/src/main/res/layout/activity_inbound_account_add_activitity.xml
-
4app/src/main/res/layout/auto_debit_account_list_cornerless_item.xml
-
4app/src/main/res/layout/auto_debit_account_list_item.xml
-
2app/src/main/res/layout/fragment_amount_detail_resend_money_v2.xml
-
2app/src/main/res/layout/fragment_amount_detail_send_money_v2.xml
-
221app/src/main/res/layout/fragment_inbound_account_add.xml
-
12app/src/main/res/layout/fragment_inbound_account_list.xml
-
161app/src/main/res/layout/fragment_inbound_account_penny_test.xml
-
2app/src/main/res/layout/fragment_payout_mode_send_money_v2.xml
-
10app/src/main/res/layout/fragment_penny_test_operation.xml
-
4app/src/main/res/layout/inbound_account_list_item.xml
@ -0,0 +1,35 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.gateway.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2InteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; |
|||
import com.google.gson.JsonObject; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public class InboundAccountAddV2Gateway extends PrivilegedGateway implements InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface { |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> getKoreanBankList(String auth, String Uid) { |
|||
return HttpClientV2.getInstance().getKoreanBankList(auth); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody) { |
|||
return HttpClientV2.getInstance().startInboundPennyTestStart(auth,userId,requestBody); |
|||
} |
|||
|
|||
@Override |
|||
public Observable<ResponseBody> submitPennyTest(String auth, String userId, String bankCode, String accountNo, String cerNumber) { |
|||
JsonObject jsonObject=new JsonObject() ; |
|||
jsonObject.addProperty("CustomerId",userId); |
|||
jsonObject.addProperty("BankCode",bankCode); |
|||
jsonObject.addProperty("AccountNo",accountNo); |
|||
jsonObject.addProperty("CertNumber",cerNumber); |
|||
return HttpClientV2.getInstance().performInboundPennyTestSubmit(auth,jsonObject); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,88 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.model.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.AutoDebitAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.InboundAccount; |
|||
import com.google.gson.annotations.Expose; |
|||
import com.google.gson.annotations.SerializedName; |
|||
|
|||
public class InboundAccountAddRequestBody { |
|||
|
|||
@SerializedName("accountType") |
|||
@Expose |
|||
private String accountType; |
|||
|
|||
@SerializedName("bankCode") |
|||
@Expose |
|||
private String bankCode; |
|||
|
|||
private String bankName; |
|||
|
|||
@SerializedName("accountNo") |
|||
@Expose |
|||
private String accountNo; |
|||
|
|||
@SerializedName("accountID") |
|||
@Expose |
|||
private String accountId; |
|||
|
|||
public InboundAccountAddRequestBody(String accountType, String bankCode, String accountNo, String accountId,String bankName) { |
|||
this.accountType = accountType; |
|||
this.bankCode = bankCode; |
|||
this.accountNo = accountNo; |
|||
this.accountId = accountId; |
|||
this.bankName=bankName; |
|||
} |
|||
|
|||
public InboundAccountAddRequestBody() { |
|||
} |
|||
|
|||
public String getAccountType() { |
|||
return accountType; |
|||
} |
|||
|
|||
public void setAccountType(String accountType) { |
|||
this.accountType = accountType; |
|||
} |
|||
|
|||
public String getBankCode() { |
|||
return bankCode; |
|||
} |
|||
|
|||
public void setBankCode(String bankCode) { |
|||
this.bankCode = bankCode; |
|||
} |
|||
|
|||
public String getAccountNo() { |
|||
return accountNo; |
|||
} |
|||
|
|||
public void setAccountNo(String accountNo) { |
|||
this.accountNo = accountNo; |
|||
} |
|||
|
|||
public String getAccountId() { |
|||
return accountId; |
|||
} |
|||
|
|||
public void setAccountId(String accountId) { |
|||
this.accountId = accountId; |
|||
} |
|||
|
|||
public String getBankName() { |
|||
return bankName; |
|||
} |
|||
|
|||
public void setBankName(String bankName) { |
|||
this.bankName = bankName; |
|||
} |
|||
|
|||
public static InboundAccountAddRequestBody createRequestBodyFromAutoDebitAccount(AutoDebitAccount autoDebitAccount) |
|||
{ |
|||
return new InboundAccountAddRequestBody("autodebit",autoDebitAccount.getBankCode(),autoDebitAccount.getAccountNumMasked(),autoDebitAccount.getKftcAccountId(),autoDebitAccount.getBankName()); |
|||
} |
|||
public static InboundAccountAddRequestBody createRequestBodyFromInboundAccount(InboundAccount inboundAccount) |
|||
{ |
|||
return new InboundAccountAddRequestBody("",inboundAccount.getBankCode(),inboundAccount.getAccountNo(),"",inboundAccount.getBank()); |
|||
|
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseInteractorInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; |
|||
|
|||
import io.reactivex.Observable; |
|||
import okhttp3.ResponseBody; |
|||
|
|||
public interface InboundAccountAddV2InteractorInterface extends BaseInteractorInterface { |
|||
|
|||
|
|||
interface InboundAccountAddV2GatewayInterface extends PrivilegedGatewayInterface |
|||
{ |
|||
Observable<ResponseBody> getKoreanBankList(String auth, String Uid); |
|||
|
|||
Observable<ResponseBody> startPennyTest(String auth, String userId, InboundAccountAddRequestBody requestBody); |
|||
|
|||
Observable<ResponseBody> submitPennyTest(String auth,String userId,String bankCode, String accountNo, String cerNumber); |
|||
} |
|||
} |
@ -0,0 +1,262 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.AutoDebitAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.InboundAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.KoreanBankDTO; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.inboundaccountmanage.InboundAccountAddRequestBody; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenter; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; |
|||
import com.gmeremit.online.gmeremittance_native.utils.Constants; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; |
|||
import com.gmeremit.online.gmeremittance_native.utils.https.MessageResponseDataModel; |
|||
import com.google.gson.reflect.TypeToken; |
|||
|
|||
import java.lang.reflect.Type; |
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
import io.reactivex.Observable; |
|||
import io.reactivex.android.schedulers.AndroidSchedulers; |
|||
import io.reactivex.disposables.CompositeDisposable; |
|||
import io.reactivex.schedulers.Schedulers; |
|||
import io.reactivex.subjects.BehaviorSubject; |
|||
|
|||
public class InboundAccountAddV2Presenter extends BasePresenter implements InboundAccountAddV2PresenterInterface { |
|||
|
|||
|
|||
private final InboundAccountAddV2ContractInterface view; |
|||
private final InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway; |
|||
private final CompositeDisposable compositeDisposable; |
|||
private InboundAccountAddRequestBody pennyTestRequestBody; |
|||
private List<KoreanBankDTO> availableKoreanBankList; |
|||
private BehaviorSubject<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> addAcountDataSubject; |
|||
private BehaviorSubject<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> pennyTestDataSubject; |
|||
|
|||
public InboundAccountAddV2Presenter(InboundAccountAddV2ContractInterface view, InboundAccountAddV2InteractorInterface.InboundAccountAddV2GatewayInterface gateway) { |
|||
this.view = view; |
|||
this.gateway = gateway; |
|||
this.compositeDisposable = new CompositeDisposable(); |
|||
this.pennyTestRequestBody=new InboundAccountAddRequestBody(); |
|||
this.availableKoreanBankList=new ArrayList<>(); |
|||
addAcountDataSubject=BehaviorSubject.create(); |
|||
pennyTestDataSubject=BehaviorSubject.create(); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount) { |
|||
this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromAutoDebitAccount(autoDebitAccount); |
|||
|
|||
InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO=new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(autoDebitAccount.getBankName(),autoDebitAccount.getBankCode(),autoDebitAccount.getAccountNumMasked(),false); |
|||
|
|||
addAcountDataSubject.onNext(addAccountViewDTO); |
|||
} |
|||
|
|||
@Override |
|||
public void updateInboundAccount(InboundAccount inboundAccount) { |
|||
this.pennyTestRequestBody = InboundAccountAddRequestBody.createRequestBodyFromInboundAccount(inboundAccount); |
|||
InboundAddAccountConfirmFragment.InboundAddAccountViewDTO addAccountViewDTO=new InboundAddAccountConfirmFragment.InboundAddAccountViewDTO(inboundAccount.getBank(),inboundAccount.getBankCode(),inboundAccount.getAccountNo(),false); |
|||
|
|||
addAcountDataSubject.onNext(addAccountViewDTO); |
|||
} |
|||
|
|||
@Override |
|||
public void getRelatedData() { |
|||
compositeDisposable.add( |
|||
this.gateway.getKoreanBankList(this.gateway.getAuth(), this.gateway.getUserIDNumber()) |
|||
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.doFinally(() -> view.showProgressBar(false, "")) |
|||
.subscribeWith(new KoreanBankListObserver()) |
|||
); |
|||
} |
|||
|
|||
@Override |
|||
public void requestForPennyTest() { |
|||
compositeDisposable.add( |
|||
this.gateway.startPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody) |
|||
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.doFinally(() -> view.showProgressBar(false, "")) |
|||
.subscribeWith(new PennyTestRequestObserver()) |
|||
); |
|||
|
|||
} |
|||
|
|||
|
|||
|
|||
@Override |
|||
public void submitPennyTest(String depositReference) { |
|||
compositeDisposable.add( |
|||
this.gateway.submitPennyTest(this.gateway.getAuth(), this.gateway.getUserIDNumber(), this.pennyTestRequestBody.getBankCode(), this.pennyTestRequestBody.getAccountNo(), depositReference) |
|||
.doOnSubscribe(subs -> view.showProgressBar(true, getStringfromStringId(R.string.processing_request_text))) |
|||
.subscribeOn(Schedulers.io()) |
|||
.observeOn(AndroidSchedulers.mainThread()) |
|||
.doFinally(() -> view.showProgressBar(false, "")) |
|||
.subscribeWith(new PennyTestResultObserver()) |
|||
); |
|||
} |
|||
|
|||
@Override |
|||
public List<KoreanBankDTO> getKoreanBankList() { |
|||
return availableKoreanBankList; |
|||
} |
|||
|
|||
@Override |
|||
public void updateBank(KoreanBankDTO selectedBank) { |
|||
this.pennyTestRequestBody.setBankName(selectedBank.getBankName()); |
|||
this.pennyTestRequestBody.setBankCode(selectedBank.getBankCode()); |
|||
} |
|||
|
|||
@Override |
|||
public void onBankAccNoChanged(String bankAccNo) { |
|||
if(bankAccNo!=null&&bankAccNo.length()>=9) |
|||
{ |
|||
pennyTestRequestBody.setAccountNo(bankAccNo); |
|||
view.showInvalidAccNoError(null); |
|||
view.enableForm1Button(true); |
|||
} |
|||
else |
|||
{ |
|||
pennyTestRequestBody.setAccountNo(""); |
|||
view.showInvalidAccNoError("Invalid bank accNo"); |
|||
view.enableForm1Button(false); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public Observable<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> subscribeToInboundAddAccountDataEvent() { |
|||
return addAcountDataSubject; |
|||
} |
|||
|
|||
@Override |
|||
public Observable<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> subscribeToPennyTestDataEvent() { |
|||
return pennyTestDataSubject; |
|||
} |
|||
|
|||
@Override |
|||
public void onDepositReferenceChanged(String depositReference) { |
|||
if(depositReference!=null&&depositReference.length()==4) |
|||
{ |
|||
view.showInvalidDepositError(null); |
|||
view.enableForm2Button(true); |
|||
} |
|||
else |
|||
{ |
|||
view.showInvalidDepositError("4 digit pin is required"); |
|||
view.enableForm2Button(false); |
|||
} |
|||
} |
|||
|
|||
public class PennyTestRequestObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> { |
|||
|
|||
@Override |
|||
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
|||
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
|||
InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO pennyTestViewDTO = new InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO(pennyTestRequestBody.getBankName(), pennyTestRequestBody.getBankCode(), pennyTestRequestBody.getAccountNo(), t.getMsg()); |
|||
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> { |
|||
pennyTestDataSubject.onNext(pennyTestViewDTO); |
|||
view.showPennyTestScreen(); |
|||
}); |
|||
} else { |
|||
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void onFailed(String message) { |
|||
mockErrorAsSuccess(); |
|||
// view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
|||
} |
|||
|
|||
@Override |
|||
protected void onConnectionNotEstablished(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
|||
} |
|||
|
|||
@Override |
|||
protected void unauthorizedAccess(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
|||
|
|||
} |
|||
|
|||
private void mockErrorAsSuccess() |
|||
{ |
|||
InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO pennyTestViewDTO = new InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO(pennyTestRequestBody.getBankName(), pennyTestRequestBody.getBankCode(), pennyTestRequestBody.getAccountNo(),"We have successfully deposited 1KRW to your bank account please check."); |
|||
view.showPopUpMessage("We have successfully deposited 1KRW to your bank account please check.", CustomAlertDialog.AlertType.SUCCESS, alertType -> { |
|||
pennyTestDataSubject.onNext(pennyTestViewDTO); |
|||
view.showPennyTestScreen(); |
|||
}); |
|||
} |
|||
} |
|||
|
|||
public class PennyTestResultObserver extends GenericApiObserverResponseV2<MessageResponseDataModel> { |
|||
|
|||
@Override |
|||
protected void onSuccess(GenericResponseDataModel<MessageResponseDataModel> t) { |
|||
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
|||
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> { |
|||
view.exitView(); |
|||
}); |
|||
} else { |
|||
view.showPopUpMessage(t.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.FAILED, null); |
|||
} |
|||
|
|||
@Override |
|||
protected void unauthorizedAccess(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, null); |
|||
|
|||
} |
|||
} |
|||
|
|||
public class KoreanBankListObserver extends GenericApiObserverResponseV2<List<KoreanBankDTO>> { |
|||
|
|||
|
|||
@Override |
|||
protected Type getDataType() { |
|||
return TypeToken.getParameterized(List.class, KoreanBankDTO.class).getType(); |
|||
} |
|||
|
|||
@Override |
|||
protected void onSuccess(GenericResponseDataModel<List<KoreanBankDTO>> t) { |
|||
if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { |
|||
availableKoreanBankList = t.getData(); |
|||
} else { |
|||
view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
public void onFailed(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); |
|||
} |
|||
|
|||
@Override |
|||
protected void onConnectionNotEstablished(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); |
|||
} |
|||
|
|||
@Override |
|||
protected void unauthorizedAccess(String message) { |
|||
view.showPopUpMessage(message, CustomAlertDialog.AlertType.FAILED, alertType -> view.exitView()); |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,50 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.AutoDebitAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.InboundAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.KoreanBankDTO; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage.InboundAddAccountConfirmFragment; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage.InboundAddAccountPennyTestFragment; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface; |
|||
|
|||
import java.util.List; |
|||
|
|||
import io.reactivex.Observable; |
|||
|
|||
public interface InboundAccountAddV2PresenterInterface extends BasePresenterInterface { |
|||
|
|||
void updateAutoDebitAccountData(AutoDebitAccount autoDebitAccount); |
|||
void updateInboundAccount(InboundAccount inboundAccount); |
|||
|
|||
void getRelatedData(); |
|||
|
|||
void requestForPennyTest(); |
|||
|
|||
void submitPennyTest(String depositReference); |
|||
|
|||
List<KoreanBankDTO> getKoreanBankList(); |
|||
|
|||
void updateBank(KoreanBankDTO selectedBank); |
|||
|
|||
void onBankAccNoChanged(String bankAccNo); |
|||
|
|||
Observable<InboundAddAccountConfirmFragment.InboundAddAccountViewDTO> subscribeToInboundAddAccountDataEvent(); |
|||
Observable<InboundAddAccountPennyTestFragment.InboundPennyTestViewDTO> subscribeToPennyTestDataEvent(); |
|||
|
|||
void onDepositReferenceChanged(String depositReference); |
|||
|
|||
|
|||
interface InboundAccountAddV2ContractInterface extends BaseContractInterface |
|||
{ |
|||
void showInvalidAccNoError(String errorMessage); |
|||
|
|||
void enableForm1Button(boolean action); |
|||
|
|||
void showPennyTestScreen(); |
|||
|
|||
void showInvalidDepositError(String errorMessage); |
|||
|
|||
void enableForm2Button(boolean action); |
|||
} |
|||
} |
@ -1,4 +1,4 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.accountlisting; |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.autodebitlisting; |
|||
|
|||
import android.support.annotation.NonNull; |
|||
import android.support.v7.widget.RecyclerView; |
4
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AccountListingRVViewHolder.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AccountListingRVViewHolder.java
4
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AccountListingRVViewHolder.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AccountListingRVViewHolder.java
2
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AutoDebitAccountListingDialog.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingDialog.java
2
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AutoDebitAccountListingDialog.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingDialog.java
@ -1,4 +1,4 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.accountlisting; |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.autodebitlisting; |
|||
|
|||
import android.app.Dialog; |
|||
import android.content.Context; |
5
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AutoDebitAccountListingFragment.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingFragment.java
5
app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/accountlisting/AutoDebitAccountListingFragment.java → app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/autodebitaccountmanage/autodebitlisting/AutoDebitAccountListingFragment.java
@ -1,4 +1,4 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.accountlisting; |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.autodebitlisting; |
|||
|
|||
import android.support.v7.widget.RecyclerView; |
|||
import android.view.View; |
@ -1,4 +1,4 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.accountlisting; |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.autodebitlisting; |
|||
|
|||
import android.support.v7.widget.RecyclerView; |
|||
import android.view.LayoutInflater; |
@ -1,51 +0,0 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.autodebitaccountmanage.inbound; |
|||
|
|||
import android.os.Bundle; |
|||
import android.os.Handler; |
|||
import android.support.annotation.NonNull; |
|||
import android.support.annotation.Nullable; |
|||
import android.support.design.widget.BottomSheetDialogFragment; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.CustomProgressDialog; |
|||
|
|||
public class InboundAccountAddBottomSheetDialogFragment extends BottomSheetDialogFragment { |
|||
|
|||
private CustomProgressDialog progressBar; |
|||
|
|||
public static InboundAccountAddBottomSheetDialogFragment newInstance() { |
|||
return new InboundAccountAddBottomSheetDialogFragment(); |
|||
} |
|||
|
|||
@Nullable |
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, |
|||
@Nullable ViewGroup container, |
|||
@Nullable Bundle savedInstanceState) { |
|||
|
|||
return inflater.inflate(R.layout.dialog_fingerprint_auth_prompt, container, |
|||
false); |
|||
|
|||
// get the views and attach the listener |
|||
|
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
init(); |
|||
} |
|||
|
|||
private void init() |
|||
{ |
|||
progressBar= new CustomProgressDialog(); |
|||
progressBar.show(getChildFragmentManager(),"PB"); |
|||
new Handler().postDelayed(()->progressBar.dismiss(),4000); |
|||
} |
|||
} |
|||
|
|||
|
@ -0,0 +1,8 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface; |
|||
|
|||
public interface InboundAccountAddActionListener { |
|||
|
|||
InboundAccountAddV2PresenterInterface getPresenter(); |
|||
} |
@ -0,0 +1,143 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage; |
|||
|
|||
import android.content.Context; |
|||
import android.content.Intent; |
|||
import android.content.pm.ActivityInfo; |
|||
import android.os.Build; |
|||
import android.os.Parcelable; |
|||
import android.support.v4.app.Fragment; |
|||
import android.support.v4.view.ViewPager; |
|||
import android.os.Bundle; |
|||
import android.view.ViewGroup; |
|||
import android.view.Window; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.adapter.autodebitaccountmanage.AccountManageViewPagerAdapter; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.gateway.inboundaccountmanage.InboundAccountAddV2Gateway; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.AutoDebitAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.InboundAccount; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2Presenter; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.presenter.inboundaccountmanage.InboundAccountAddV2PresenterInterface; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseActivity; |
|||
|
|||
import java.util.ArrayList; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
|
|||
public class InboundAccountAddActivity extends BaseActivity implements InboundAccountAddV2PresenterInterface.InboundAccountAddV2ContractInterface,InboundAccountAddActionListener { |
|||
|
|||
private static final String ACCOUNT_DATA_BUNDLE_KEY = "ACCOUNT_DATA_BUNDLE_KEY"; |
|||
@BindView(R.id.fragmentContainer) |
|||
ViewPager fragmentContainer; |
|||
|
|||
|
|||
private AccountManageViewPagerAdapter accountManageViewPagerAdapter; |
|||
private ArrayList<Fragment> fragments; |
|||
private InboundAccountAddV2PresenterInterface presenter; |
|||
|
|||
|
|||
@Override |
|||
protected void onCreate(Bundle savedInstanceState) { |
|||
super.onCreate(savedInstanceState); |
|||
setContentView(R.layout.activity_inbound_account_add_activitity); |
|||
if (Build.VERSION.SDK_INT == 26) { |
|||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); |
|||
} else { |
|||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); |
|||
} |
|||
|
|||
Window window = getWindow(); |
|||
if (window != null) { |
|||
window.getAttributes().windowAnimations = R.style.SlideInAnimation; |
|||
window.setBackgroundDrawableResource(R.drawable.ic_rounded_grey_bg_with_inset); |
|||
window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); |
|||
// window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING); |
|||
} |
|||
|
|||
|
|||
ButterKnife.bind(this); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
|
|||
public static void launchActivity(Context context, AutoDebitAccount autoDebitAccount) { |
|||
Intent intent = new Intent(context, InboundAccountAddActivity.class); |
|||
intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, autoDebitAccount); |
|||
context.startActivity(intent); |
|||
} |
|||
|
|||
public static void launchActivity(Context context, InboundAccount inboundAccount) { |
|||
Intent intent = new Intent(context, InboundAccountAddActivity.class); |
|||
intent.putExtra(ACCOUNT_DATA_BUNDLE_KEY, inboundAccount); |
|||
context.startActivity(intent); |
|||
} |
|||
|
|||
private void init() { |
|||
presenter = new InboundAccountAddV2Presenter(this,new InboundAccountAddV2Gateway()); |
|||
setupViewPager(); |
|||
|
|||
|
|||
} |
|||
|
|||
private void performDefaultAction(Bundle savedInstance) { |
|||
Parcelable data = getIntent().getParcelableExtra(ACCOUNT_DATA_BUNDLE_KEY); |
|||
if (data != null) { |
|||
if (data instanceof AutoDebitAccount) |
|||
presenter.updateAutoDebitAccountData((AutoDebitAccount) data); |
|||
else |
|||
presenter.updateInboundAccount((InboundAccount) data); |
|||
} else |
|||
presenter.getRelatedData(); |
|||
} |
|||
|
|||
|
|||
private void setupViewPager() { |
|||
accountManageViewPagerAdapter = new AccountManageViewPagerAdapter(getSupportFragmentManager()); |
|||
|
|||
fragments = new ArrayList<>(); |
|||
fragments.add(new InboundAddAccountConfirmFragment()); |
|||
fragments.add(new InboundAddAccountPennyTestFragment()); |
|||
|
|||
|
|||
accountManageViewPagerAdapter.addFragments(fragments); |
|||
|
|||
fragmentContainer.setAdapter(accountManageViewPagerAdapter); |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
@Override |
|||
public void showInvalidAccNoError(String errorMessage) { |
|||
((InboundAddAccountConfirmFragment) fragments.get(0)).showInvalidAccNo(errorMessage); |
|||
} |
|||
|
|||
@Override |
|||
public void enableForm1Button(boolean action) { |
|||
((InboundAddAccountConfirmFragment) fragments.get(0)).enableButton(action); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void showPennyTestScreen() { |
|||
fragmentContainer.setCurrentItem(1,true); |
|||
} |
|||
|
|||
@Override |
|||
public void showInvalidDepositError(String errorMessage) { |
|||
((InboundAddAccountPennyTestFragment) fragments.get(1)).showInvalidDepositError(errorMessage); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void enableForm2Button(boolean action) { |
|||
((InboundAddAccountPennyTestFragment) fragments.get(1)).enableButton(action); |
|||
} |
|||
|
|||
@Override |
|||
public InboundAccountAddV2PresenterInterface getPresenter() { |
|||
return this.presenter; |
|||
} |
|||
} |
@ -0,0 +1,189 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage; |
|||
|
|||
import android.os.Bundle; |
|||
import android.support.annotation.Nullable; |
|||
import android.text.Editable; |
|||
import android.text.InputFilter; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
import android.widget.Button; |
|||
import android.widget.ImageView; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.accountmanage.model.autodebitaccountmanage.KoreanBankDTO; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.TextWatcherAdapter; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.banklistingdialog.BankIconMapper; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.common.GenericTextListingDialog; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
import butterknife.OnClick; |
|||
|
|||
import io.reactivex.observers.DisposableObserver; |
|||
|
|||
public class InboundAddAccountConfirmFragment extends BaseFragment { |
|||
|
|||
@BindView(R.id.bankAccountNumberFormInputField) |
|||
GMEFormInputField bankAccountNumberFormInputField; |
|||
|
|||
|
|||
@BindView(R.id.bankSelectionFormInputField) |
|||
GMEFormInputField bankSelectionFormInputField; |
|||
|
|||
@BindView(R.id.bank_ico_imageview) |
|||
ImageView bankIconImageView; |
|||
|
|||
@BindView(R.id.startPennyTestButton) |
|||
Button startPennyTestButton; |
|||
private BankSelectClickListener bankSelectionClickListener; |
|||
private GenericTextListingDialog<KoreanBankDTO> bankListingDialog; |
|||
private BankAccountNumberTextWatcher bankAccountNoTextWatcher; |
|||
|
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|||
return inflater.inflate(R.layout.fragment_inbound_account_add, container, false); |
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
ButterKnife.bind(this, view); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
private void init() { |
|||
bankSelectionClickListener = new BankSelectClickListener(); |
|||
bankAccountNoTextWatcher=new BankAccountNumberTextWatcher(); |
|||
bankSelectionFormInputField.setInputFilters (new InputFilter[]{}); |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToInboundAddAccountDataEvent().subscribe(new InboundAddAccoountDataObserver()); |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onStart() { |
|||
super.onStart(); |
|||
registerTextWatchers(true); |
|||
bankSelectionFormInputField.getEditTextView().setOnClickListener(bankSelectionClickListener); |
|||
} |
|||
|
|||
|
|||
@Override |
|||
public void onStop() { |
|||
super.onStop(); |
|||
registerTextWatchers(false); |
|||
bankSelectionFormInputField.getEditTextView().setOnClickListener(null); |
|||
} |
|||
|
|||
private void registerTextWatchers(boolean action) { |
|||
if (action) { |
|||
bankAccountNumberFormInputField.getEditTextView().addTextChangedListener(bankAccountNoTextWatcher); |
|||
} else { |
|||
bankAccountNumberFormInputField.getEditTextView().removeTextChangedListener(bankAccountNoTextWatcher); |
|||
} |
|||
} |
|||
|
|||
@OnClick(R.id.startPennyTestButton) |
|||
public void startPennyTest() { |
|||
if (startPennyTestButton.isEnabled()) { |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().requestForPennyTest(); |
|||
} |
|||
} |
|||
|
|||
|
|||
private void performDefaultAction(Bundle savedInstance) { |
|||
|
|||
} |
|||
|
|||
private void updateData(InboundAddAccountViewDTO inboundAddAccountViewDTO) { |
|||
|
|||
registerTextWatchers(false); |
|||
bankAccountNumberFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.accountNo); |
|||
bankSelectionFormInputField.getEditTextView().setText(inboundAddAccountViewDTO.bankName); |
|||
bankIconImageView.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundAddAccountViewDTO.bankCode)); |
|||
bankSelectionFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields); |
|||
bankAccountNumberFormInputField.setEnabled(inboundAddAccountViewDTO.enableFields); |
|||
|
|||
registerTextWatchers(true); |
|||
|
|||
startPennyTestButton.setEnabled(true); |
|||
|
|||
|
|||
} |
|||
|
|||
public void showInvalidAccNo(String errorMessage) { |
|||
bankAccountNumberFormInputField.setEnabled(errorMessage!=null); |
|||
bankAccountNumberFormInputField.setError(errorMessage); |
|||
} |
|||
|
|||
public void enableButton(boolean action) { |
|||
startPennyTestButton.setEnabled(action); |
|||
} |
|||
|
|||
public class BankSelectClickListener implements View.OnClickListener { |
|||
|
|||
@Override |
|||
public void onClick(View v) { |
|||
|
|||
if (bankListingDialog == null) |
|||
bankListingDialog = new GenericTextListingDialog<>(); |
|||
bankListingDialog.setData(((InboundAccountAddActionListener) getActivity()).getPresenter().getKoreanBankList()); |
|||
bankListingDialog.setListener(selectedBank -> |
|||
{ |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().updateBank(selectedBank); |
|||
bankSelectionFormInputField.getEditTextView().setText(selectedBank.toString()); |
|||
bankListingDialog.dismiss(); |
|||
}); |
|||
bankListingDialog.setHintAndTitle(getString(R.string.search_bank_text), getString(R.string.bank_placeholder_text), getString(R.string.no_bank_found_text)); |
|||
bankListingDialog.disableSearch(false); |
|||
if (!bankListingDialog.isAdded()) |
|||
bankListingDialog.show(getFragmentManager(), "BankSelectionDialog"); |
|||
} |
|||
} |
|||
|
|||
public class BankAccountNumberTextWatcher extends TextWatcherAdapter |
|||
{ |
|||
@Override |
|||
public void afterTextChanged(Editable s) { |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().onBankAccNoChanged(s.toString()); |
|||
} |
|||
} |
|||
|
|||
public static class InboundAddAccountViewDTO { |
|||
String bankName; |
|||
String bankCode; |
|||
String accountNo; |
|||
boolean enableFields; |
|||
|
|||
public InboundAddAccountViewDTO(String bankName, String bankCode, String accountNo, boolean enableFields) { |
|||
this.bankName = bankName; |
|||
this.bankCode = bankCode; |
|||
this.accountNo = accountNo; |
|||
this.enableFields = enableFields; |
|||
} |
|||
} |
|||
|
|||
|
|||
public class InboundAddAccoountDataObserver extends DisposableObserver<InboundAddAccountViewDTO> |
|||
{ |
|||
|
|||
|
|||
@Override |
|||
public void onNext(InboundAddAccountViewDTO inboundAddAccountViewDTO) { |
|||
updateData(inboundAddAccountViewDTO); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
@ -0,0 +1,141 @@ |
|||
package com.gmeremit.online.gmeremittance_native.accountmanage.view.inboundaccountmanage; |
|||
|
|||
import android.os.Bundle; |
|||
import android.support.annotation.Nullable; |
|||
import android.support.design.widget.TextInputLayout; |
|||
import android.text.Editable; |
|||
import android.view.LayoutInflater; |
|||
import android.view.View; |
|||
import android.view.ViewGroup; |
|||
import android.widget.Button; |
|||
import android.widget.EditText; |
|||
|
|||
import com.gmeremit.online.gmeremittance_native.R; |
|||
import com.gmeremit.online.gmeremittance_native.base.BaseFragment; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField; |
|||
import com.gmeremit.online.gmeremittance_native.customwidgets.TextWatcherAdapter; |
|||
|
|||
import butterknife.BindView; |
|||
import butterknife.ButterKnife; |
|||
import butterknife.OnClick; |
|||
import io.reactivex.observers.DisposableObserver; |
|||
|
|||
public class InboundAddAccountPennyTestFragment extends BaseFragment { |
|||
|
|||
|
|||
@BindView(R.id.depositReferenceInputWrapper) |
|||
TextInputLayout depositReferenceInputWrapper; |
|||
|
|||
@BindView(R.id.ed_creditNumber) |
|||
EditText ed_creditNumber; |
|||
|
|||
@BindView(R.id.pennyTestCompleteButton) |
|||
Button pennyTestCompleteButton; |
|||
|
|||
private DepositReferenceTextWatcher depositReferenceTextWatcher; |
|||
|
|||
|
|||
@Override |
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { |
|||
return inflater.inflate(R.layout.fragment_inbound_account_penny_test, container, false); |
|||
} |
|||
|
|||
@Override |
|||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
|||
super.onViewCreated(view, savedInstanceState); |
|||
ButterKnife.bind(this, view); |
|||
init(); |
|||
performDefaultAction(savedInstanceState); |
|||
} |
|||
|
|||
private void init() { |
|||
depositReferenceTextWatcher = new DepositReferenceTextWatcher(); |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().subscribeToPennyTestDataEvent().subscribe(new InboundPennyTestDataObserver()); |
|||
|
|||
} |
|||
|
|||
|
|||
private void performDefaultAction(Bundle savedInstance) { |
|||
|
|||
} |
|||
|
|||
public void updateData(InboundPennyTestViewDTO inboundPennyTestViewDTO) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onStart() { |
|||
super.onStart(); |
|||
ed_creditNumber.addTextChangedListener(depositReferenceTextWatcher); |
|||
} |
|||
|
|||
@Override |
|||
public void onStop() { |
|||
super.onStop(); |
|||
ed_creditNumber.removeTextChangedListener(depositReferenceTextWatcher); |
|||
} |
|||
|
|||
|
|||
public void showInvalidDepositError(String errorMessage) { |
|||
depositReferenceInputWrapper.setEnabled(errorMessage!=null); |
|||
depositReferenceInputWrapper.setError(errorMessage); |
|||
} |
|||
|
|||
public void enableButton(boolean action) { |
|||
pennyTestCompleteButton.setEnabled(action); |
|||
} |
|||
|
|||
@OnClick(R.id.pennyTestCompleteButton) |
|||
public void onPennyTestCompleteButtonPressed() |
|||
{ |
|||
if(pennyTestCompleteButton.isEnabled()) |
|||
{ |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().submitPennyTest(ed_creditNumber.getText().toString()); |
|||
|
|||
} |
|||
} |
|||
|
|||
|
|||
public class DepositReferenceTextWatcher extends TextWatcherAdapter |
|||
{ |
|||
@Override |
|||
public void afterTextChanged(Editable s) { |
|||
((InboundAccountAddActionListener) getActivity()).getPresenter().onDepositReferenceChanged(s.toString()); |
|||
} |
|||
} |
|||
|
|||
public static class InboundPennyTestViewDTO |
|||
{ |
|||
String bankName; |
|||
String bankCode; |
|||
String accountNo; |
|||
String pennyTestMessage; |
|||
|
|||
public InboundPennyTestViewDTO(String bankName, String bankCode, String accountNo,String pennyTestMessage) { |
|||
this.bankName = bankName; |
|||
this.bankCode = bankCode; |
|||
this.accountNo = accountNo; |
|||
this.pennyTestMessage=pennyTestMessage; |
|||
} |
|||
} |
|||
|
|||
public class InboundPennyTestDataObserver extends DisposableObserver<InboundPennyTestViewDTO> |
|||
{ |
|||
|
|||
|
|||
@Override |
|||
public void onNext(InboundPennyTestViewDTO inboundAddAccountViewDTO) { |
|||
updateData(inboundAddAccountViewDTO); |
|||
} |
|||
|
|||
@Override |
|||
public void onError(Throwable e) { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
public void onComplete() { |
|||
|
|||
} |
|||
} |
|||
} |
After Width: 153 | Height: 153 | Size: 16 KiB |
After Width: 153 | Height: 153 | Size: 20 KiB |
After Width: 153 | Height: 153 | Size: 20 KiB |
@ -0,0 +1,26 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<android.support.constraint.ConstraintLayout 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:background="#fff" |
|||
|
|||
tools:context=".accountmanage.view.inboundaccountmanage.InboundAccountAddActivity"> |
|||
|
|||
<android.support.v4.view.ViewPager |
|||
android:id="@+id/fragmentContainer" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="0dp" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintHorizontal_bias="0.5" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
android:layout_marginStart="8dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:layout_marginBottom="8dp" |
|||
android:layout_marginTop="8dp"/> |
|||
|
|||
|
|||
</android.support.constraint.ConstraintLayout> |
@ -1,61 +1,170 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|||
<ScrollView 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:orientation="vertical" |
|||
android:layout_height="match_parent"> |
|||
<!-- <android.support.v7.widget.CardView--> |
|||
<!-- android:layout_margin="@dimen/_5sdp"--> |
|||
<!-- app:cardCornerRadius="@dimen/_3sdp"--> |
|||
<!-- android:visibility="gone"--> |
|||
<!-- android:id="@+id/addAccountView"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- >--> |
|||
<!-- <LinearLayout--> |
|||
|
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="70dp"--> |
|||
<!-- android:layout_marginBottom="5dp"--> |
|||
<!-- android:layout_marginLeft="10dp"--> |
|||
<!-- android:layout_marginRight="10dp"--> |
|||
<!-- android:layout_marginTop="8dp"--> |
|||
<!-- android:background="@drawable/ic_rounded_white"--> |
|||
<!-- android:clickable="true"--> |
|||
<!-- android:gravity="center_vertical"--> |
|||
<!-- android:orientation="horizontal">--> |
|||
|
|||
<!-- <ImageView--> |
|||
<!-- android:id="@+id/iv_front_image"--> |
|||
<!-- android:layout_width="50dp"--> |
|||
<!-- android:layout_height="50dp"--> |
|||
<!-- android:layout_centerVertical="true"--> |
|||
<!-- android:layout_marginLeft="12dp"--> |
|||
<!-- android:layout_marginStart="12dp"--> |
|||
<!-- android:scaleType="centerCrop"--> |
|||
<!-- android:src="@drawable/ic_auto_debit_renew" />--> |
|||
|
|||
<!-- <com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView--> |
|||
<!-- android:id="@+id/userName"--> |
|||
<!-- android:layout_width="match_parent"--> |
|||
<!-- android:layout_height="wrap_content"--> |
|||
<!-- android:layout_centerVertical="true"--> |
|||
<!-- android:layout_gravity="center"--> |
|||
<!-- android:layout_marginLeft="10dp"--> |
|||
<!-- android:layout_toRightOf="@id/iv_front_image"--> |
|||
<!-- android:padding="2dp"--> |
|||
<!-- android:text="@string/token_renewal_text"--> |
|||
<!-- android:textColor="@color/darkgray"--> |
|||
<!-- android:textSize="17sp" />--> |
|||
<!-- </LinearLayout>--> |
|||
<!-- </android.support.v7.widget.CardView>--> |
|||
<android.support.v7.widget.RecyclerView |
|||
android:paddingStart="@dimen/_5sdp" |
|||
android:paddingEnd="@dimen/_5sdp" |
|||
android:id="@+id/accountListRv" |
|||
app:layoutManager="android.support.v7.widget.LinearLayoutManager" |
|||
|
|||
<android.support.constraint.ConstraintLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
<ImageView |
|||
android:id="@+id/imageView" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="20dp" |
|||
app:layout_constraintBottom_toTopOf="@+id/txt_not_use_fingerprint" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
app:layout_constraintVertical_bias="0.3" |
|||
app:layout_constraintVertical_chainStyle="packed" |
|||
app:srcCompat="@drawable/ic_bank_link_image" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/txt_not_use_fingerprint" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="0dp" |
|||
android:layout_weight="1" |
|||
android:clipToPadding="false"/> |
|||
</LinearLayout> |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginTop="8dp" |
|||
android:layout_marginEnd="16dp" |
|||
android:layout_marginBottom="8dp" |
|||
android:gravity="center" |
|||
android:paddingStart="15dp" |
|||
android:paddingTop="10dp" |
|||
android:paddingEnd="15dp" |
|||
android:paddingBottom="15dp" |
|||
android:text="Link your Korean Bank Account to recieve money from abroad." |
|||
android:textSize="17sp" |
|||
app:layout_constraintBottom_toTopOf="@+id/bankAccountSelectionContainer" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/imageView" /> |
|||
|
|||
|
|||
<LinearLayout |
|||
android:id="@+id/bankAccountSelectionContainer" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:visibility="visible" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginEnd="16dp" |
|||
app:layout_constraintBottom_toTopOf="@+id/bankAccountNoFormInputField" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/txt_not_use_fingerprint"> |
|||
|
|||
<android.support.constraint.ConstraintLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="match_parent"> |
|||
|
|||
<ImageView |
|||
android:id="@+id/bank_ico_imageview" |
|||
android:layout_width="@dimen/_30sdp" |
|||
android:layout_height="@dimen/_30sdp" |
|||
android:layout_gravity="center_vertical" |
|||
|
|||
android:src="@drawable/ic_bank" |
|||
android:visibility="visible" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
app:layout_constraintVertical_bias="0.38" /> |
|||
|
|||
</android.support.constraint.ConstraintLayout> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField |
|||
android:id="@+id/bankSelectionFormInputField" |
|||
style="@style/gme_form_text_input_layout" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_weight="1" |
|||
android:visibility="visible" |
|||
app:edFormCursorVisible="false" |
|||
app:edFormFocusable="false" |
|||
android:hint="Select Bank" /> |
|||
|
|||
<ImageView |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_gravity="center_vertical|end" |
|||
android:layout_marginStart="@dimen/_4sdp" |
|||
android:layout_marginEnd="@dimen/_4sdp" |
|||
android:background="@drawable/ic_arrow_down" /> |
|||
</LinearLayout> |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
<LinearLayout |
|||
android:id="@+id/bankAccountNoFormInputField" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="horizontal" |
|||
android:visibility="visible" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginEnd="16dp" |
|||
app:layout_constraintBottom_toTopOf="@+id/pennyTestCompleteButton" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/bankAccountSelectionContainer"> |
|||
|
|||
<android.support.constraint.ConstraintLayout |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="match_parent"> |
|||
|
|||
<ImageView |
|||
android:layout_width="@dimen/_30sdp" |
|||
android:layout_height="@dimen/_30sdp" |
|||
android:layout_gravity="center_vertical" |
|||
|
|||
android:src="@drawable/ic_account_card" |
|||
android:visibility="visible" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
app:layout_constraintVertical_bias="0.38" /> |
|||
|
|||
</android.support.constraint.ConstraintLayout> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GMEFormInputField |
|||
android:id="@+id/bankAccountNumberFormInputField" |
|||
style="@style/gme_form_text_input_layout" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_weight="1" |
|||
android:visibility="visible" |
|||
android:hint="Enter Account Number" /> |
|||
|
|||
</LinearLayout> |
|||
|
|||
|
|||
|
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton |
|||
android:id="@+id/startPennyTestButton" |
|||
android:layout_width="200dp" |
|||
android:layout_height="50dp" |
|||
android:layout_gravity="center" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginBottom="32dp" |
|||
android:background="@drawable/ic_rounded_background_red_coloured" |
|||
android:text="@string/continue_text" |
|||
android:enabled="false" |
|||
android:textAllCaps="false" |
|||
android:textColor="@color/white" |
|||
android:textSize="@dimen/_14ssp" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/bankAccountNoFormInputField" /> |
|||
|
|||
|
|||
</android.support.constraint.ConstraintLayout> |
|||
</ScrollView> |
@ -0,0 +1,12 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
|
|||
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" |
|||
xmlns:app="http://schemas.android.com/apk/res-auto" |
|||
android:id="@+id/accountListRv" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="match_parent" |
|||
android:layout_weight="1" |
|||
android:clipToPadding="false" |
|||
android:paddingStart="@dimen/_5sdp" |
|||
android:paddingEnd="@dimen/_5sdp" |
|||
app:layoutManager="android.support.v7.widget.LinearLayoutManager" /> |
@ -0,0 +1,161 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<ScrollView 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.support.constraint.ConstraintLayout |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical"> |
|||
|
|||
|
|||
<ImageView |
|||
android:id="@+id/bankIcon" |
|||
android:layout_width="@dimen/_65sdp" |
|||
android:layout_height="@dimen/_50sdp" |
|||
app:layout_constraintBottom_toBottomOf="@+id/bankNameTxtView" |
|||
app:layout_constraintEnd_toStartOf="@+id/guideline3" |
|||
app:layout_constraintTop_toTopOf="@+id/bankNameTxtView" |
|||
app:srcCompat="@drawable/ico_bank_jb" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/bankNameTxtView" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginTop="32dp" |
|||
android:gravity="bottom|start" |
|||
android:minHeight="@dimen/_50sdp" |
|||
android:text="Sinhan Bank" |
|||
android:textColor="@color/black" |
|||
android:textSize="@dimen/_20ssp" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="@+id/guideline3" |
|||
app:layout_constraintTop_toTopOf="parent" |
|||
app:txtfontName="@string/semibold" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/bankAccNoTxtView" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:text="123123*$% " |
|||
android:gravity="center" |
|||
android:textColor="@color/black" |
|||
android:textSize="@dimen/_18ssp" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/barrier5" |
|||
app:txtfontName="@string/semibold" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/txt_not_use_fingerprint" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:gravity="center" |
|||
android:paddingStart="15dp" |
|||
android:paddingTop="10dp" |
|||
android:paddingEnd="15dp" |
|||
android:paddingBottom="15dp" |
|||
android:text="Link your Korean Bank Account to recieve money from abroad." |
|||
android:textSize="17sp" |
|||
app:layout_constraintTop_toBottomOf="@+id/bankAccNoTxtView" |
|||
/> |
|||
|
|||
<android.support.design.widget.TextInputLayout |
|||
android:id="@+id/depositReferenceInputWrapper" |
|||
android:layout_width="0dp" |
|||
android:layout_height="wrap_content" |
|||
android:layout_marginStart="16dp" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:hint="@string/deposit_reference_text" |
|||
android:textColorHint="@color/darkgray" |
|||
app:layout_constraintEnd_toStartOf="@+id/image_example" |
|||
app:layout_constraintHorizontal_chainStyle="packed" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/txt_not_use_fingerprint"> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeEditText |
|||
android:id="@+id/ed_creditNumber" |
|||
style="@style/editetxtsingleline" |
|||
android:layout_width="match_parent" |
|||
android:layout_height="wrap_content" |
|||
android:imeOptions="actionDone" |
|||
android:inputType="number" |
|||
android:maxLength="4" |
|||
android:singleLine="false" /> |
|||
|
|||
</android.support.design.widget.TextInputLayout> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/image_example" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_alignParentRight="true" |
|||
android:layout_alignParentBottom="true" |
|||
android:layout_centerInParent="true" |
|||
android:layout_marginEnd="8dp" |
|||
android:gravity="center" |
|||
android:padding="10dp" |
|||
android:text="@string/view_sample_text" |
|||
android:textColor="#007aff" |
|||
android:textSize="10sp" |
|||
app:layout_constraintBottom_toBottomOf="@+id/depositReferenceInputWrapper" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintTop_toTopOf="@+id/depositReferenceInputWrapper" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView |
|||
android:id="@+id/resend_request" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:layout_alignParentRight="true" |
|||
android:layout_alignParentBottom="true" |
|||
android:layout_centerInParent="true" |
|||
android:layout_marginStart="8dp" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginEnd="8dp" |
|||
android:gravity="center" |
|||
android:padding="10dp" |
|||
android:text="@string/resend_request_text" |
|||
android:textColor="@color/colorPrimary" |
|||
android:textSize="14sp" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/depositReferenceInputWrapper" /> |
|||
|
|||
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeButton |
|||
android:id="@+id/pennyTestCompleteButton" |
|||
android:layout_width="200dp" |
|||
android:layout_height="50dp" |
|||
android:layout_gravity="center" |
|||
android:layout_marginTop="16dp" |
|||
android:layout_marginBottom="8dp" |
|||
android:background="@drawable/ic_rounded_background_red_coloured" |
|||
android:text="@string/continue_text" |
|||
android:textAllCaps="false" |
|||
android:textColor="@color/white" |
|||
android:textSize="@dimen/_14ssp" |
|||
app:layout_constraintBottom_toBottomOf="parent" |
|||
app:layout_constraintEnd_toEndOf="parent" |
|||
app:layout_constraintStart_toStartOf="parent" |
|||
app:layout_constraintTop_toBottomOf="@+id/resend_request" /> |
|||
|
|||
<android.support.constraint.Guideline |
|||
android:id="@+id/guideline3" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
android:orientation="vertical" |
|||
app:layout_constraintGuide_percent="0.5" /> |
|||
|
|||
<android.support.constraint.Barrier |
|||
android:id="@+id/barrier5" |
|||
android:layout_width="wrap_content" |
|||
android:layout_height="wrap_content" |
|||
app:barrierDirection="bottom" |
|||
app:constraint_referenced_ids="bankIcon,bankNameTxtView" |
|||
app:layout_constraintTop_toTopOf="parent" /> |
|||
|
|||
|
|||
</android.support.constraint.ConstraintLayout> |
|||
</ScrollView> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue