|
|
@ -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<GetCodes>?, |
|
|
|
private val selectedAccount: String? = null |
|
|
|
private val listOfPayMode: List<GetCodes>?, |
|
|
|
private val selectedAmount: String? = null |
|
|
|
) : RecyclerView.Adapter<PaymentModeAdapter.BankListViewHolder>() { |
|
|
|
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 |
|
|
|
} |
|
|
|
|