diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml index cd5095ba..68a59654 100644 --- a/.idea/assetWizardSettings.xml +++ b/.idea/assetWizardSettings.xml @@ -307,7 +307,7 @@ @@ -317,8 +317,7 @@ diff --git a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt index cff19488..d7443b20 100644 --- a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt +++ b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/BeneficiaryDetailActivity.kt @@ -5,24 +5,32 @@ import android.os.Bundle import android.view.View import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager +import com.remit.jmecustomer.R import com.remit.jmecustomer.base.BaseActivity +import com.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog +import com.remit.jmecustomer.common.customwidgets.common.GenericPromptDialog.GenericDialogPromptListener import com.remit.jmecustomer.databinding.ActivityBeneficiaryDetailBinding import com.remit.jmecustomer.features.beneficiaryDetail.adapters.SendMethodAdapter import com.remit.jmecustomer.features.recipientlisting.view.recipientaddedit.RecipientAddEditActivity +import com.remit.jmecustomer.features.recipientmanagement.gateway.recipientlistingV3.RecipientListingV3Gateway import com.remit.jmecustomer.features.recipientmanagement.model.recipientModelV5.Receiver import com.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.PaymentMethodV3Model import com.remit.jmecustomer.features.recipientmanagement.model.recipientlistingV3.ReceiverInfoV3Model +import com.remit.jmecustomer.features.recipientmanagement.presenter.recipientlistingV3.RecipientListingV3Presenter +import com.remit.jmecustomer.features.recipientmanagement.presenter.recipientlistingV3.RecipientListingV3PresenterInterface import com.remit.jmecustomer.features.recipientmanagement.view.recipientaddeditV3.RecipientAddEditV3Activity import com.remit.jmecustomer.features.sendmoney.model.SendMoneyRequiredDataV3 import com.remit.jmecustomer.features.sendmoney.view.SendMoneyV2Activity -class BeneficiaryDetailActivity : BaseActivity() { +class BeneficiaryDetailActivity : BaseActivity(), + RecipientListingV3PresenterInterface.RecipientListingV3ContractInterface { private lateinit var binding: ActivityBeneficiaryDetailBinding private var sendMethodAdapter: SendMethodAdapter? = null private var receiverInfoModel: ReceiverInfoV3Model? = null private var receiver: Receiver? = null - var isPaymentSelected: Boolean = false; + var isPaymentSelected: Boolean = false + var presenter: RecipientListingV3PresenterInterface? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -37,7 +45,7 @@ class BeneficiaryDetailActivity : BaseActivity() { } private fun init() { - + presenter = RecipientListingV3Presenter(this, RecipientListingV3Gateway()) val layoutManagerVertical = LinearLayoutManager(this) binding.rvPayType.layoutManager = layoutManagerVertical receiverInfoModel = ReceiverInfoV3Model() @@ -52,6 +60,10 @@ class BeneficiaryDetailActivity : BaseActivity() { receiverInfoModel?.agent = paymentMethodV3Model.agent } + override fun onItemDelete(paymentMethodV3Model: PaymentMethodV3Model) { + showBeneficiaryDeleteConfirmDialog(paymentMethodV3Model.receiverId) + } + }) receiverInfoModel?.firstName = receiver?.firstName receiverInfoModel?.middleName = receiver?.middleName @@ -136,4 +148,61 @@ class BeneficiaryDetailActivity : BaseActivity() { } return initials } + + override fun showAllRecipientToUser( + recipientInfoModelList: MutableList?, + changeLayoutBehavior: Boolean + ) { + } + + override fun onRecipientDeletedSuccessfully(recipientToBeDeleted: String?) { + finish() + } + + override fun showEmailCodePromptDialog() { + } + + override fun showNoRecipientFoundView(action: Boolean) { + } + + override fun promptToSendMoney( + listener: GenericPromptDialog.GenericDialogPromptListener?, + message: String? + ) { + } + + override fun redirectToSendMoney(sendMoneyRequiredDataV3: SendMoneyRequiredDataV3?) { + } + + override fun proceedToEditRecipient(recipientInfoModel: ReceiverInfoV3Model?) { + } + + override fun proceedToShowTermsConditions(recipientInfoModel: ReceiverInfoV3Model?) { + } + + override fun promptToEditRecipient( + genericDialogPromptListener: GenericPromptDialog.GenericDialogPromptListener?, + message: String? + ) { + } + + private fun showBeneficiaryDeleteConfirmDialog(receiverId: String) { + val genericPromptDialog = GenericPromptDialog() + genericPromptDialog.setTitleMessage(getString(R.string.delete_beneficiary_title_text)) + genericPromptDialog.setBodyMessage(getString(R.string.delete_beneficiary_confirmation_text)) + genericPromptDialog.setIconsRes(-1) + genericPromptDialog.setCancellable(true) + genericPromptDialog.setPositiveBtnString(getString(R.string.yes_text)) + genericPromptDialog.setNegativeBtnString(getString(R.string.no_text)) + genericPromptDialog.setListener(object : GenericDialogPromptListener { + override fun onNegativeBtnPressed() {} + override fun onPositiveBtnPressed() { + presenter?.deleteRecipient(receiverId); + } + }) + if (!genericPromptDialog.isAdded) genericPromptDialog.show( + supportFragmentManager, + "DELETEBENEFICIARY" + ) + } } \ No newline at end of file diff --git a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/adapters/SendMethodAdapter.kt b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/adapters/SendMethodAdapter.kt index 7443462d..36f0bc6f 100644 --- a/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/adapters/SendMethodAdapter.kt +++ b/app/src/main/java/com/remit/jmecustomer/features/beneficiaryDetail/adapters/SendMethodAdapter.kt @@ -48,6 +48,9 @@ class SendMethodAdapter(private val items: List) : lastPosition = position notifyDataSetChanged() } + holder.bindings.icDelete.setOnClickListener { + itemClickListener?.onItemDelete(item) + } if (item.agent != null) { if (item.agent.branch != null) { holder.bindings.tvBranch.text = "Branch" + ":" + item.agent.branch.name @@ -72,5 +75,6 @@ class SendMethodAdapter(private val items: List) : interface ItemClickListener { fun onItemClicked(paymentMethodV3Model: PaymentMethodV3Model) + fun onItemDelete(paymentMethodV3Model: PaymentMethodV3Model) } } \ No newline at end of file diff --git a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/adapters/RecentTransactionsAdapter.kt b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/adapters/RecentTransactionsAdapter.kt index 17e816b9..fe942dc1 100644 --- a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/adapters/RecentTransactionsAdapter.kt +++ b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/adapters/RecentTransactionsAdapter.kt @@ -1,6 +1,7 @@ package com.remit.jmecustomer.features.myTransfers.adapters import android.content.Context +import android.content.Intent import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -8,6 +9,8 @@ import androidx.recyclerview.widget.RecyclerView import com.remit.jmecustomer.R import com.remit.jmecustomer.databinding.RowRecentTransactionsBinding import com.remit.jmecustomer.features.recipientmanagement.model.recipientModelV5.RecentTransaction +import com.remit.jmecustomer.features.support.view.SupportActivityV2 +import com.remit.jmecustomer.utils.Constants class RecentTransactionsAdapter(private var items: MutableList) : RecyclerView.Adapter() { @@ -47,12 +50,40 @@ class RecentTransactionsAdapter(private var items: MutableList?) { diff --git a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt index edb187c2..85c83855 100644 --- a/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt +++ b/app/src/main/java/com/remit/jmecustomer/features/myTransfers/view/MyTransfersFragment.kt @@ -405,6 +405,8 @@ class MyTransfersFragment : BaseFragment(), for (item in data!!) { if (item.user.lowercase(Locale.getDefault()) .contains(keyWord.lowercase(Locale.getDefault())) + || item.controlNo.lowercase(Locale.getDefault()) + .contains(keyWord.lowercase(Locale.getDefault())) ) { searchedData.add(item) } @@ -522,7 +524,13 @@ class MyTransfersFragment : BaseFragment(), if (binding.dateContainer.getVisibility() != View.VISIBLE) binding.dateContainer.setVisibility( View.VISIBLE ) - presenter!!.getAllRecipientListV5(null, Constants.CURRENT_COUNTRY_ID, startDate, endDate, "5") + presenter!!.getAllRecipientListV5( + null, + Constants.CURRENT_COUNTRY_ID, + startDate, + endDate, + "5" + ) } }) .build() diff --git a/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/presenter/recipientlistingV3/RecipientListingV3Presenter.java b/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/presenter/recipientlistingV3/RecipientListingV3Presenter.java index fd4fd6c6..2df8ceaf 100644 --- a/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/presenter/recipientlistingV3/RecipientListingV3Presenter.java +++ b/app/src/main/java/com/remit/jmecustomer/features/recipientmanagement/presenter/recipientlistingV3/RecipientListingV3Presenter.java @@ -331,6 +331,7 @@ public class RecipientListingV3Presenter extends BasePresenter implements Recipi if (t.getErrorCode().equalsIgnoreCase(Constants.SUCCESS_CODE_V2)) { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.SUCCESS, alertType -> { getAllRecipientList(null); + view.onRecipientDeletedSuccessfully(null); }); } else { view.showPopUpMessage(t.getMsg(), CustomAlertDialog.AlertType.FAILED, null); diff --git a/app/src/main/res/drawable/baseline_delete_24.xml b/app/src/main/res/drawable/baseline_delete_24.xml new file mode 100644 index 00000000..de011dd9 --- /dev/null +++ b/app/src/main/res/drawable/baseline_delete_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/layout/row_send_method.xml b/app/src/main/res/layout/row_send_method.xml index 61688fe6..58bd9fe4 100644 --- a/app/src/main/res/layout/row_send_method.xml +++ b/app/src/main/res/layout/row_send_method.xml @@ -53,7 +53,7 @@ android:textColor="@color/black_opacity_87" style="@style/TextStyle.VolteSemiBold14" app:layout_constraintTop_toTopOf="parent" - android:layout_width="wrap_content" + android:layout_width="@dimen/_200sdp" android:layout_height="wrap_content"/> + + + \ No newline at end of file