From 930e356e4b34c729f630edb57a05d89f7057c455 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Fri, 14 Jun 2019 12:45:13 -0700 Subject: [PATCH 1/2] Test extension factory with enforced type --- .../mikepenz/fastadapter/extensions/ExtensionFactory.kt | 6 +++--- .../mikepenz/fastadapter/extensions/ExtensionsFactories.kt | 4 ++-- .../mikepenz/fastadapter/select/SelectExtensionFactory.kt | 7 +++---- .../fastadapter/expandable/ExpandableExtensionFactory.kt | 7 +++---- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt index 24aff099e..ddc1541cf 100644 --- a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt +++ b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt @@ -5,11 +5,11 @@ import com.mikepenz.fastadapter.FastAdapter import com.mikepenz.fastadapter.IAdapterExtension import com.mikepenz.fastadapter.IItem -interface ExtensionFactory { +interface ExtensionFactory>> { - val clazz: Class>> + val clazz: Class fun create( fastAdapter: FastAdapter> - ): IAdapterExtension>? + ): T? } diff --git a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt index 4e4bab213..9113f1433 100644 --- a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt +++ b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt @@ -8,9 +8,9 @@ import com.mikepenz.fastadapter.IItem object ExtensionsFactories { private val factories = - LinkedHashMap>>, ExtensionFactory>() + LinkedHashMap>>, ExtensionFactory<*>>() - fun register(factory: ExtensionFactory) { + fun register(factory: ExtensionFactory<*>) { factories[factory.clazz] = factory } diff --git a/library-core/src/main/java/com/mikepenz/fastadapter/select/SelectExtensionFactory.kt b/library-core/src/main/java/com/mikepenz/fastadapter/select/SelectExtensionFactory.kt index 3a8738644..54e253dea 100644 --- a/library-core/src/main/java/com/mikepenz/fastadapter/select/SelectExtensionFactory.kt +++ b/library-core/src/main/java/com/mikepenz/fastadapter/select/SelectExtensionFactory.kt @@ -2,17 +2,16 @@ package com.mikepenz.fastadapter.select import androidx.recyclerview.widget.RecyclerView import com.mikepenz.fastadapter.FastAdapter -import com.mikepenz.fastadapter.IAdapterExtension import com.mikepenz.fastadapter.IItem import com.mikepenz.fastadapter.extensions.ExtensionFactory -class SelectExtensionFactory : ExtensionFactory { +class SelectExtensionFactory : ExtensionFactory> { override val clazz = SelectExtension::class.java override fun create( - fastAdapter: FastAdapter> - ): IAdapterExtension>? { + fastAdapter: FastAdapter> + ): SelectExtension<*>? { return SelectExtension(fastAdapter) } } diff --git a/library-extensions-expandable/src/main/java/com/mikepenz/fastadapter/expandable/ExpandableExtensionFactory.kt b/library-extensions-expandable/src/main/java/com/mikepenz/fastadapter/expandable/ExpandableExtensionFactory.kt index 85af4d9f7..b8fa63b95 100644 --- a/library-extensions-expandable/src/main/java/com/mikepenz/fastadapter/expandable/ExpandableExtensionFactory.kt +++ b/library-extensions-expandable/src/main/java/com/mikepenz/fastadapter/expandable/ExpandableExtensionFactory.kt @@ -2,17 +2,16 @@ package com.mikepenz.fastadapter.expandable import androidx.recyclerview.widget.RecyclerView import com.mikepenz.fastadapter.FastAdapter -import com.mikepenz.fastadapter.IAdapterExtension import com.mikepenz.fastadapter.IItem import com.mikepenz.fastadapter.extensions.ExtensionFactory -class ExpandableExtensionFactory : ExtensionFactory { +class ExpandableExtensionFactory : ExtensionFactory> { override val clazz = ExpandableExtension::class.java override fun create( - fastAdapter: FastAdapter> - ): IAdapterExtension>? { + fastAdapter: FastAdapter> + ): ExpandableExtension<*>? { return ExpandableExtension(fastAdapter) } } From bb60200cf38afe22a129dc69cf3f82d2040665e0 Mon Sep 17 00:00:00 2001 From: Mike Penz Date: Sat, 15 Jun 2019 14:50:24 +0200 Subject: [PATCH 2/2] * minimal code formatting --- .../com/mikepenz/fastadapter/extensions/ExtensionFactory.kt | 4 +--- .../mikepenz/fastadapter/extensions/ExtensionsFactories.kt | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt index ddc1541cf..ae81c1b37 100644 --- a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt +++ b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionFactory.kt @@ -9,7 +9,5 @@ interface ExtensionFactory - fun create( - fastAdapter: FastAdapter> - ): T? + fun create(fastAdapter: FastAdapter>): T? } diff --git a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt index 9113f1433..7c204a74a 100644 --- a/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt +++ b/library-core/src/main/java/com/mikepenz/fastadapter/extensions/ExtensionsFactories.kt @@ -7,8 +7,7 @@ import com.mikepenz.fastadapter.IItem object ExtensionsFactories { - private val factories = - LinkedHashMap>>, ExtensionFactory<*>>() + private val factories = LinkedHashMap>>, ExtensionFactory<*>>() fun register(factory: ExtensionFactory<*>) { factories[factory.clazz] = factory