must add callback when bind
must clear callback when unbind
if (null != data.imageColor) {
videoCard.setPaletteColor(data.imageColor!!)
videoCard.colorCallback = null
} else {
videoCard.setPaletteColor(WidgetImageUtils.defaultPaletteColor)
videoCard.colorCallback = object : CardViewItemVideo.ColorCallback {
override fun onColor(color: Int) {
data.imageColor = color
Log.d("xxxxxx","color2:${data.imageColor}, ${data.seasonId}")
}

MVI
// UI will display this:
data class State(
val items: List<Int> = emptyList(),
val inputError: String? = null,
val currentInput: String? = null,
val isLoading: Boolean = false
)
// UI will observe those:
sealed class SideEffect {
class ShowError(val text: String) : SideEffect()
class ShowToast(val text: String) : SideEffect()
}
// and UI will send those:
sealed class Event {
data object AddButtonClicked : Event()
class InputChanged(val input: String) : Event()
class RemoveItem(val item: Int) : Event()
}