Minor clean

This commit is contained in:
faisalcodes 2023-02-02 20:05:44 +05:30
parent 9a9b127e9f
commit 1a7ad4fd68
4 changed files with 36 additions and 14 deletions

View File

@ -2,10 +2,10 @@ package com.github.libretube.ui.adapters
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.github.libretube.databinding.BottomSheetItemBinding import com.github.libretube.databinding.BottomSheetItemBinding
import com.github.libretube.obj.BottomSheetItem import com.github.libretube.obj.BottomSheetItem
import com.github.libretube.ui.extensions.setDrawables
import com.github.libretube.ui.viewholders.BottomSheetViewHolder import com.github.libretube.ui.viewholders.BottomSheetViewHolder
class BottomSheetAdapter( class BottomSheetAdapter(
@ -23,19 +23,10 @@ class BottomSheetAdapter(
override fun onBindViewHolder(holder: BottomSheetViewHolder, position: Int) { override fun onBindViewHolder(holder: BottomSheetViewHolder, position: Int) {
val item = items[position] val item = items[position]
holder.binding.sheetItem.apply { holder.binding.root.apply {
val current = item.getCurrent() val current = item.getCurrent()
text = if (current != null) "${item.title} ($current)" else item.title text = if (current != null) "${item.title} ($current)" else item.title
setCompoundDrawablesRelative( setDrawables(start = item.drawable)
if (item.drawable != null) {
AppCompatResources.getDrawable(context, item.drawable)
} else {
null
},
null,
null,
null
)
setOnClickListener { setOnClickListener {
item.onClick.invoke() item.onClick.invoke()

View File

@ -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)
}

View File

@ -11,6 +11,7 @@ import com.github.libretube.R
/** /**
* TextView with custom sizable drawable support. * 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( class DrawableTextView(
context: Context, context: Context,
@ -101,7 +102,7 @@ class DrawableTextView(
) )
} }
fun setDrawableStartDimension( fun setDrawablesDimension(
start: Float = drawableStartDimen, start: Float = drawableStartDimen,
top: Float = drawableTopDimen, top: Float = drawableTopDimen,
end: Float = drawableEndDimen, end: Float = drawableEndDimen,
@ -111,5 +112,7 @@ class DrawableTextView(
drawableTopDimen = top drawableTopDimen = top
drawableEndDimen = end drawableEndDimen = end
drawableBottomDimen = bottom drawableBottomDimen = bottom
invalidate()
} }
} }

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android" <androidx.appcompat.widget.AppCompatTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/sheet_item"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"