aboutsummaryrefslogtreecommitdiff
path: root/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt
diff options
context:
space:
mode:
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.kt22
1 files changed, 22 insertions, 0 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
new file mode 100644
index 0000000..206c66b
--- /dev/null
+++ b/adapter/src/main/kotlin/ca/allanwang/kau/adapters/AdapterUtils.kt
@@ -0,0 +1,22 @@
+package ca.allanwang.kau.adapters
+
+import com.mikepenz.fastadapter.FastAdapter
+import com.mikepenz.fastadapter.IAdapter
+import com.mikepenz.fastadapter.IItem
+import com.mikepenz.fastadapter.commons.adapters.FastItemAdapter
+
+/**
+ * Created by Allan Wang on 2017-11-08.
+ */
+
+/**
+ * Add kotlin's generic syntax to better support out types
+ */
+fun <T : IItem<*, *>> fastAdapter(vararg adapter: IAdapter<out T>) =
+ FastAdapter.with<T, IAdapter<out T>>(adapter.toList())!!
+
+/**
+ * Helper to get an [IAdapter] directly from a [FastItemAdapter]
+ */
+fun <T : IItem<*, *>> fastAdapter(adapter: IAdapter<out T>, fastAdapter: FastItemAdapter<out T>) =
+ fastAdapter(adapter, fastAdapter.itemAdapter) \ No newline at end of file