From 1a7ad4fd6897ce60e536e564c6e390c6a1dad4af Mon Sep 17 00:00:00 2001 From: faisalcodes Date: Thu, 2 Feb 2023 20:05:44 +0530 Subject: [PATCH] Minor clean --- .../ui/adapters/BottomSheetAdapter.kt | 15 ++-------- .../libretube/ui/extensions/SetDrawables.kt | 29 +++++++++++++++++++ .../libretube/ui/views/DrawableTextView.kt | 5 +++- app/src/main/res/layout/bottom_sheet_item.xml | 1 - 4 files changed, 36 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/com/github/libretube/ui/extensions/SetDrawables.kt diff --git a/app/src/main/java/com/github/libretube/ui/adapters/BottomSheetAdapter.kt b/app/src/main/java/com/github/libretube/ui/adapters/BottomSheetAdapter.kt index 917f4c241..b58462ce4 100644 --- a/app/src/main/java/com/github/libretube/ui/adapters/BottomSheetAdapter.kt +++ b/app/src/main/java/com/github/libretube/ui/adapters/BottomSheetAdapter.kt @@ -2,10 +2,10 @@ package com.github.libretube.ui.adapters import android.view.LayoutInflater import android.view.ViewGroup -import androidx.appcompat.content.res.AppCompatResources import androidx.recyclerview.widget.RecyclerView import com.github.libretube.databinding.BottomSheetItemBinding import com.github.libretube.obj.BottomSheetItem +import com.github.libretube.ui.extensions.setDrawables import com.github.libretube.ui.viewholders.BottomSheetViewHolder class BottomSheetAdapter( @@ -23,19 +23,10 @@ class BottomSheetAdapter( override fun onBindViewHolder(holder: BottomSheetViewHolder, position: Int) { val item = items[position] - holder.binding.sheetItem.apply { + holder.binding.root.apply { val current = item.getCurrent() text = if (current != null) "${item.title} ($current)" else item.title - setCompoundDrawablesRelative( - if (item.drawable != null) { - AppCompatResources.getDrawable(context, item.drawable) - } else { - null - }, - null, - null, - null - ) + setDrawables(start = item.drawable) setOnClickListener { item.onClick.invoke() diff --git a/app/src/main/java/com/github/libretube/ui/extensions/SetDrawables.kt b/app/src/main/java/com/github/libretube/ui/extensions/SetDrawables.kt new file mode 100644 index 000000000..d0cc80194 --- /dev/null +++ b/app/src/main/java/com/github/libretube/ui/extensions/SetDrawables.kt @@ -0,0 +1,29 @@ +package com.github.libretube.ui.extensions + +import android.graphics.drawable.Drawable +import android.widget.TextView +import androidx.appcompat.content.res.AppCompatResources +import androidx.core.widget.TextViewCompat + +fun TextView.setDrawables( + start: Int? = null, + top: Int? = null, + end: Int? = null, + bottom: Int? = null +) { + setDrawables( + start?.let { AppCompatResources.getDrawable(context, it) }, + top?.let { AppCompatResources.getDrawable(context, it) }, + end?.let { AppCompatResources.getDrawable(context, it) }, + bottom?.let { AppCompatResources.getDrawable(context, it) } + ) +} + +fun TextView.setDrawables( + start: Drawable? = null, + top: Drawable? = null, + end: Drawable? = null, + bottom: Drawable? = null +) { + TextViewCompat.setCompoundDrawablesRelative(this, start, top, end, bottom) +} diff --git a/app/src/main/java/com/github/libretube/ui/views/DrawableTextView.kt b/app/src/main/java/com/github/libretube/ui/views/DrawableTextView.kt index 4c4f5e414..3f817edf8 100644 --- a/app/src/main/java/com/github/libretube/ui/views/DrawableTextView.kt +++ b/app/src/main/java/com/github/libretube/ui/views/DrawableTextView.kt @@ -11,6 +11,7 @@ import com.github.libretube.R /** * TextView with custom sizable drawable support. + * It may only be used for icons as it gives same width and height to the drawable. */ class DrawableTextView( context: Context, @@ -101,7 +102,7 @@ class DrawableTextView( ) } - fun setDrawableStartDimension( + fun setDrawablesDimension( start: Float = drawableStartDimen, top: Float = drawableTopDimen, end: Float = drawableEndDimen, @@ -111,5 +112,7 @@ class DrawableTextView( drawableTopDimen = top drawableEndDimen = end drawableBottomDimen = bottom + + invalidate() } } diff --git a/app/src/main/res/layout/bottom_sheet_item.xml b/app/src/main/res/layout/bottom_sheet_item.xml index bc6f66de8..76231da51 100644 --- a/app/src/main/res/layout/bottom_sheet_item.xml +++ b/app/src/main/res/layout/bottom_sheet_item.xml @@ -1,7 +1,6 @@