Skip to content

Releases: drakeet/MultiType

4.3.0

21 Jun 02:33
Compare
Choose a tag to compare
  • RecyclerView 1.2.1
  • Support explicitly register Kotlin primitive types (see #302)
  • ViewDelegate : Fix View.layoutPosition and remove View.adapterPosition (see ##315), in the meantime, add View.holder, View.absoluteAdapterPosition and View.bindingAdapterPosition (see 7dca987)
  • Remove ItemViewDelegate.getPosition(viewHolder), please use ViewHolder.get*Position instead
  • Add two new experimental alias classes:
    • ViewHolderDelegate: ItemViewDelegate
    • ViewHolderInflater: ItemViewBinder

4.2.0

24 Dec 13:36
Compare
Choose a tag to compare
  • Add ViewDelegate that does not require ViewHolder (#296)

4.1.1

11 Dec 01:55
f6fc067
Compare
Choose a tag to compare
  • Fix binary incompatibility about ItemViewBinder (#294)

4.1.0

09 Dec 14:51
Compare
Choose a tag to compare
  • Kotlin 1.3.61
  • Add ItemViewDelegate & onCreateViewHolder(context, _) (#292)

4.0.0

07 Sep 03:19
Compare
Choose a tag to compare

Features

  • Migrate to Kotlin (#253)
  • Migrate to new group com.drakeet.multitype:multitype:4.0.0
    Migrate to new group
  • Add a new reified MultiTypeAdapter#register(ItemViewBinder)
  • Add a new class Type for Types to hold data
  • Add withKotlinClassLinker for OneToManyEndpoint
  • Add ItemViewBinder#adapterItems to get or set the items of the associated MultiTypeAdapter
  • Change MultiTypeAdapter#items from List<*> to List<Any>
  • Fix duplicate library_release.kotlin_module (#284)
  • AndroidX Annotation 1.1.0
  • Kotlin 1.3.50

Breaking Changes

  • Change all protected methods of ItemViewBinder to public (#245)
  • Change the payloads parameter of ItemViewBinder#onBindViewHolder(holder, item, payloads) to be of List<Any> type
  • Change the clazz parameter of MultiTypeAdapter#register(...) from Class<? extends T> to Class<T>
  • Remove Items class
  • Remove Preconditions class
  • Rename MultiTypePool to MutableTypes
  • Rename KClassLinker to KotlinClassLinker
  • Rename ClassLinker to JavaClassLinker
  • Rename OneToManyEndpoint#withKClassLinker(...) method to withKotlinClassLinker
  • Rename OneToManyEndpoint#withClassLinker(...) method to withJavaClassLinker

v4.0.0-alpha2

06 Feb 14:58
Compare
Choose a tag to compare
v4.0.0-alpha2 Pre-release
Pre-release

This migrates MultiType to Kotlin (#253)

Features

  • Add a new reified MultiTypeAdapter#register(ItemViewBinder)
  • Add a new class Type for TypePool to hold data
  • Add withKotlinClassLinker for OneToManyEndpoint
  • Add ItemViewBinder#adapterItems to get or set the items of the associated MultiTypeAdapter
  • Change MultiTypeAdapter#items from List<*> to List<Any>

Breaking Changes

  • Change all protected methods of ItemViewBinder to public (#245)
  • Change the payloads parameter of ItemViewBinder#onBindViewHolder(holder, item, payloads) to be of List<Any> type
  • Change the clazz parameter of MultiTypeAdapter#register(...) from Class<? extends T> to Class<T>
  • Change MultiTypeAdapter to final
  • Remove Items class
  • Remove Preconditions class
  • Rename MultiTypePool to ArrayTypePool
  • Rename KClassLinker to KotlinClassLinker
  • Rename ClassLinker to JavaClassLinker
  • Rename OneToManyEndpoint#withKClassLinker(...) method to withKotlinClassLinker
  • Rename OneToManyEndpoint#withClassLinker(...) method to withJavaClassLinker

v3.5.0

22 Sep 12:46
Compare
Choose a tag to compare
  • Migrated to AndroidX
  • Renamed Kotlin extension artifact to -ktx

v3.4.4

17 Feb 14:09
Compare
Choose a tag to compare

Some minor changes:

  • Disabled BuildConfig generation
  • Changed some dependencies of libraries from implementation to api
  • Improved the tip of BinderNotFoundException

kotlin-v3.4.2-beta1

11 Feb 11:59
Compare
Choose a tag to compare

Added library-kotlin module for Kotlin support (#198)


MultiTypeAdapter

  • Added register(binder: ItemViewBinder<T, *>)
  • Added register(clazz: KClass<out T>, binder: ItemViewBinder<T, *>)
  • Added register(clazz: KClass<out T>): OneToManyFlow<T>

TypePool

  • Added register(clazz: KClass<out T>, binder: ItemViewBinder<T, *>, linker: Linker<T>)
  • Added unregister(clazz: KClass<out T>)
  • Added firstIndexOf(clazz: KClass<out T>)

OneToManyEndpoint

  • Added withKClassLinker(classLinker: KClassLinker<T>)
  • Added withKClassLinker(classLinker: (position: Int, t: T) -> KClass<out ItemViewBinder<T, *>>)

v3.4.2

25 Dec 12:29
Compare
Choose a tag to compare
  • Added null-checkings for fast fail (#191)
  • Updated support library to 27.0.2