diff options
author | Allan Wang <me@allanwang.ca> | 2018-04-07 20:23:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-07 20:23:17 -0400 |
commit | a0377be622f21b4c6a7d8828505c1e95efab1254 (patch) | |
tree | 825760fab6f0bb1baa4e709443becefba5a8d06a /adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt | |
parent | e97db5c6529b1e12effc7141f277bd41d3fb580a (diff) | |
download | kau-a0377be622f21b4c6a7d8828505c1e95efab1254.tar.gz kau-a0377be622f21b4c6a7d8828505c1e95efab1254.tar.bz2 kau-a0377be622f21b4c6a7d8828505c1e95efab1254.zip |
Update/android studio 3.1 (#146)
* Update dependencies
* Add default invalid id value
* Extend appcompat views only
* Update migration
* Remove setTextIfValid
* Remove nosibling warning
* Add deprecation warnings to fragment view binding
* Bring back glide 4.6.1
* Use proper distribution type setter
Diffstat (limited to 'adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt')
-rw-r--r-- | adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt b/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt index 2f25d8c..b754cb4 100644 --- a/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt +++ b/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt @@ -1,9 +1,10 @@ package ca.allanwang.kau.adapters -import android.view.View import com.mikepenz.fastadapter.FastAdapter import com.mikepenz.fastadapter.IAdapter +import com.mikepenz.fastadapter.IAdapterExtension import com.mikepenz.fastadapter.IItem +import com.mikepenz.fastadapter.select.SelectExtension /** * Created by Allan Wang on 2017-11-08. @@ -13,4 +14,16 @@ import com.mikepenz.fastadapter.IItem * Add kotlin's generic syntax to better support out types */ fun <Item : IItem<*, *>> fastAdapter(vararg adapter: IAdapter<out Item>) = - FastAdapter.with<Item, IAdapter<out Item>>(adapter.toList())!!
\ No newline at end of file + FastAdapter.with<Item, IAdapter<out Item>>(adapter.toList())!! + +inline fun <reified T : IAdapterExtension<Item>, Item : IItem<*, *>> FastAdapter<Item>.getExtension(): T? = + getExtension(T::class.java) + +/** + * Returns selection size, or -1 if selection is disabled + */ +inline val <Item : IItem<*, *>> IAdapter<Item>.selectionSize: Int + get() = fastAdapter.getExtension<SelectExtension<Item>, Item>()?.selections?.size ?: -1 + +inline val <Item : IItem<*, *>> IAdapter<Item>.selectedItems: Set<Item> + get() = fastAdapter.getExtension<SelectExtension<Item>, Item>()?.selectedItems ?: emptySet() |