diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 9a645831..6912f223 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java index 8d43c831..128afc22 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java @@ -7,7 +7,6 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.View; import android.widget.TextView; @@ -24,8 +23,7 @@ import com.gmeremit.online.gmeremittance_native.autodebitV2.view.bankaccountvali import com.gmeremit.online.gmeremittance_native.base.BaseActivity; import com.gmeremit.online.gmeremittance_native.customwidgets.GenericTextListingDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView; -import com.gmeremit.online.gmeremittance_native.customwidgets.autodebitaccrenewdialog.AutoDebitRenewalPromptDialog; -import com.gmeremit.online.gmeremittance_native.homeV2.HomeParentViewContractV2; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericPromptDialog; import java.util.List; @@ -156,19 +154,21 @@ public class AutoDebitAccountListingV2Activity extends BaseActivity implements A public void onClick(View v) { switch (v.getId()) { case R.id.addAccountView: - AutoDebitRenewalPromptDialog autoDebitRenewalPromptDialog = new AutoDebitRenewalPromptDialog(); + GenericPromptDialog autoDebitRenewalPromptDialog = new GenericPromptDialog(); autoDebitRenewalPromptDialog.setBodyMessage(getString(R.string.auto_debit_account_renew_prompt_text)); - autoDebitRenewalPromptDialog.setPositiveBtnString(getString(R.string.yes_text)); - autoDebitRenewalPromptDialog.setNegativeBtnString(getString(R.string.no_text)); - autoDebitRenewalPromptDialog.setListener(new AutoDebitRenewalPromptDialog.AutoDebitRenewalPromptListener() { + autoDebitRenewalPromptDialog.setPositiveBtnString(getString(R.string.renewal_text)); + autoDebitRenewalPromptDialog.setNegativeBtnString(getString(R.string.later_text)); + autoDebitRenewalPromptDialog.setTitleMessage(getString(R.string.important_text)); + autoDebitRenewalPromptDialog.setIconsRes(R.drawable.ic_auto_debit_renew); + autoDebitRenewalPromptDialog.setListener(new GenericPromptDialog.GenericDialogPromptListener() { @Override public void onNegativeBtnPressed() { - autoDebitRenewalPromptDialog.dismiss(); + } @Override public void onPositiveBtnPressed() { - autoDebitRenewalPromptDialog.dismiss(); + promptLanguageAndProceedToTokenRenew(); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/autodebitaccrenewdialog/AutoDebitRenewalPromptDialog.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GenericPromptDialog.java similarity index 79% rename from app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/autodebitaccrenewdialog/AutoDebitRenewalPromptDialog.java rename to app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GenericPromptDialog.java index de9dd4a5..fbb19816 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/autodebitaccrenewdialog/AutoDebitRenewalPromptDialog.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GenericPromptDialog.java @@ -1,4 +1,4 @@ -package com.gmeremit.online.gmeremittance_native.customwidgets.autodebitaccrenewdialog; +package com.gmeremit.online.gmeremittance_native.customwidgets; import android.app.Dialog; import android.os.Bundle; @@ -12,9 +12,9 @@ import android.widget.Toast; import com.gmeremit.online.gmeremittance_native.R; -public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogFragment implements View.OnClickListener { +public class GenericPromptDialog extends android.support.v4.app.DialogFragment implements View.OnClickListener { - ImageView fingerprintScannerImgView; + ImageView iconView; TextView btnRenew; TextView btnLater; TextView messageBodyTxtView; @@ -24,15 +24,16 @@ public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogF private String bodyString; private String positiveBtnString=null; private String negativeBtnString=null; - private AutoDebitRenewalPromptListener listener; + private int iconsRes=-1; + private GenericDialogPromptListener listener; private boolean shouldBeCancellable=true; @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_auto_debit_renew_prompt, null); - fingerprintScannerImgView = view.findViewById(R.id.fingerprintScannerImgView); + View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_generic_prompt, null); + iconView = view.findViewById(R.id.iconView); messageBodyTxtView = view.findViewById(R.id.messageBodyTxtView); txt_dialog_title = view.findViewById(R.id.txt_dialog_title); btnRenew = view.findViewById(R.id.btnRenew); @@ -44,6 +45,21 @@ public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogF if(titleString!=null) txt_dialog_title.setText(titleString); messageBodyTxtView.setText(bodyString); + if(iconsRes!=-1) + { + try { + iconView.setImageResource(iconsRes); + } + catch (Exception e) + { + iconView.setVisibility(View.GONE); + } + } + else + { + iconView.setVisibility(View.GONE); + + } setCancelable(shouldBeCancellable); builder.setView(view); initialize(); @@ -70,7 +86,7 @@ public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogF } - public void setListener(AutoDebitRenewalPromptListener listener) { + public void setListener(GenericDialogPromptListener listener) { this.listener = listener; } @@ -91,6 +107,10 @@ public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogF this.negativeBtnString=string; } + public void setIconsRes(int iconsRes) { + this.iconsRes = iconsRes; + } + @Override public void onStart() { super.onStart(); @@ -129,17 +149,19 @@ public class AutoDebitRenewalPromptDialog extends android.support.v4.app.DialogF switch(v.getId()) { case R.id.btnRenew: + dismiss(); if(listener!=null) listener.onPositiveBtnPressed(); break; case R.id.btnLater: + dismiss(); if(listener!=null) listener.onNegativeBtnPressed(); break; } } - public interface AutoDebitRenewalPromptListener + public interface GenericDialogPromptListener { void onNegativeBtnPressed(); void onPositiveBtnPressed(); 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 0247ab04..4a061388 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 @@ -24,7 +24,7 @@ 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.LockableScrollView; -import com.gmeremit.online.gmeremittance_native.customwidgets.autodebitaccrenewdialog.AutoDebitRenewalPromptDialog; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericPromptDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.kjnoticedialog.KJNoticeDialog; import com.gmeremit.online.gmeremittance_native.homeV2.HomeParentViewContractV2; import com.gmeremit.online.gmeremittance_native.homeV2.adapters.HomeMenuRvAdapterV2; @@ -327,6 +327,7 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. showNotificationView(homeViewRelatedDTOV2.getHomeNotificationViewDTO()); }); + } @Override @@ -458,14 +459,16 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. private void showAutoDebitNoticeViewIfRequiredInPopup(boolean shouldShowAutoDebitNotice, String autoDebitNoticeTitle, String autoDebitNoticeBody, Runnable task) { if (shouldShowAutoDebitNotice) { - AutoDebitRenewalPromptDialog autoDebitRenewalPromptDialog = new AutoDebitRenewalPromptDialog(); + GenericPromptDialog autoDebitRenewalPromptDialog = new GenericPromptDialog(); autoDebitRenewalPromptDialog.setBodyMessage(autoDebitNoticeBody); autoDebitRenewalPromptDialog.setCancellable(false); + autoDebitRenewalPromptDialog.setIconsRes(R.drawable.ic_auto_debit_renew); + autoDebitRenewalPromptDialog.setPositiveBtnString(getString(R.string.renewal_text)); + autoDebitRenewalPromptDialog.setNegativeBtnString(getString(R.string.later_text)); autoDebitRenewalPromptDialog.setTitleMessage(autoDebitNoticeTitle); - autoDebitRenewalPromptDialog.setListener(new AutoDebitRenewalPromptDialog.AutoDebitRenewalPromptListener() { + autoDebitRenewalPromptDialog.setListener(new GenericPromptDialog.GenericDialogPromptListener() { @Override public void onNegativeBtnPressed() { - autoDebitRenewalPromptDialog.dismiss(); ((HomeParentViewContractV2) getActivity()).getPresenter().donotPromptAutoDebitRenewalForThisSession(); if (task != null) new Handler().postDelayed(task, 200); @@ -473,7 +476,6 @@ public class HomeFragmentV2 extends BaseFragment implements HomeMenuRvAdapterV2. @Override public void onPositiveBtnPressed() { - autoDebitRenewalPromptDialog.dismiss(); ((HomeParentViewContractV2) getActivity()).getPresenter().donotPromptAutoDebitRenewalForThisSession(); ((HomeParentViewContractV2) getActivity()).showAutoDebitListingView(); diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3Presenter.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3Presenter.java index 3d6e2d20..e21643de 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3Presenter.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3Presenter.java @@ -4,6 +4,7 @@ import com.gmeremit.online.gmeremittance_native.R; import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount; import com.gmeremit.online.gmeremittance_native.base.BasePresenter; import com.gmeremit.online.gmeremittance_native.customwidgets.CustomAlertDialog; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericPromptDialog; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.RecipientRelatedDataModelV3; import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyRequiredDataV3; @@ -91,8 +92,23 @@ public class RecipientListingV3Presenter extends BasePresenter implements Recipi @Override public void saveSelectedRecipientInfomation(ReceiverInfoV3Model recipientInfoModel) { - this.selectedRecipientInfoModel = recipientInfoModel; - this.view.showPaymentSourceSelection(availablePaymentSources); + if (recipientInfoModel.getPaymentMethod() == null) { + view.promptToEditRecipient(new GenericPromptDialog.GenericDialogPromptListener() { + + @Override + public void onNegativeBtnPressed() { + + } + + @Override + public void onPositiveBtnPressed() { + view.proceedToEditRecipient(recipientInfoModel); + } + }); + } else { + this.selectedRecipientInfoModel = recipientInfoModel; + this.view.showPaymentSourceSelection(availablePaymentSources); + } } private void searchReceiverById(String reciverId) { @@ -100,7 +116,17 @@ public class RecipientListingV3Presenter extends BasePresenter implements Recipi for (ReceiverInfoV3Model receiverInfoV3Model : availableRecipientList) { if (reciverId.equalsIgnoreCase(receiverInfoV3Model.getReceiverId())) { selectedRecipientInfoModel = receiverInfoV3Model; - view.showPaymentSourceSelection(availablePaymentSources); + view.promptToSendMoney(new GenericPromptDialog.GenericDialogPromptListener() { + @Override + public void onNegativeBtnPressed() { + + } + + @Override + public void onPositiveBtnPressed() { + view.showPaymentSourceSelection(availablePaymentSources); + } + }); return; } } @@ -108,7 +134,7 @@ public class RecipientListingV3Presenter extends BasePresenter implements Recipi @Override public void onRecipentUpdatedSucesss(String receiverId) { - getAllRecipientList(()->searchReceiverById(receiverId)); + getAllRecipientList(() -> searchReceiverById(receiverId)); } public class RecipientListingV3Observer extends GenericApiObserverResponseV2 { diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java index b71ac291..62f7a2ae 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java @@ -1,10 +1,9 @@ package com.gmeremit.online.gmeremittance_native.recipientV3.presenter.recipientlistingV3; -import android.os.Parcelable; - import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount; import com.gmeremit.online.gmeremittance_native.base.BaseContractInterface; import com.gmeremit.online.gmeremittance_native.base.BasePresenterInterface; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericPromptDialog; import com.gmeremit.online.gmeremittance_native.recipientV3.model.recipientlistingV3.ReceiverInfoV3Model; import com.gmeremit.online.gmeremittance_native.sendmoneyV2.model.SendMoneyRequiredDataV3; @@ -38,5 +37,11 @@ public interface RecipientListingV3PresenterInterface extends BasePresenterInter void showPaymentSourceSelection(List autoDebitAccountList); void showNoRecipientFoundView(boolean action); + + void promptToSendMoney(GenericPromptDialog.GenericDialogPromptListener listener); + + void proceedToEditRecipient(ReceiverInfoV3Model recipientInfoModel); + + void promptToEditRecipient(GenericPromptDialog.GenericDialogPromptListener genericDialogPromptListener); } } diff --git a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java index cbfc1e4d..5a579fdc 100644 --- a/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java +++ b/app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java @@ -18,6 +18,7 @@ import com.gmeremit.online.gmeremittance_native.autodebitV2.adapter.autodebitacc import com.gmeremit.online.gmeremittance_native.autodebitV2.model.autodebitaccountlisting.AutoDebitAccount; import com.gmeremit.online.gmeremittance_native.autodebitV2.view.autodebitaccountlisting.AutoDebitAccountListingDialog; import com.gmeremit.online.gmeremittance_native.base.BaseActivity; +import com.gmeremit.online.gmeremittance_native.customwidgets.GenericPromptDialog; import com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView; import com.gmeremit.online.gmeremittance_native.customwidgets.TextWatcherAdapter; import com.gmeremit.online.gmeremittance_native.recipientV2.view.recipientadd.RecipientAddV2Activity; @@ -188,10 +189,39 @@ public class RecipientListingV3Activity extends BaseActivity implements Recipien } @Override - public void onRecipientSelected(ReceiverInfoV3Model recipientInfoModel) { - this.presenter.saveSelectedRecipientInfomation(recipientInfoModel); + public void promptToSendMoney(GenericPromptDialog.GenericDialogPromptListener listener) { + GenericPromptDialog genericPromptDialog=new GenericPromptDialog(); + genericPromptDialog.setTitleMessage(getString(R.string.important_text)); + genericPromptDialog.setBodyMessage("Do you want to proceed to send money?"); + genericPromptDialog.setIconsRes(-1); + genericPromptDialog.setCancellable(true); + genericPromptDialog.setListener(listener); + if (!genericPromptDialog.isAdded()) + genericPromptDialog.show(getSupportFragmentManager(), "PROMPTSENDMONEY"); + } + @Override + public void proceedToEditRecipient(ReceiverInfoV3Model recipientInfoModel) { + Intent intent = new Intent(getApplicationContext(), RecipientAddEditV3Activity.class); + intent.putExtra(RecipientAddEditV3Activity.RECIPIENT_INFO_BUNDLE_KEY, recipientInfoModel); + startActivityForResult(intent, RecipientAddEditV3Activity.RECIPIENT_INFO_ACTION_EDIT_REQUEST_CODE); + } + @Override + public void promptToEditRecipient(GenericPromptDialog.GenericDialogPromptListener genericDialogPromptListener) { + GenericPromptDialog genericPromptDialog=new GenericPromptDialog(); + genericPromptDialog.setTitleMessage(getString(R.string.important_text)); + genericPromptDialog.setBodyMessage("Please update recipient information before proceeding to send money."); + genericPromptDialog.setIconsRes(-1); + genericPromptDialog.setCancellable(true); + genericPromptDialog.setListener(genericDialogPromptListener); + if (!genericPromptDialog.isAdded()) + genericPromptDialog.show(getSupportFragmentManager(), "RECIPIENTEDITPROMPT"); + } + + @Override + public void onRecipientSelected(ReceiverInfoV3Model recipientInfoModel) { + this.presenter.saveSelectedRecipientInfomation(recipientInfoModel); } @@ -206,9 +236,7 @@ public class RecipientListingV3Activity extends BaseActivity implements Recipien if (i == 0) { presenter.deleteRecipient(recipientInfoModel.getReceiverId()); } else { - Intent intent = new Intent(getApplicationContext(), RecipientAddEditV3Activity.class); - intent.putExtra(RecipientAddEditV3Activity.RECIPIENT_INFO_BUNDLE_KEY, recipientInfoModel); - startActivityForResult(intent, RecipientAddEditV3Activity.RECIPIENT_INFO_ACTION_EDIT_REQUEST_CODE); + proceedToEditRecipient(recipientInfoModel); } } }); diff --git a/app/src/main/res/layout/dialog_auto_debit_renew_prompt.xml b/app/src/main/res/layout/dialog_generic_prompt.xml similarity index 95% rename from app/src/main/res/layout/dialog_auto_debit_renew_prompt.xml rename to app/src/main/res/layout/dialog_generic_prompt.xml index 516ff4f9..fbc5bfed 100644 --- a/app/src/main/res/layout/dialog_auto_debit_renew_prompt.xml +++ b/app/src/main/res/layout/dialog_generic_prompt.xml @@ -9,7 +9,7 @@ android:paddingTop="28dp">