From 1c03765f979bc2e9344e194a15a85c3f148b0847 Mon Sep 17 00:00:00 2001 From: Preyea Regmi Date: Tue, 19 Nov 2019 11:18:39 +0545 Subject: [PATCH] Before changing account manage screen --- .idea/caches/build_file_checksums.ser | Bin 662 -> 662 bytes app/src/main/AndroidManifest.xml | 3 +- .../InboundAccountAddV2Presenter.java | 13 +- .../InboundAddAccountConfirmFragment.java | 2 +- .../InboundAddAccountPennyTestFragment.java | 23 +- .../gateway/DomesticRemitReceiptGateway.java | 4 +- .../DomesticRemitReceiptGatewayInterface.java | 2 +- .../view/DomesticRemitReceiptActivity.java | 2 +- .../homeV2/view/HomeActivityV2.java | 1 + .../homeV2/view/HomeFragmentV2.java | 88 +-- .../gateway/InboundRemitReceiptGateway.java | 20 + .../model/InboundRemitTxnReceiptDTO.java | 331 ++++++++++ .../InboundRemitReceiptGatewayInterface.java | 13 + .../InboundRemitReceiptPresenterImpl.java | 107 +++ ...InboundRemitReceiptPresenterInterface.java | 19 + .../view/InboundRemitReceiptActivity.java | 212 ++++++ .../view/FingerprintEnablePromptActivity.java | 4 +- .../splash_screen/view/SplashScreen.java | 4 - app/src/main/res/drawable/avd_gme_loader.xml | 32 +- .../activity_fingerprint_enable_prompt.xml | 2 +- .../layout/activity_inbound_remit_receipt.xml | 618 ++++++++++++++++++ .../layout/fragment_inbound_account_add.xml | 6 +- .../fragment_inbound_account_penny_test.xml | 20 +- .../res/layout/fragment_penny_test_prompt.xml | 8 +- app/src/main/res/values/styles.xml | 1 + 25 files changed, 1439 insertions(+), 96 deletions(-) create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/gateway/InboundRemitReceiptGateway.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/model/InboundRemitTxnReceiptDTO.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptGatewayInterface.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterImpl.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterInterface.java create mode 100644 app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/view/InboundRemitReceiptActivity.java create mode 100644 app/src/main/res/layout/activity_inbound_remit_receipt.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index cec130d513bcdecbcca4b3a030d7374b6802ece2..8150f9db607397ecb4b91842160c7b49bdae734e 100644 GIT binary patch delta 26 kcmV+#0OkLd1(pSnm;`~wo%xZR-jluoMw5C0M3V#plA{X?U;qFB delta 26 icmbQnI*oP043?UeH8~UK+?#xW(PeTKquXQ_rbz&muL_a? diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 58b93d49..419cc916 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -29,7 +29,8 @@ + + android:windowSoftInputMode="stateAlwaysHidden|adjustPan"> =9&&pennyTestRequestBody.getBankCode()!=null&&pennyTestRequestBody.getBankName()!=null); } @Override diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java index 68bf7b23..21aeec0d 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountConfirmFragment.java @@ -115,7 +115,7 @@ public class InboundAddAccountConfirmFragment extends BaseFragment { } public void showInvalidAccNo(String errorMessage) { - bankAccountNumberFormInputField.setEnabled(errorMessage!=null); + bankAccountNumberFormInputField.setErrorEnabled(errorMessage!=null); bankAccountNumberFormInputField.setError(errorMessage); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java index 92378253..14bdefe4 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/accountmanage/view/inboundaccountmanage/InboundAddAccountPennyTestFragment.java @@ -9,11 +9,14 @@ import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; +import android.widget.ImageView; +import android.widget.TextView; 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 com.gmeremit.online.gmeremittance_native.customwidgets.banklistingdialog.BankIconMapper; import butterknife.BindView; import butterknife.ButterKnife; @@ -29,6 +32,18 @@ public class InboundAddAccountPennyTestFragment extends BaseFragment { @BindView(R.id.ed_creditNumber) EditText ed_creditNumber; + @BindView(R.id.txt_pennytest_msg) + TextView txt_pennytest_msg; + + @BindView(R.id.bankNameTxtView) + TextView bankNameTxtView; + + @BindView(R.id.bankAccNoTxtView) + TextView bankAccNoTxtView; + + @BindView(R.id.bankIcon) + ImageView bankIcon; + @BindView(R.id.pennyTestCompleteButton) Button pennyTestCompleteButton; @@ -60,7 +75,10 @@ public class InboundAddAccountPennyTestFragment extends BaseFragment { } public void updateData(InboundPennyTestViewDTO inboundPennyTestViewDTO) { - + txt_pennytest_msg.setText(inboundPennyTestViewDTO.pennyTestMessage); + bankIcon.setImageResource(BankIconMapper.getBankIconFromBankCode(inboundPennyTestViewDTO.bankCode)); + bankNameTxtView.setText(inboundPennyTestViewDTO.bankName); + bankAccNoTxtView.setText(inboundPennyTestViewDTO.accountNo); } @Override @@ -77,7 +95,7 @@ public class InboundAddAccountPennyTestFragment extends BaseFragment { public void showInvalidDepositError(String errorMessage) { - depositReferenceInputWrapper.setEnabled(errorMessage!=null); + depositReferenceInputWrapper.setErrorEnabled(errorMessage!=null); depositReferenceInputWrapper.setError(errorMessage); } @@ -91,7 +109,6 @@ public class InboundAddAccountPennyTestFragment extends BaseFragment { if(pennyTestCompleteButton.isEnabled()) { ((InboundAccountAddActionListener) getActivity()).getPresenter().submitPennyTest(ed_creditNumber.getText().toString()); - } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/gateway/DomesticRemitReceiptGateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/gateway/DomesticRemitReceiptGateway.java index ab163dd3..1e7428eb 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/gateway/DomesticRemitReceiptGateway.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/gateway/DomesticRemitReceiptGateway.java @@ -47,7 +47,7 @@ public class DomesticRemitReceiptGateway extends PrivilegedGateway implements Do } // @Override -// public DomesticRemitTxnReceiptDTO getMockedReciept() { -// return HttpClientV2.getDeserializer().fromJson(mockedData,DomesticRemitTxnReceiptDTO.class); +// public InboundRemitTxnReceiptDTO getMockedReciept() { +// return HttpClientV2.getDeserializer().fromJson(mockedData,InboundRemitTxnReceiptDTO.class); // } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/presenter/DomesticRemitReceiptGatewayInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/presenter/DomesticRemitReceiptGatewayInterface.java index 3b54c38a..da232a17 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/presenter/DomesticRemitReceiptGatewayInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/presenter/DomesticRemitReceiptGatewayInterface.java @@ -11,5 +11,5 @@ public interface DomesticRemitReceiptGatewayInterface extends PrivilegedGatewayI Observable getReceiptData(String auth, String transactionId); -// DomesticRemitTxnReceiptDTO getMockedReciept(); +// InboundRemitTxnReceiptDTO getMockedReciept(); } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/view/DomesticRemitReceiptActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/view/DomesticRemitReceiptActivity.java index 2a63893e..da939a9b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/view/DomesticRemitReceiptActivity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/receipt/view/DomesticRemitReceiptActivity.java @@ -64,7 +64,7 @@ public class DomesticRemitReceiptActivity extends BaseActivity implements Domest private DomesticRemitReceiptPresenterImpl presenter; - public static final String DOMESTIC_TXN_ID_BUNDLE_KEY = "DOMESTIC_TXN_ID_BUNDLE_KEY"; + public static final String DOMESTIC_TXN_ID_BUNDLE_KEY = "INBOUND_TXN_ID_BUNDLE_KEY"; public static final String REQUEST_FROM_DOMESTIC_REMIT_PROCESS = "REQUEST_FROM_DOMESTIC_REMIT_PROCESS"; @Override diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java index a0ed56ce..9629c2c4 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeActivityV2.java @@ -46,6 +46,7 @@ import com.gmeremit.online.gmeremittance_native.resendV2.view.TransactionListing import com.gmeremit.online.gmeremittance_native.settings.view.FingerprintEnablePromptActivity; import com.gmeremit.online.gmeremittance_native.settings.view.SettingsView; import com.gmeremit.online.gmeremittance_native.static_pages.view.AboutGME; +import com.gmeremit.online.gmeremittance_native.topup.local.view.topup.LocalTopUpActivity; import com.gmeremit.online.gmeremittance_native.transactionhistoryV2.view.OutboundTransactionHistoryActivityV2; import com.gmeremit.online.gmeremittance_native.user_profile.view.ProfileActivity; import com.gmeremit.online.gmeremittance_native.utils.ChatUtils; diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java index b65485b7..68810a63 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java @@ -337,50 +337,50 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. } public void showNotificationView(HomeNotificationViewDTO notificationViewDTO) { -// new Handler().postDelayed(() -> { -// View notificationView = HomeNotificiationViewFactory.getNotificationView(notificationViewDTO, notificationViewContainer.getContext()); -// if (notificationView != null) { -// -// AutoTransition autoTransition = new AutoTransition(); -// if (notificationViewDTO.isFocused()) { -// scrollViewHomeFragment.setEnableScrolling(false); -// autoTransition.addListener(new TransitionListenerAdapter() { -// @Override -// public void onTransitionEnd(@NonNull Transition transition) { -// super.onTransitionEnd(transition); -// -// int[] notificationViewContainerPos = new int[2]; -// notificationViewContainer.getLocationInWindow(notificationViewContainerPos); -// Rect notificationViewContainerBoundry = new Rect(0, notificationViewContainerPos[0], notificationViewContainer.getWidth(), notificationViewContainerPos[1] + notificationView.getHeight()); -// if(getActivity()!=null) -// ((HomeParentViewContractV2) getActivity()).dimOutMenu(notificationViewContainerBoundry, true); -// } -// -// -// }); -// -// } else { -// scrollViewHomeFragment.setEnableScrolling(true); -// if(getActivity()!=null) -// ((HomeParentViewContractV2) getActivity()).dimOutMenu(null, false); -// -// } -// -// TransitionManager.beginDelayedTransition(homeContainerView, autoTransition); -// if (notificationViewContainer.getChildCount() > 0) -// notificationViewContainer.removeAllViews(); -// notificationViewContainer.addView(notificationView); -// notificationViewContainer.setVisibility(View.VISIBLE); -// notificationViewContainer.setOnClickListener(this); -// } else { -// TransitionManager.beginDelayedTransition(homeContainerView); -// notificationViewContainer.setVisibility(View.GONE); -// notificationViewContainer.removeAllViews(); -// notificationViewContainer.setOnClickListener(null); -// if(getActivity()!=null) -// ((HomeParentViewContractV2) getActivity()).dimOutMenu(null, false); -// } -// }, 500); + new Handler().postDelayed(() -> { + View notificationView = HomeNotificiationViewFactory.getNotificationView(notificationViewDTO, notificationViewContainer.getContext()); + if (notificationView != null) { + + AutoTransition autoTransition = new AutoTransition(); + if (notificationViewDTO.isFocused()) { + scrollViewHomeFragment.setEnableScrolling(false); + autoTransition.addListener(new TransitionListenerAdapter() { + @Override + public void onTransitionEnd(@NonNull Transition transition) { + super.onTransitionEnd(transition); + + int[] notificationViewContainerPos = new int[2]; + notificationViewContainer.getLocationInWindow(notificationViewContainerPos); + Rect notificationViewContainerBoundry = new Rect(0, notificationViewContainerPos[0], notificationViewContainer.getWidth(), notificationViewContainerPos[1] + notificationView.getHeight()); + if(getActivity()!=null) + ((HomeParentViewContractV2) getActivity()).dimOutMenu(notificationViewContainerBoundry, true); + } + + + }); + + } else { + scrollViewHomeFragment.setEnableScrolling(true); + if(getActivity()!=null) + ((HomeParentViewContractV2) getActivity()).dimOutMenu(null, false); + + } + + TransitionManager.beginDelayedTransition(homeContainerView, autoTransition); + if (notificationViewContainer.getChildCount() > 0) + notificationViewContainer.removeAllViews(); + notificationViewContainer.addView(notificationView); + notificationViewContainer.setVisibility(View.VISIBLE); + notificationViewContainer.setOnClickListener(this); + } else { + TransitionManager.beginDelayedTransition(homeContainerView); + notificationViewContainer.setVisibility(View.GONE); + notificationViewContainer.removeAllViews(); + notificationViewContainer.setOnClickListener(null); + if(getActivity()!=null) + ((HomeParentViewContractV2) getActivity()).dimOutMenu(null, false); + } + }, 500); } private void showKJBankNoticeIfRequired(boolean shouldShowAutoDebitNotice) { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/gateway/InboundRemitReceiptGateway.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/gateway/InboundRemitReceiptGateway.java new file mode 100644 index 00000000..a7ff4da2 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/gateway/InboundRemitReceiptGateway.java @@ -0,0 +1,20 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.gateway; + +import com.gmeremit.online.gmeremittance_native.base.PrivilegedGateway; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter.InboundRemitReceiptGatewayInterface; +import com.gmeremit.online.gmeremittance_native.utils.https.HttpClientV2; + +import io.reactivex.Observable; +import okhttp3.ResponseBody; + +public class InboundRemitReceiptGateway extends PrivilegedGateway implements InboundRemitReceiptGatewayInterface { + + + + @Override + public Observable getReceiptData(String auth, String transactionId) { + return HttpClientV2.getInstance().getDomesticReceipt(auth,transactionId); + } + + +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/model/InboundRemitTxnReceiptDTO.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/model/InboundRemitTxnReceiptDTO.java new file mode 100644 index 00000000..16a8e5e1 --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/model/InboundRemitTxnReceiptDTO.java @@ -0,0 +1,331 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.model; + +import com.gmeremit.online.gmeremittance_native.utils.Utils; +import com.google.gson.annotations.Expose; +import com.google.gson.annotations.SerializedName; + +public class InboundRemitTxnReceiptDTO { + + @SerializedName("controlNo") + @Expose + private String controlNo; + @SerializedName("trnsDate") + @Expose + private String trnsDate; + @SerializedName("trnId") + @Expose + private String trnId; + @SerializedName("rFirstName") + @Expose + private String rFirstName; + @SerializedName("rMiddleName") + @Expose + private String rMiddleName; + @SerializedName("rLastName") + @Expose + private String rLastName; + @SerializedName("rAddress") + @Expose + private String rAddress; + @SerializedName("rCountryName") + @Expose + private String rCountryName; + @SerializedName("rContactNo") + @Expose + private String rContactNo; + @SerializedName("rCity") + @Expose + private String rCity; + @SerializedName("rEmail") + @Expose + private String rEmail; + @SerializedName("relWithSender") + @Expose + private String relWithSender; + @SerializedName("rState") + @Expose + private String rState; + @SerializedName("payoutCountry") + @Expose + private String payoutCountry; + @SerializedName("trnDate") + @Expose + private String trnDate; + @SerializedName("pAmount") + @Expose + private String pAmount; + @SerializedName("pAgentBank") + @Expose + private String pAgentBank; + @SerializedName("accountNo") + @Expose + private String accountNo; + @SerializedName("payoutBankBranch") + @Expose + private String payoutBankBranch; + @SerializedName("collAmount") + @Expose + private String collAmount; + @SerializedName("exRate") + @Expose + private String exRate; + @SerializedName("serviceCharge") + @Expose + private String serviceCharge; + @SerializedName("payOutAmount") + @Expose + private String payOutAmount; + @SerializedName("payOutMode") + @Expose + private String payOutMode; + @SerializedName("couponName") + @Expose + private String couponName; + @SerializedName("discountType") + @Expose + private String discountType; + @SerializedName("discountValue") + @Expose + private String discountValue; + @SerializedName("discountPercent") + @Expose + private String discountPercent; + + public String getControlNo() { + return controlNo; + } + + public void setControlNo(String controlNo) { + this.controlNo = controlNo; + } + + public String getTrnsDate() { + return trnsDate; + } + + public void setTrnsDate(String trnsDate) { + this.trnsDate = trnsDate; + } + + public String getTrnId() { + return trnId; + } + + public void setTrnId(String trnId) { + this.trnId = trnId; + } + + public String getRFirstName() { + return rFirstName; + } + + public void setRFirstName(String rFirstName) { + this.rFirstName = rFirstName; + } + + public String getRMiddleName() { + return rMiddleName; + } + + public void setRMiddleName(String rMiddleName) { + this.rMiddleName = rMiddleName; + } + + public String getRLastName() { + return rLastName; + } + + public void setRLastName(String rLastName) { + this.rLastName = rLastName; + } + + public String getRAddress() { + return rAddress; + } + + public void setRAddress(String rAddress) { + this.rAddress = rAddress; + } + + public String getRCountryName() { + return rCountryName; + } + + public void setRCountryName(String rCountryName) { + this.rCountryName = rCountryName; + } + + public String getRContactNo() { + return rContactNo; + } + + public void setRContactNo(String rContactNo) { + this.rContactNo = rContactNo; + } + + public String getRCity() { + return rCity; + } + + public void setRCity(String rCity) { + this.rCity = rCity; + } + + public String getREmail() { + return rEmail; + } + + public void setREmail(String rEmail) { + this.rEmail = rEmail; + } + + public String getRelWithSender() { + return relWithSender; + } + + public void setRelWithSender(String relWithSender) { + this.relWithSender = relWithSender; + } + + public String getRState() { + return rState; + } + + public void setRState(String rState) { + this.rState = rState; + } + + public String getPayoutCountry() { + return payoutCountry; + } + + public void setPayoutCountry(String payoutCountry) { + this.payoutCountry = payoutCountry; + } + + public String getTrnDate() { + return trnDate; + } + + public void setTrnDate(String trnDate) { + this.trnDate = trnDate; + } + + public String getPAmount() { + return pAmount; + } + + public void setPAmount(String pAmount) { + this.pAmount = pAmount; + } + + public String getPAgentBank() { + return pAgentBank; + } + + public void setPAgentBank(String pAgentBank) { + this.pAgentBank = pAgentBank; + } + + public String getAccountNo() { + return accountNo; + } + + public void setAccountNo(String accountNo) { + this.accountNo = accountNo; + } + + public String getPayoutBankBranch() { + return payoutBankBranch; + } + + public void setPayoutBankBranch(String payoutBankBranch) { + this.payoutBankBranch = payoutBankBranch; + } + + public String getCollAmount() { + return collAmount; + } + + public void setCollAmount(String collAmount) { + this.collAmount = collAmount; + } + + public String getExRate() { + return exRate; + } + + public void setExRate(String exRate) { + this.exRate = exRate; + } + + public String getServiceCharge() { + return serviceCharge; + } + + public void setServiceCharge(String serviceCharge) { + this.serviceCharge = serviceCharge; + } + + public String getPayOutAmount() { + return payOutAmount; + } + + public void setPayOutAmount(String payOutAmount) { + this.payOutAmount = payOutAmount; + } + + public String getPayOutMode() { + return payOutMode; + } + + public void setPayOutMode(String payOutMode) { + this.payOutMode = payOutMode; + } + + public String getCouponName() { + + String couponString = ""; + + if(couponName==null||couponName.length()<1) + return null; + + if (discountType!=null&&discountType.equalsIgnoreCase("1")) { + couponString = couponName +" "+ discountPercent+"% (-" + Utils.formatCurrencyWithoutTruncatingDecimal(discountValue) + "KRW)"; + } + //Value type discount + else { + couponString = couponName + " (-" +Utils.formatCurrencyWithoutTruncatingDecimal(discountValue) + " KRW)"; + } + + return couponString; + } + + public void setCouponName(String couponName) { + this.couponName = couponName; + } + + public String getDiscountType() { + return discountType; + } + + public void setDiscountType(String discountType) { + this.discountType = discountType; + } + + public String getDiscountValue() { + return discountValue; + } + + public void setDiscountValue(String discountValue) { + this.discountValue = discountValue; + } + + public String getDiscountPercent() { + return discountPercent; + } + + public void setDiscountPercent(String discountPercent) { + this.discountPercent = discountPercent; + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptGatewayInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptGatewayInterface.java new file mode 100644 index 00000000..e1637f0c --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptGatewayInterface.java @@ -0,0 +1,13 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter; + +import com.gmeremit.online.gmeremittance_native.base.PrivilegedGatewayInterface; + +import io.reactivex.Observable; +import okhttp3.ResponseBody; + +public interface InboundRemitReceiptGatewayInterface extends PrivilegedGatewayInterface { + + Observable getReceiptData(String auth, String transactionId); + +// InboundRemitTxnReceiptDTO getMockedReciept(); +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterImpl.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterImpl.java new file mode 100644 index 00000000..2cdcc2bf --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterImpl.java @@ -0,0 +1,107 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter; + +import com.gmeremit.online.gmeremittance_native.base.BasePresenter; +import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.model.InboundRemitTxnReceiptDTO; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.view.InboundRemitReceiptActivity; +import com.gmeremit.online.gmeremittance_native.utils.Constants; +import com.gmeremit.online.gmeremittance_native.utils.Utils; +import com.gmeremit.online.gmeremittance_native.utils.https.GenericApiObserverResponseV2; +import com.gmeremit.online.gmeremittance_native.utils.https.GenericResponseDataModel; +import com.google.gson.reflect.TypeToken; + +import java.lang.reflect.Type; + +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.schedulers.Schedulers; + +public class InboundRemitReceiptPresenterImpl extends BasePresenter implements InboundRemitReceiptPresenterInterface { + + private final InboundRemitReceiptViewContract view; + private final InboundRemitReceiptGatewayInterface gateway; + private final CompositeDisposable compositeDisposable; + private final String txnId; + private final boolean requestFromDomesticRemitProcess; + + public InboundRemitReceiptPresenterImpl(InboundRemitReceiptViewContract view, InboundRemitReceiptGatewayInterface gateway, String txnId, boolean requestFromDomesticremitProcess) { + this.view=view; + this.gateway=gateway; + this.compositeDisposable =new CompositeDisposable(); + this.txnId=txnId; + this.requestFromDomesticRemitProcess=requestFromDomesticremitProcess; + } + + @Override + public void getReceiptData() { + compositeDisposable.add( + this.gateway.getReceiptData(gateway.getAuth(),this.txnId) + .doOnSubscribe(dis->view.showProgressBar(true,"")) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .doFinally(()->view.showProgressBar(false,"")) + .subscribeWith(new DomesticRemitReceiptObserver()) + + ); + } + + @Override + public boolean isRequestFromDomesticRemitProcess() { + return requestFromDomesticRemitProcess; + } + + private void formatDataAndUpdateReceipt(InboundRemitTxnReceiptDTO domesticRemitTxnReceiptDTO) + { + InboundRemitReceiptActivity.TxnReceiptViewModel txnReceiptViewModel=new InboundRemitReceiptActivity.TxnReceiptViewModel(); + txnReceiptViewModel.setMobileNo(domesticRemitTxnReceiptDTO.getRContactNo()); + txnReceiptViewModel.setpAmount(Utils.formatCurrency(domesticRemitTxnReceiptDTO.getPayOutAmount())+" "+Constants.KRW_STRING); + txnReceiptViewModel.setRecieverName(domesticRemitTxnReceiptDTO.getRFirstName()); + txnReceiptViewModel.setServiceFee(Utils.formatCurrency(domesticRemitTxnReceiptDTO.getServiceCharge())+" "+Constants.KRW_STRING); + txnReceiptViewModel.setTxnDate(domesticRemitTxnReceiptDTO.getTrnsDate()); + txnReceiptViewModel.setTxnNo("GME Control No. " +domesticRemitTxnReceiptDTO.getTrnId()); + txnReceiptViewModel.setTotalSendAmount(Utils.formatCurrency(domesticRemitTxnReceiptDTO.getCollAmount())+" "+Constants.KRW_STRING); + txnReceiptViewModel.setBank(domesticRemitTxnReceiptDTO.getPAgentBank()); + txnReceiptViewModel.setAccNo(domesticRemitTxnReceiptDTO.getAccountNo()); + + view.showReciept(txnReceiptViewModel); + } + + + public class DomesticRemitReceiptObserver extends GenericApiObserverResponseV2 + { + @Override + protected Type getDataType() { + return TypeToken.getParameterized(InboundRemitTxnReceiptDTO.class).getType(); + } + + @Override + protected void onSuccess(GenericResponseDataModel t) { + if(t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) + { + formatDataAndUpdateReceipt(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.NO_INTERNET,alertType -> view.exitView()); + + } + + @Override + protected void unauthorizedAccess(String message) { + gateway.clearAllUserData(); + view.showPopUpMessage(message, CustomAlertDialog.AlertType.ALERT,alertType -> view.logout()); + + } + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterInterface.java new file mode 100644 index 00000000..d97a43ec --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/presenter/InboundRemitReceiptPresenterInterface.java @@ -0,0 +1,19 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter; + +import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; +import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.view.InboundRemitReceiptActivity; + +public interface InboundRemitReceiptPresenterInterface extends BasePresenterInterface { + + void getReceiptData(); + + boolean isRequestFromDomesticRemitProcess(); + + + interface InboundRemitReceiptViewContract extends BaseContractInterface + { + void showReciept(InboundRemitReceiptActivity.TxnReceiptViewModel receiptViewModel); + + } +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/view/InboundRemitReceiptActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/view/InboundRemitReceiptActivity.java new file mode 100644 index 00000000..254383fa --- /dev/null +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/inboundreceipt/view/InboundRemitReceiptActivity.java @@ -0,0 +1,212 @@ +package com.gmeremit.online.gmeremittance_native.inboundreceipt.view; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +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.homeV2.view.HomeActivityV2; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.gateway.InboundRemitReceiptGateway; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter.InboundRemitReceiptPresenterImpl; +import com.gmeremit.online.gmeremittance_native.inboundreceipt.presenter.InboundRemitReceiptPresenterInterface; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; + +public class InboundRemitReceiptActivity extends BaseActivity implements InboundRemitReceiptPresenterInterface.InboundRemitReceiptViewContract { + + + @BindView(R.id.toolbar_title) + TextView toolbar_title; + + @BindView(R.id.iv_back) + View iv_back; + + @BindView(R.id.iv_cancel) + View iv_cancel; + + + @BindView(R.id.tv_receiver_name) + TextView tv_receiver_name; + + @BindView(R.id.tv_payout_amount) + TextView tv_payout_amount; + + @BindView(R.id.tv_gme_control_no) + TextView tv_gme_control_no; + + + @BindView(R.id.tv_transaction_date) + TextView tv_transaction_date; + + + @BindView(R.id.tv_receiver_name2) + TextView tv_receiver_name2; + + @BindView(R.id.tv_mobile_no) + TextView tv_mobile_no; + + @BindView(R.id.tv_total_sent_amount) + TextView tv_total_sent_amount; + + @BindView(R.id.tv_bank_name) + TextView tv_bank_name; + + @BindView(R.id.tv_service_fee) + TextView tv_service_fee; + + @BindView(R.id.tv_acc_no) + TextView tv_acc_no; + + + private InboundRemitReceiptPresenterImpl presenter; + + public static final String INBOUND_TXN_ID_BUNDLE_KEY = "INBOUND_TXN_ID_BUNDLE_KEY"; + public static final String REQUEST_FROM_DOMESTIC_REMIT_PROCESS = "REQUEST_FROM_DOMESTIC_REMIT_PROCESS"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_inbound_remit_receipt); + ButterKnife.bind(this); + init(); + performDefaultAction(savedInstanceState); + } + + private void init() { + this.presenter = new InboundRemitReceiptPresenterImpl(this, new InboundRemitReceiptGateway(), getIntent().getStringExtra(INBOUND_TXN_ID_BUNDLE_KEY), getIntent().getBooleanExtra(REQUEST_FROM_DOMESTIC_REMIT_PROCESS, false)); + } + + private void performDefaultAction(Bundle savedInstanceState) { + if (savedInstanceState == null) { + iv_cancel.setVisibility(View.INVISIBLE); + toolbar_title.setText(getString(R.string.receipt_title_text)); + presenter.getReceiptData(); + } else { + + } + } + + @Override + public void showReciept(TxnReceiptViewModel receiptViewModel) { + tv_receiver_name.setText(receiptViewModel.getRecieverName()); + tv_receiver_name2.setText(receiptViewModel.getRecieverName()); + tv_payout_amount.setText(receiptViewModel.getpAmount()); + tv_gme_control_no.setText(receiptViewModel.getTxnNo()); + tv_transaction_date.setText(receiptViewModel.getTxnDate()); + tv_mobile_no.setText(receiptViewModel.getMobileNo()); + tv_total_sent_amount.setText(receiptViewModel.getTotalSendAmount()); + tv_service_fee.setText(receiptViewModel.getServiceFee()); + tv_bank_name.setText(receiptViewModel.getBank()); + tv_acc_no.setText(receiptViewModel.getAccNo()); + } + + @OnClick({R.id.iv_back, R.id.btn_submit}) + public void goBack(View iv_back) { + onBackPressed(); + + + } + + @Override + public void onBackPressed() { + if (!presenter.isRequestFromDomesticRemitProcess()) + super.onBackPressed(); + else { + Intent a = new Intent(this, HomeActivityV2.class); + a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + startActivity(a); + finish(); + } + } + + public static class TxnReceiptViewModel { + + String pAmount; + String txnNo; + String txnDate; + String recieverName; + String mobileNo; + String totalSendAmount; + String serviceFee; + String bank; + String accNo; + + public String getAccNo() { + return accNo; + } + + public void setAccNo(String accNo) { + this.accNo = accNo; + } + + public String getBank() { + return bank; + } + + public void setBank(String bank) { + this.bank = bank; + } + + public String getpAmount() { + return pAmount; + } + + public void setpAmount(String pAmount) { + this.pAmount = pAmount; + } + + public String getTxnNo() { + return txnNo; + } + + public void setTxnNo(String txnNo) { + this.txnNo = txnNo; + } + + public String getTxnDate() { + return txnDate; + } + + public void setTxnDate(String txnDate) { + this.txnDate = txnDate; + } + + public String getRecieverName() { + return recieverName; + } + + public void setRecieverName(String recieverName) { + this.recieverName = recieverName; + } + + public String getMobileNo() { + return mobileNo; + } + + public void setMobileNo(String mobileNo) { + this.mobileNo = mobileNo; + } + + public String getTotalSendAmount() { + return totalSendAmount; + } + + public void setTotalSendAmount(String totalSendAmount) { + this.totalSendAmount = totalSendAmount; + } + + public String getServiceFee() { + return serviceFee; + } + + public void setServiceFee(String serviceFee) { + this.serviceFee = serviceFee; + } + } + +} diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerprintEnablePromptActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerprintEnablePromptActivity.java index da15965e..b4ff836a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerprintEnablePromptActivity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/settings/view/FingerprintEnablePromptActivity.java @@ -33,7 +33,7 @@ public class FingerprintEnablePromptActivity extends BaseActivity implements Vie @BindView(R.id.btn_use_fingerprint) Button btnUseFingerPrint; - @BindView(R.id.txt_not_use_fingerprint) + @BindView(R.id.txt_pennytest_msg) TextView notNow; @BindView(R.id.tv_manual) @@ -171,7 +171,7 @@ public class FingerprintEnablePromptActivity extends BaseActivity implements Vie showFingerprintAuthDialog(); break; - case R.id.txt_not_use_fingerprint: + case R.id.txt_pennytest_msg: finish(); break; } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java index 9a82ed4b..28a20c31 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/splash_screen/view/SplashScreen.java @@ -163,8 +163,6 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener, private SplashScreenPresenterInterface splashPresenter; private ExchangeRatePresenterInterface exRatePresenter; -// public static final String TAG = "SplashScreenTAG"; - private SendAmountTextWatcher sendMoneyTextWatcher; private ReceiveAmountTextWatcher receiveMoneyTextWatcher; private GestureDetectorCompat gestureDetector; @@ -233,8 +231,6 @@ public class SplashScreen extends BaseActivity implements View.OnClickListener, break; case R.id.btn_lgn: startActivity(new Intent(this, LoginV2Activity.class)); -// launchActivity(new Intent(this, PayoutCountrySelectionActivity.class)); - break; case R.id.iv_back: if (languageViewTransitionManager.isUserOnLanguageSelectionView()) diff --git a/app/src/main/res/drawable/avd_gme_loader.xml b/app/src/main/res/drawable/avd_gme_loader.xml index ee03c7dd..3aace39b 100644 --- a/app/src/main/res/drawable/avd_gme_loader.xml +++ b/app/src/main/res/drawable/avd_gme_loader.xml @@ -19,21 +19,21 @@ - - - - + + + + + + + + + + + + + - - - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_fingerprint_enable_prompt.xml b/app/src/main/res/layout/activity_fingerprint_enable_prompt.xml index d38bf565..6b22704e 100644 --- a/app/src/main/res/layout/activity_fingerprint_enable_prompt.xml +++ b/app/src/main/res/layout/activity_fingerprint_enable_prompt.xml @@ -99,7 +99,7 @@ app:layout_constraintTop_toBottomOf="@+id/tv_manual" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_inbound_account_add.xml b/app/src/main/res/layout/fragment_inbound_account_add.xml index 8eb8ad24..6638d6da 100644 --- a/app/src/main/res/layout/fragment_inbound_account_add.xml +++ b/app/src/main/res/layout/fragment_inbound_account_add.xml @@ -15,7 +15,7 @@ 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_constraintBottom_toTopOf="@+id/txt_pennytest_msg" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -24,7 +24,7 @@ app:srcCompat="@drawable/ic_bank_link_image" /> + app:layout_constraintTop_toBottomOf="@+id/txt_pennytest_msg"> + app:layout_constraintTop_toBottomOf="@+id/txt_pennytest_msg"> + app:layout_constraintGuide_percent="0.38" /> false true @android:color/transparent + true