diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt index ec237de..3ee8408 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt @@ -1,4 +1,4 @@ -package com.nivesh.production .bajajfd.adapter +package com.nivesh.production .bajajfd.adapter import android.view.LayoutInflater import android.view.View @@ -12,8 +12,9 @@ import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.model.GetCodes class PaymentModeAdapter( - private val listOfPayMode: List?, - private val selectedAmount: String? = null + private val listOfPayMode: MutableList, + + private var selectedAmount: String? = null ) : RecyclerView.Adapter() { inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val paymentSelector: ImageView = itemView.findViewById(R.id.paymentSelector) @@ -44,23 +45,16 @@ class PaymentModeAdapter( holder.itemView.apply { holder.paymentMethod.text = listOfPayMode.Value - if((selectedAmount!!.toDouble()) >= 100000.0 && listOfPayMode.Value == "UPI") - { - holder.cardView.visibility =View.GONE - } - - Toast.makeText(context,"val $selectedAmount",Toast.LENGTH_SHORT).show() - - if (listOfPayMode.Value.equals("UPI")){ holder.tvUpiMsg.text = context.getString(R.string.upto1LakhOnly) }else{ holder.tvUpiMsg.text = "" } - - - if (checkedPosition == -1) { + if (selectedAmount !=null && (checkedPosition == -2)) { + holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green) + checkedPosition = holder.adapterPosition + } else if (checkedPosition == -1) { holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_outline) } else if (checkedPosition == holder.adapterPosition) { holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green) @@ -96,4 +90,11 @@ class PaymentModeAdapter( } else null } + + private fun removeItem(position: Int) { + listOfPayMode?.removeAt(position) + notifyItemRemoved(position) + listOfPayMode?.let { notifyItemRangeChanged(position, it.size) } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 93146de..bbd4663 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -12,7 +12,9 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.RadioButton +import android.widget.Toast import androidx.fragment.app.Fragment +import androidx.fragment.app.activityViewModels import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.get import androidx.recyclerview.widget.DefaultItemAnimator @@ -45,7 +47,8 @@ class StepOneBajajFDFragment : Fragment() { private var tenure: Int = 0 private var interest: Double = 0.0 - private lateinit var observerViewModel: MyObseravble + private val observerViewModel: MyObseravble by activityViewModels() + override fun onCreateView( @@ -118,11 +121,6 @@ class StepOneBajajFDFragment : Fragment() { } - observerViewModel = activity?.run { - ViewModelProvider(this)[MyObseravble::class.java] - - } ?: throw Exception("Invalid Activity") - // Next Button @@ -130,6 +128,8 @@ class StepOneBajajFDFragment : Fragment() { if (validation()) { (activity as BajajFdMainActivity).fdInvestmentDetails.FDAmount = binding.edtAmount.text.toString().toDouble() observerViewModel.data.value = binding.edtAmount.text.toString() + + (activity as BajajFdMainActivity).fdInvestmentDetails.Frequency = binding.spInterestPayout.text.toString() (activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index b0ca9e2..5a106f1 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -18,7 +18,7 @@ import android.widget.RadioButton import android.widget.TextView import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment -import androidx.lifecycle.ViewModelProvider +import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -72,10 +72,9 @@ class StepTwoBajajFDFragment : Fragment() { private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton - private lateinit var observerViewModel: MyObseravble - private var amountEntered:String="0" + private val observerViewModel: MyObseravble by activityViewModels() private var cal = Calendar.getInstance() @@ -101,17 +100,6 @@ class StepTwoBajajFDFragment : Fragment() { stateObject = DataObject() rbPaymentMode = RadioButton(activity as BajajFdMainActivity) - observerViewModel = activity?.run { - ViewModelProvider(this)[MyObseravble::class.java] - - } ?: throw Exception("Invalid Activity") - - - observerViewModel.data.observe(viewLifecycleOwner) { - amountEntered = observerViewModel.data.value.toString() - } - - // Personal Details binding.edtMobileNumber.filters = arrayOf(LengthFilter(10)) binding.edtPANNumber.filters = arrayOf(LengthFilter(10)) @@ -1228,7 +1216,7 @@ class StepTwoBajajFDFragment : Fragment() { 200 -> { if (getCodeResponse.Response.GetCodesList.isNotEmpty()) { listOfPayMode = getCodeResponse.Response.GetCodesList - setUpRecyclerViewPaymentMode(listOfPayMode) + setUpRecyclerViewPaymentMode(listOfPayMode as MutableList) } } // 650 -> refreshToken() @@ -1257,15 +1245,54 @@ class StepTwoBajajFDFragment : Fragment() { } } - private fun setUpRecyclerViewPaymentMode(listOfPayMode: List) { + private fun setUpRecyclerViewPaymentMode(listOfPayMode: MutableList) { + + var tempList= mutableListOf() + + observerViewModel.data.observe(viewLifecycleOwner) { + var amountEntered:String = observerViewModel.data.value.toString() + + if( amountEntered.toDouble()>100000.0) + { + + val myCollection = mutableListOf() + val iterator = myCollection.iterator() + while(iterator.hasNext()){ + val item = iterator.next() + if(item.Value == "UPI"){ + iterator.remove() + }else + { + tempList=myCollection + } + + } + }else{ + + tempList=listOfPayMode + } + + + + + + + binding.rvPaymentMode.layoutManager = + GridLayoutManager(activity as BajajFdMainActivity, 2) + paymentModeAdapter = PaymentModeAdapter( + tempList, + amountEntered + + ) + binding.rvPaymentMode.adapter = paymentModeAdapter + + + } + + + + - binding.rvPaymentMode.layoutManager = - GridLayoutManager(activity as BajajFdMainActivity, 2) - paymentModeAdapter = PaymentModeAdapter( - listOfPayMode, - amountEntered - ) - binding.rvPaymentMode.adapter = paymentModeAdapter } private fun genderApi() {