Browse Source

Prompt added on recipient listing screen

master
Preyea Regmi 5 years ago
parent
commit
3239248a8f
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 18
      app/src/main/java/com/gmeremit/online/gmeremittance_native/autodebitV2/view/autodebitaccountlisting/AutoDebitAccountListingV2Activity.java
  3. 38
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/GenericPromptDialog.java
  4. 12
      app/src/main/java/com/gmeremit/online/gmeremittance_native/homeV2/view/HomeFragmentV2.java
  5. 34
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3Presenter.java
  6. 9
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/presenter/recipientlistingV3/RecipientListingV3PresenterInterface.java
  7. 38
      app/src/main/java/com/gmeremit/online/gmeremittance_native/recipientV3/view/recipientlistingV3/RecipientListingV3Activity.java
  8. 6
      app/src/main/res/layout/dialog_generic_prompt.xml

BIN
.idea/caches/build_file_checksums.ser

18
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();

38
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/autodebitaccrenewdialog/AutoDebitRenewalPromptDialog.java → 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();

12
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();

34
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<RecipientRelatedDataModelV3> {

9
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<AutoDebitAccount> autoDebitAccountList);
void showNoRecipientFoundView(boolean action);
void promptToSendMoney(GenericPromptDialog.GenericDialogPromptListener listener);
void proceedToEditRecipient(ReceiverInfoV3Model recipientInfoModel);
void promptToEditRecipient(GenericPromptDialog.GenericDialogPromptListener genericDialogPromptListener);
}
}

38
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);
}
}
});

6
app/src/main/res/layout/dialog_auto_debit_renew_prompt.xml → app/src/main/res/layout/dialog_generic_prompt.xml

@ -9,7 +9,7 @@
android:paddingTop="28dp">
<ImageView
android:id="@+id/fingerprintScannerImgView"
android:id="@+id/iconView"
android:layout_width="64dp"
android:layout_height="64dp"
app:srcCompat="@drawable/ic_auto_debit_renew"
@ -59,7 +59,7 @@
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/later_text"
android:text="@string/cancel_text"
android:textColor="@color/cs_red"
android:textSize="@dimen/_15ssp" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
@ -70,7 +70,7 @@
android:paddingBottom="17dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/renewal_text"
android:text="@string/ok_text"
android:textColor="@color/cs_red"
android:textSize="@dimen/_15ssp" />
</LinearLayout>
Loading…
Cancel
Save