From 63f6b70cc81ec9dc6e92b6521dfd78fa72fe70a5 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 27 Jul 2019 18:59:14 -0700 Subject: Fix compile errors --- .../ca/allanwang/kau/adapters/AdapterUtils.kt | 7 ++--- .../kau/adapters/FastItemThemedAdapter.kt | 34 +++++++++++----------- .../kau/adapters/RepeatedClickListener.kt | 18 +++++++----- 3 files changed, 29 insertions(+), 30 deletions(-) (limited to 'fastadapter') diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt index 42fe1a2..14fdc9d 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt @@ -31,14 +31,11 @@ import com.mikepenz.fastadapter.select.SelectExtension fun > fastAdapter(vararg adapter: IAdapter) = FastAdapter.with>(adapter.toList()) -inline fun , Item : IItem<*>> FastAdapter.getExtension(): T? = - getExtension(T::class.java) - /** * Returns selection size, or -1 if selection is disabled */ inline val > IAdapter.selectionSize: Int - get() = fastAdapter?.getExtension, Item>()?.selections?.size ?: -1 + get() = fastAdapter?.getExtension>()?.selections?.size ?: -1 inline val > IAdapter.selectedItems: Set - get() = fastAdapter?.getExtension, Item>()?.selectedItems ?: emptySet() + get() = fastAdapter?.getExtension>()?.selectedItems ?: emptySet() diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/FastItemThemedAdapter.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/FastItemThemedAdapter.kt index 01ac0e5..e6d4b24 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/FastItemThemedAdapter.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/FastItemThemedAdapter.kt @@ -24,6 +24,7 @@ import androidx.annotation.RequiresApi import ca.allanwang.kau.ui.createSimpleRippleDrawable import ca.allanwang.kau.utils.adjustAlpha import com.mikepenz.fastadapter.IItem +import com.mikepenz.fastadapter.IItemAdapter import com.mikepenz.fastadapter.adapters.FastItemAdapter /** @@ -40,7 +41,11 @@ class FastItemThemedAdapter>( backgroundColor: Int? = null, accentColor: Int? = null ) : FastItemAdapter() { - constructor(colors: ThemableIItemColors) : this(colors.textColor, colors.backgroundColor, colors.accentColor) + constructor(colors: ThemableIItemColors) : this( + colors.textColor, + colors.backgroundColor, + colors.accentColor + ) var textColor: Int? = textColor set(value) { @@ -73,46 +78,41 @@ class FastItemThemedAdapter>( notifyAdapterDataSetChanged() } - override fun add(position: Int, items: List): FastItemAdapter { + override fun add(position: Int, items: List): IItemAdapter { injectTheme(items) return super.add(position, items) } - override fun add(position: Int, item: Item): FastItemAdapter { - injectTheme(item) - return super.add(position, item) + override fun add(position: Int, vararg items: Item): IItemAdapter { + injectTheme(items.toList()) + return super.add(position, *items) } - override fun add(item: Item): FastItemAdapter { - injectTheme(item) - return super.add(item) + override fun add(vararg items: Item): IItemAdapter { + injectTheme(items.toList()) + return super.add(*items) } - override fun add(items: List?): FastItemAdapter { + override fun add(items: List): IItemAdapter { injectTheme(items) return super.add(items) } - override fun set(items: List?): FastItemAdapter { + override fun set(items: List): IItemAdapter { injectTheme(items) return super.set(items) } - override fun set(position: Int, item: Item): FastItemAdapter { + override fun set(position: Int, item: Item): IItemAdapter { injectTheme(item) return super.set(position, item) } - override fun setNewList(items: List?, retainFilter: Boolean): FastItemAdapter { + override fun setNewList(items: List, retainFilter: Boolean): IItemAdapter { injectTheme(items) return super.setNewList(items, retainFilter) } - override fun setNewList(items: List?): FastItemAdapter { - injectTheme(items) - return super.setNewList(items) - } - private fun injectTheme(items: Collection?>?) { items?.forEach { injectTheme(it) } } diff --git a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/RepeatedClickListener.kt b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/RepeatedClickListener.kt index 3e7d707..99c367b 100644 --- a/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/RepeatedClickListener.kt +++ b/fastadapter/src/main/kotlin/ca/allanwang/kau/adapters/RepeatedClickListener.kt @@ -17,10 +17,10 @@ package ca.allanwang.kau.adapters import android.view.View import androidx.annotation.IntRange +import com.mikepenz.fastadapter.ClickListener import com.mikepenz.fastadapter.FastAdapter import com.mikepenz.fastadapter.IAdapter import com.mikepenz.fastadapter.IItem -import com.mikepenz.fastadapter.listeners.OnClickListener /** * Created by Allan Wang on 26/12/17. @@ -28,9 +28,11 @@ import com.mikepenz.fastadapter.listeners.OnClickListener fun > FastAdapter.withOnRepeatedClickListener( count: Int, duration: Long, - event: OnClickListener -) = - withOnClickListener(RepeatedClickListener(count, duration, event)) + event: ClickListener +): FastAdapter { + onClickListener = RepeatedClickListener(count, duration, event) + return this +} /** * Registers and skips each click until the designated [count] clicks are triggered, @@ -40,8 +42,8 @@ fun > FastAdapter.withOnRepeatedClickListener( private class RepeatedClickListener>( @IntRange(from = 1) val count: Int, @IntRange(from = 1) val duration: Long, - val event: OnClickListener -) : OnClickListener { + val event: ClickListener +) : ClickListener { init { if (count <= 0) @@ -53,7 +55,7 @@ private class RepeatedClickListener>( private var chain = 0 private var time = -1L - override fun onClick(v: View?, adapter: IAdapter, item: Item, position: Int): Boolean { + override fun invoke(v: View?, adapter: IAdapter, item: Item, position: Int): Boolean { val now = System.currentTimeMillis() if (time - now < duration) chain++ @@ -62,7 +64,7 @@ private class RepeatedClickListener>( time = now if (chain == count) { chain = 0 - event.onClick(v, adapter, item, position) + event(v, adapter, item, position) return true } return false -- cgit v1.2.3