Replace more usages of Kotlin synthetic views

This commit is contained in:
arkon
2020-11-28 14:56:57 -05:00
parent aa98cd0da0
commit 322d66d282
9 changed files with 88 additions and 102 deletions
@@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.widget
import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.animation.Animation
import android.view.animation.AnimationUtils
@@ -11,8 +12,7 @@ import androidx.annotation.MenuRes
import androidx.appcompat.view.ActionMode
import androidx.core.view.isVisible
import eu.kanade.tachiyomi.R
import kotlinx.android.synthetic.main.common_action_toolbar.view.common_action_menu
import kotlinx.android.synthetic.main.common_action_toolbar.view.common_action_toolbar
import eu.kanade.tachiyomi.databinding.CommonActionToolbarBinding
/**
* A toolbar holding only menu items.
@@ -20,23 +20,25 @@ import kotlinx.android.synthetic.main.common_action_toolbar.view.common_action_t
class ActionToolbar @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) :
FrameLayout(context, attrs) {
private val binding: CommonActionToolbarBinding
init {
inflate(context, R.layout.common_action_toolbar, this)
binding = CommonActionToolbarBinding.inflate(LayoutInflater.from(context), this, true)
}
/**
* Remove menu items and remove listener.
*/
fun destroy() {
common_action_menu.menu.clear()
common_action_menu.setOnMenuItemClickListener(null)
binding.commonActionMenu.menu.clear()
binding.commonActionMenu.setOnMenuItemClickListener(null)
}
/**
* Gets a menu item if found.
*/
fun findItem(@IdRes itemId: Int): MenuItem? {
return common_action_menu.menu.findItem(itemId)
return binding.commonActionMenu.menu.findItem(itemId)
}
/**
@@ -44,14 +46,14 @@ class ActionToolbar @JvmOverloads constructor(context: Context, attrs: Attribute
*/
fun show(mode: ActionMode, @MenuRes menuRes: Int, listener: (item: MenuItem?) -> Boolean) {
// Avoid re-inflating the menu
if (common_action_menu.menu.size() == 0) {
mode.menuInflater.inflate(menuRes, common_action_menu.menu)
common_action_menu.setOnMenuItemClickListener { listener(it) }
if (binding.commonActionMenu.menu.size() == 0) {
mode.menuInflater.inflate(menuRes, binding.commonActionMenu.menu)
binding.commonActionMenu.setOnMenuItemClickListener { listener(it) }
}
common_action_toolbar.isVisible = true
binding.commonActionToolbar.isVisible = true
val bottomAnimation = AnimationUtils.loadAnimation(context, R.anim.enter_from_bottom)
common_action_toolbar.startAnimation(bottomAnimation)
binding.commonActionToolbar.startAnimation(bottomAnimation)
}
/**
@@ -62,10 +64,10 @@ class ActionToolbar @JvmOverloads constructor(context: Context, attrs: Attribute
bottomAnimation.setAnimationListener(
object : SimpleAnimationListener() {
override fun onAnimationEnd(animation: Animation) {
common_action_toolbar.isVisible = false
binding.commonActionToolbar.isVisible = false
}
}
)
common_action_toolbar.startAnimation(bottomAnimation)
binding.commonActionToolbar.startAnimation(bottomAnimation)
}
}