diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt index 28ed6d5..54d73c4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt @@ -39,6 +39,7 @@ class BankListAdapter( override fun onBindViewHolder(holder: BankListViewHolder, position: Int) { val bankList = bankList?.get(position) if (bankList != null) { + holder.itemView.apply { holder.tvBankName.text = bankList.BankName holder.tvBankIFSC.text = bankList.IFSCCode 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 bde88fd..ec237de 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,22 +1,25 @@ -package com.nivesh.production.bajajfd.adapter +package com.nivesh.production .bajajfd.adapter import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView +import android.widget.Toast +import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.model.GetCodes class PaymentModeAdapter( - private val bankList: List?, - private val selectedAccount: String? = null + private val listOfPayMode: List?, + private val selectedAmount: String? = null ) : RecyclerView.Adapter() { inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { - val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector) - val tvBankName: TextView = itemView.findViewById(R.id.tvBankName) + val paymentSelector: ImageView = itemView.findViewById(R.id.paymentSelector) + val paymentMethod: TextView = itemView.findViewById(R.id.paymentMethod) val tvUpiMsg: TextView = itemView.findViewById(R.id.tvUpiMsg) + val cardView:CardView=itemView.findViewById(R.id.cardView) } private var checkedPosition: Int = -2 @@ -36,38 +39,40 @@ class PaymentModeAdapter( } override fun onBindViewHolder(holder: BankListViewHolder, position: Int) { - val bankList = bankList?.get(position) - if (bankList != null) { + val listOfPayMode = listOfPayMode?.get(position) + if (listOfPayMode != null) { holder.itemView.apply { - holder.tvBankName.text = bankList.Value - if (bankList.Value.equals("UPI")){ + + 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 (selectedAccount == bankList.Value && checkedPosition == -2 - ) { - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) - checkedPosition = holder.adapterPosition - } else if (checkedPosition == -1) { - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline) + + + if (checkedPosition == -1) { + holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_outline) } else if (checkedPosition == holder.adapterPosition) { - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) + holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green) } else { - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline) + holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_outline) } - setOnClickListener { - onItemClickListener?.let { - it(bankList) - - holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green) - if (checkedPosition != holder.adapterPosition) { - notifyItemChanged(checkedPosition) - checkedPosition = holder.adapterPosition - - } + holder.itemView.setOnClickListener { + holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green) + if (checkedPosition != holder.adapterPosition) { + notifyItemChanged(checkedPosition) + checkedPosition = holder.adapterPosition } } } @@ -75,7 +80,7 @@ class PaymentModeAdapter( } override fun getItemCount(): Int { - return bankList?.size!! + return listOfPayMode?.size!! } private var onItemClickListener: ((GetCodes) -> Unit)? = null @@ -87,7 +92,7 @@ class PaymentModeAdapter( fun getSelected(): GetCodes? { return if (checkedPosition != -1) { - bankList?.get(checkedPosition) + listOfPayMode?.get(checkedPosition) } else null } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index af72da5..16cb88e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -7,6 +7,7 @@ import android.view.View import android.view.ViewGroup import androidx.core.content.res.ResourcesCompat import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.google.gson.Gson import com.nivesh.production.bajajfd.R @@ -18,6 +19,7 @@ import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource +import com.nivesh.production.bajajfd.viewModel.MyObseravble class StepFourBajajFDFragment : Fragment() { @@ -93,6 +95,10 @@ class StepFourBajajFDFragment : Fragment() { } } + + + + binding.btnBack.setOnClickListener { (activity as BajajFdMainActivity).binding.viewPager.currentItem = 2 } 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 c5700bb..93146de 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 @@ -13,6 +13,8 @@ import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.RadioButton import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.get import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView.LayoutManager @@ -27,6 +29,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource +import com.nivesh.production.bajajfd.viewModel.MyObseravble class StepOneBajajFDFragment : Fragment() { @@ -42,6 +45,8 @@ class StepOneBajajFDFragment : Fragment() { private var tenure: Int = 0 private var interest: Double = 0.0 + private lateinit var observerViewModel: MyObseravble + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -112,11 +117,19 @@ class StepOneBajajFDFragment : Fragment() { Log.e("Maturity", "-->" + rgMaturity.text) } + + observerViewModel = activity?.run { + ViewModelProvider(this)[MyObseravble::class.java] + + } ?: throw Exception("Invalid Activity") + + + // Next Button binding.btnNext.setOnClickListener { if (validation()) { - (activity as BajajFdMainActivity).fdInvestmentDetails.FDAmount = - binding.edtAmount.text.toString().toDouble() + (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 f207ee2..78b01b2 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,6 +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.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -43,6 +44,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource +import com.nivesh.production.bajajfd.viewModel.MyObseravble import java.util.* @@ -69,6 +71,10 @@ class StepTwoBajajFDFragment : Fragment() { private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton + private lateinit var observerViewModel: MyObseravble + private var amountEntered:String="0" + + private var cal = Calendar.getInstance() @@ -94,6 +100,17 @@ 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)) @@ -1243,7 +1260,7 @@ class StepTwoBajajFDFragment : Fragment() { GridLayoutManager(activity as BajajFdMainActivity, 2) paymentModeAdapter = PaymentModeAdapter( listOfPayMode, - listOfPayMode[0].Value + amountEntered ) binding.rvPaymentMode.adapter = paymentModeAdapter } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/MyObseravble.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/MyObseravble.kt new file mode 100644 index 0000000..e847eeb --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/MyObseravble.kt @@ -0,0 +1,12 @@ +package com.nivesh.production.bajajfd.viewModel + +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.ViewModel + +open class MyObseravble : ViewModel() +{ + val data = MutableLiveData() + fun data(item: String) { + data.value = item + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/item_payment_list_preview.xml b/app/src/main/res/layout/item_payment_list_preview.xml index a43261e..0f596c6 100644 --- a/app/src/main/res/layout/item_payment_list_preview.xml +++ b/app/src/main/res/layout/item_payment_list_preview.xml @@ -8,7 +8,8 @@ app:cardElevation="2dp" app:cardMaxElevation="1dp" app:cardPreventCornerOverlap="true" - app:cardUseCompatPadding="true"> + app:cardUseCompatPadding="true" + android:id="@+id/cardView"> Payment Mode UPI NetBanking - Upto Rs. 1 Lakh Only + Upto Rs. 1 lakh only for UPI Eligible Bank Option PaymentMode CustomerCategory