From eccd6467ad88b97da36795b0bb315162e4b0c16a Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Wed, 11 Mar 2020 14:06:40 +0100 Subject: [PATCH] make FCV edittext use binding --- .../ui/views/settings/FixValuesEditText.kt | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt index dca2892c6..fce3e9276 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/views/settings/FixValuesEditText.kt @@ -3,21 +3,22 @@ package com.habitrpg.android.habitica.ui.views.settings import android.content.Context import android.graphics.Bitmap import android.graphics.PorterDuff +import android.util.AttributeSet +import android.widget.FrameLayout import androidx.annotation.ColorRes import androidx.core.content.ContextCompat -import android.util.AttributeSet -import android.view.View -import android.widget.FrameLayout import com.habitrpg.android.habitica.R +import com.habitrpg.android.habitica.databinding.FixvaluesEdittextBinding +import com.habitrpg.android.habitica.extensions.layoutInflater import com.habitrpg.android.habitica.ui.views.HabiticaIconsHelper -import kotlinx.android.synthetic.main.fixvalues_edittext.view.* class FixValuesEditText(context: Context, attrs: AttributeSet) : FrameLayout(context, attrs) { + private val binding: FixvaluesEdittextBinding = FixvaluesEdittextBinding.inflate(context.layoutInflater, this) var text: String - get() = editText?.text.toString() + get() = binding.editText.text.toString() set(value) { - editText?.setText(value) + binding.editText.setText(value) } @ColorRes @@ -27,34 +28,32 @@ class FixValuesEditText(context: Context, attrs: AttributeSet) : FrameLayout(con val backgroundDrawable = ContextCompat.getDrawable(context, R.drawable.layout_rounded_bg) backgroundDrawable?.setColorFilter(field, PorterDuff.Mode.MULTIPLY) backgroundDrawable?.alpha = 50 - iconBackgroundView.background = backgroundDrawable + binding.iconBackgroundView.background = backgroundDrawable } init { - View.inflate(context, R.layout.fixvalues_edittext, this) - val attributes = context.theme.obtainStyledAttributes( attrs, R.styleable.FixValuesEditText, 0, 0) - editText.hint = attributes.getString(R.styleable.FixValuesEditText_title) - editTextWrapper.hint = editText.hint - editTextWrapper.setHintTextAppearance(attributes.getResourceId(R.styleable.FixValuesEditText_hintStyle, R.style.PurpleTextLabel)) + binding.editText.hint = attributes.getString(R.styleable.FixValuesEditText_title) + binding.editTextWrapper.hint = binding.editText.hint + binding.editTextWrapper.setHintTextAppearance(attributes.getResourceId(R.styleable.FixValuesEditText_hintStyle, R.style.PurpleTextLabel)) iconBackgroundColor = attributes.getColor(R.styleable.FixValuesEditText_iconBgColor, 0) val iconName = attributes.getString(R.styleable.FixValuesEditText_fixIconName) when (iconName) { - "health" -> iconView.setImageBitmap(HabiticaIconsHelper.imageOfHeartLightBg()) - "experience" -> iconView.setImageBitmap(HabiticaIconsHelper.imageOfExperience()) - "mana" -> iconView.setImageBitmap(HabiticaIconsHelper.imageOfMagic()) - "gold" -> iconView.setImageBitmap(HabiticaIconsHelper.imageOfGold()) - "level" -> iconView.setImageBitmap(HabiticaIconsHelper.imageOfRogueLightBg()) - "streak" -> iconView.setImageResource(R.drawable.achievement_thermometer) + "health" -> binding.iconView.setImageBitmap(HabiticaIconsHelper.imageOfHeartLightBg()) + "experience" -> binding.iconView.setImageBitmap(HabiticaIconsHelper.imageOfExperience()) + "mana" -> binding.iconView.setImageBitmap(HabiticaIconsHelper.imageOfMagic()) + "gold" -> binding.iconView.setImageBitmap(HabiticaIconsHelper.imageOfGold()) + "level" -> binding.iconView.setImageBitmap(HabiticaIconsHelper.imageOfRogueLightBg()) + "streak" -> binding.iconView.setImageResource(R.drawable.achievement_thermometer) } } fun setIconBitmap(icon: Bitmap) { - iconView.setImageBitmap(icon) + binding.iconView.setImageBitmap(icon) } }