common class for binding adapters

package com.market_place.toolBarUtil import android.annotation.SuppressLint import android.text.TextWatcher import android.util.Log import android.widget.* import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SwitchCompat import androidx.cardview.widget.CardView import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import androidx.databinding.BindingAdapter import androidx.databinding.ObservableBoolean import com.google.android.material.textfield.TextInputEditText import com.market_place.car_products.R import java.util.* object BindingAdapters { @BindingAdapter(value = ["switchListener"], requireAll = false ) @JvmStatic fun switchListener(switch: SwitchCompat, listener: CompoundButton.OnCheckedChangeListener) { switch.setOnCheckedChangeListener(listener) } @BindingAdapter(value = ["setEditWatcher"], requireAll = false) @JvmStatic fun setEditWatcher(editText: EditText, textWatcher: TextWatcher) { editText.addTextChangedListener(textWatcher) } @BindingAdapter(value = ["setBackgroundColorEdit"], requireAll = false) @JvmStatic fun setBackgroundColorEdit(editText: EditText, value: ObservableBoolean) { if (value.get()) { editText.setTextColor(ContextCompat.getColor(editText.context, R.color.brightRed)) } else { editText.setTextColor(ContextCompat.getColor(editText.context, R.color.black)) } } @BindingAdapter(value = ["setSearch"], requireAll = false) @JvmStatic fun setSearch(searchView: SearchView, onQueryTextListener: SearchView.OnQueryTextListener) { searchView.setOnQueryTextListener(onQueryTextListener) } @BindingAdapter(value = ["setTextWatcher"], requireAll = false) @JvmStatic fun setTextWatcher(textInputEditText: TextInputEditText, textWatcher: TextWatcher) { textInputEditText.addTextChangedListener(textWatcher) } @BindingAdapter(value = ["setBackgroundLinear"], requireAll = false) @JvmStatic fun setBackgroundLinear(linearLayout: LinearLayout, value: Boolean) { Log.e("checkBackgroundLinear==","${value}") if (value) { linearLayout.setBackgroundResource(R.drawable.transaction_purple) } else { linearLayout.setBackgroundResource(R.drawable.white_circle_background) } } @SuppressLint("ResourceAsColor") @BindingAdapter(value = ["setBackgroundRelative"], requireAll = false) @JvmStatic fun setBackgroundRelative(cardView: CardView,value:String) { Log.e("CheckColor==",value) if (value.equals("blue")) { Log.e("Redd","redd") cardView.setBackgroundResource(R.drawable.gradient) } if (value.equals("grey")){ Log.e("greeyy","greyy") cardView.setBackgroundResource(R.drawable.gradeint1) } if (value.equals("purple")){ Log.e("purple","purplee") cardView.setBackgroundResource(R.drawable.gradient2) } } @BindingAdapter(value = ["setBackgroundConstraint"], requireAll = false) @JvmStatic fun setBackgroundConstraint(constraintLayout: ConstraintLayout, value: Boolean) { Log.e("checkBackgroundLinear==","${value}") if (value) { constraintLayout.setBackgroundResource(R.drawable.transaction_purple) } else { constraintLayout.setBackgroundResource(R.drawable.white_circle_background) } } @SuppressLint("ResourceAsColor") @BindingAdapter(value = ["setBackgroundCardView"],requireAll = false) @JvmStatic fun setBackgroundCardView(cardView: CardView,value: Boolean){ if (value){ cardView.setBackgroundResource(R.drawable.transaction_purple) } else{ cardView.setBackgroundResource(R.drawable.white_circle_background) } } @BindingAdapter(value = ["setBackgroundImage"], requireAll = false) @JvmStatic fun setBackgroundImage(imageView: ImageView, value: Boolean) { if (!value) { imageView.setColorFilter(ContextCompat.getColor(imageView.context,R.color.purple_500), android.graphics.PorterDuff.Mode.MULTIPLY); } else { imageView.setColorFilter(ContextCompat.getColor(imageView.context,R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY); } } @BindingAdapter(value = ["setBackgroundText"], requireAll = false) @JvmStatic fun setBackgroundText(textView: TextView, value: Boolean) { if (!value) { textView.setTextColor(ContextCompat.getColor(textView.context,R.color.purple_500)) } else { textView.setTextColor(ContextCompat.getColor(textView.context,R.color.white)) } } @BindingAdapter(value = ["setDateChangeListener"], requireAll = false) @JvmStatic fun setDateChangeListener(calendarView: CalendarView,onDateChangeListener: CalendarView.OnDateChangeListener) { calendarView.setOnDateChangeListener(onDateChangeListener) calendarView.minDate = Date().time } }

Comments