diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterImpl.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterImpl.java index a98d3261..8624165a 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterImpl.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterImpl.java @@ -61,23 +61,6 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti .doFinally(() -> view.showProgressBar(false, "")) .subscribeWith(new DomesticRelatedDataObserver()) ); -// mockDomesticRemitRelatedData(); - - } - - private void mockDomesticRemitRelatedData() { -// DomesticRemitRelatedInfoDTO domesticRelatedData = gateway.getMockedDomesticRelatedData(view.getContext()); -// String serviceCharge = domesticRelatedData.getServiceFee(); -// -// domesticRemitDataValidator.setServiceCharge(serviceCharge); -// -// String messageServiceCharge = getStringfromStringId(R.string.transfer_charge_text)+": " + Utils.formatCurrencyWithoutTruncatingDecimal(serviceCharge) + " " + Constants.KRW_STRING; -// view.updateServiceCharge(messageServiceCharge); -// -// availableBankList=domesticRelatedData.getBankList(); -// availableAccountList=domesticRelatedData.getAccountList(); -// -// domesticRemitDataValidator.validateSenderAccount(availableAccountList.get(0)); } @@ -165,9 +148,8 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti @Override public void onSendingAmountChanged(String sendingAmount) { - if(domesticRemitDataValidator.validateSendAmount(sendingAmount)) - onValidAmountInputbyUser(); -// view.listenForAmountFocusChangeOrActionDone(domesticRemitDataValidator.validateSendAmount(sendingAmount)); + if (domesticRemitDataValidator.validateSendAmount(sendingAmount)) + onValidAmountInputbyUser(); } @@ -205,30 +187,7 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti .doFinally(() -> view.showProgressBar(false, "")) .subscribeWith(new VerifyKFTCAccountObserver()) ); -// mockAccountValidationSuccess(); - - } - private void mockAccountValidationSuccess() { -// DomesticReicipientInfoDTO data = gateway.getMockedDomesticRecipientInfo(view.getContext()); -// -// -// String message = getStringfromStringId(R.string.check_recipient_name_text); -// String formattedMessage = message.replace("ooo", data.getRecipientName()); -// -// view.promptToConfirmRecipientName(data.getRecipientName(),formattedMessage, new RecipientConfirmDialog.RecipientConfirmDialogListener() { -// @Override -// public void onNegativeBtnPressed() { -// -// } -// -// @Override -// public void onPositiveBtnPressed() { -// view.showViewDependentOnBankAccountNo(true); -// view.updateWidgetFullName(data.getRecipientName()); -// view.updateWidgetMobileNumber(data.getRecipientPhone()); -// } -// }); } @@ -237,7 +196,6 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti view.showViewDependentOnSenderBankAndAmount(true); view.showOkButton(!domesticRemitDataValidator.areAllFormValid()); view.enableVerifyBankButton(domesticRemitDataValidator.isValidRecipientBank && domesticRemitDataValidator.isValidBankAcNo); -// view.listenForAmountFocusChangeOrActionDone(false); } @Override @@ -263,22 +221,8 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti .doFinally(() -> view.showProgressBar(false, "")) .subscribeWith(new PaymentAccountBalanceObserver()) ); -// mockCurrentBalance(); - } - - private void mockCurrentBalance() { - String balance = "30000"; - - domesticRemitDataValidator.setCurrentBalance(balance); - - view.showCurrentBalance(getStringfromStringId(R.string.available_balance_text) + ": " + Utils.formatCurrencyWithoutTruncatingDecimal(balance) + " " + Constants.KRW_STRING); - view.showCheckBalanceButton(false); - - domesticRemitDataValidator.validateCurrentBalanceWithSendingAmount(); - domesticRemitDataValidator.validateAll(); } - class DomesticRemitDataValidator { private DomesticAccountsDTO selectedSenderAccount; private String sendAmount; @@ -370,16 +314,32 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti if (sendAmountFormatted < 10000) { view.setErrorOnWidgetAmount(getStringfromStringId(R.string.amount_minimum_error_text)); + view.showDeductionAmount(""); isValidSendAmount = false; } else { view.setErrorOnWidgetAmount(null); isValidSendAmount = true; + calcDeducationAmount(); validateCurrentBalanceWithSendingAmount(); } validateAll(); return isValidSendAmount; } + private void calcDeducationAmount() { + String serviceChargeOnBasisOnType = ""; + if ("autodebit".equalsIgnoreCase(selectedSenderAccount.getType())) + serviceChargeOnBasisOnType = serviceCharge; + else + serviceChargeOnBasisOnType = serviceChargeWallet; + + double deductionAmount = Utils.formatCurrencyForComparision(sendAmount) + Utils.formatCurrencyForComparision(serviceChargeOnBasisOnType); + + String message = "It will deduct " + deductionAmount + " " + Constants.KRW_STRING + " (Amount + ServiceFee)"; + + view.showDeductionAmount(message); + } + public void validateRecipientBank(DomesticBankDTO selectedReceiverBank) { this.selectedRecipientBank = selectedReceiverBank; @@ -457,7 +417,7 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti if (netSendingAmount == 0) { view.setErrorOnWidgetAmount(null); isValidSendAmount = false; - + view.showDeductionAmount(""); } //Business requirement, not checking lower bound as it will be handled by server // else if (formattedCurrentBalance <=formattedServiceCharge || netSendingAmount > formattedCurrentBalance) @@ -468,6 +428,7 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti //User sending Amount is valid view.setErrorOnWidgetAmount(null); isValidSendAmount = true; + } } @@ -578,6 +539,8 @@ public class DomesticRemitPresenterImpl extends BasePresenter implements Domesti view.showViewDependentOnBankAccountNo(true); view.updateWidgetFullName(data.getRecipientName()); view.updateWidgetMobileNumber(data.getRecipientPhone()); + + } }); } else { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterInterface.java index 5aeef95b..02d890da 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/presenter/DomesticRemitPresenterInterface.java @@ -78,6 +78,8 @@ public interface DomesticRemitPresenterInterface extends BasePresenterInterface void listenForAmountFocusChangeOrActionDone(boolean validAmount); + void showDeductionAmount(String deductionAmount); + void onRecipientBankAndAccountNoValidated(boolean validAccountNoAndBank); void promptToConfirmRecipientName(String title, String message, RecipientConfirmDialog.RecipientConfirmDialogListener callback); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/view/DomesticRemitActivity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/view/DomesticRemitActivity.java index e26c17df..1c92493b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/view/DomesticRemitActivity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/domesticremit/send/view/DomesticRemitActivity.java @@ -97,6 +97,9 @@ public class DomesticRemitActivity extends BaseActivity implements DomesticRemit @BindView(R.id.serviceChargeTxtView) TextView serviceChargeFormInputField; + @BindView(R.id.deductionAmountTextView) + TextView deductionAmountTextView; + @BindView(R.id.recipientHistoryImageView) ImageView recipientHistoryImageView; @@ -357,12 +360,13 @@ public class DomesticRemitActivity extends BaseActivity implements DomesticRemit okBtn.setVisibility(GONE); recipientFullNameFormInputField.setVisibility(View.VISIBLE); recipientMobileNoFormInputField.setVisibility(View.VISIBLE); + deductionAmountTextView.setVisibility(View.VISIBLE); submitBtn.setVisibility(View.VISIBLE); } else { okBtn.setVisibility(View.VISIBLE); recipientFullNameFormInputField.setVisibility(GONE); recipientMobileNoFormInputField.setVisibility(View.GONE); - + deductionAmountTextView.setVisibility(GONE); submitBtn.setVisibility(View.GONE); } } @@ -498,6 +502,11 @@ public class DomesticRemitActivity extends BaseActivity implements DomesticRemit } + @Override + public void showDeductionAmount(String deductionAmount) { + deductionAmountTextView.setText(deductionAmount); + } + @Override public void onRecipientBankAndAccountNoValidated(boolean onValidAccount) { okBtn.setEnabled(onValidAccount); 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 489650dc..239853bd 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.settings.view.FingerprintEnableP 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.TransactionHistoryActivityV2; import com.gmeremit.online.gmeremittance_native.user_profile.view.ProfileActivity; import com.gmeremit.online.gmeremittance_native.utils.ChatUtils; import com.gmeremit.online.gmeremittance_native.utils.Utils; @@ -349,8 +350,8 @@ public class HomeActivityV2 extends BaseActivity implements HomeParentViewContra return; String unverifiedMessage = presenter.checkIfUserVerified(); if (unverifiedMessage == null) -// startActivity(new Intent(getApplicationContext(), TransactionHistoryActivityV2.class)); - startActivity(new Intent(getApplicationContext(), LocalTopUpActivity.class)); + startActivity(new Intent(getApplicationContext(), TransactionHistoryActivityV2.class)); +// startActivity(new Intent(getApplicationContext(), LocalTopUpActivity.class)); else showPopUpMessage(unverifiedMessage, CustomAlertDialog.AlertType.ALERT, null); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java index 121f58e3..6814d251 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/transactionhistoryV2/view/TransactionHistoryActivityV2.java @@ -84,8 +84,8 @@ public class TransactionHistoryActivityV2 extends BaseActivity implements Transa private void setUpTabLayout() { try { - transactionTabLayout.getTabAt(0).setCustomView(R.layout.tab_tran_history2_domestic); - transactionTabLayout.getTabAt(1).setCustomView(R.layout.tab_tran_history1_international); + transactionTabLayout.getTabAt(0).setCustomView(R.layout.tab_tran_history1_international); + transactionTabLayout.getTabAt(1).setCustomView(R.layout.tab_tran_history2_domestic); // transactionTabLayout.getTabAt(2).setCustomView(R.layout.tab_tran_history3); } catch (NullPointerException e) { @@ -104,8 +104,9 @@ public class TransactionHistoryActivityV2 extends BaseActivity implements Transa - fragments.add(new DomesticTransactionHistoryTypeFragmentV2()); fragments.add(new InternationalTransactionHistoryContainerFragmentV2()); + fragments.add(new DomesticTransactionHistoryTypeFragmentV2()); + // fragments.add(deliveredTransactionFragment); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/Utils.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/Utils.java index c2e5cab5..ed45807b 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/Utils.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/utils/Utils.java @@ -670,11 +670,11 @@ public class Utils { } public static Double formatCurrencyForComparision(String amount) { - Double convertedAmount; + Double convertedAmount=0.0; try { convertedAmount = Double.parseDouble(amount.replaceAll(",", "").trim()); } catch (Exception e) { - return null; + return convertedAmount; } return convertedAmount; } diff --git a/app/src/main/res/layout/activity_domestic_remit.xml b/app/src/main/res/layout/activity_domestic_remit.xml index e51bc7e3..79310b9a 100644 --- a/app/src/main/res/layout/activity_domestic_remit.xml +++ b/app/src/main/res/layout/activity_domestic_remit.xml @@ -243,6 +243,14 @@ android:visibility="visible" /> +