Skip to content

Releases: mikepenz/FastAdapter

v5.0.1

09 May 14:15
b72e925
Compare
Choose a tag to compare

Fixes / Changes

  • Suggestion to listen to the drag start event (#886)
    • Thanks @RobbWatershed
    • add default method for interface so current implementation don't need to change
  • open up all methods in the ViewHolder of the FastAdapter.kt
      - FIX #890
  • update to gradle build tools 4.1.0-alpha09
  • update to gradle 6.4

v5.0.0

08 Mar 11:33
7de18c9
Compare
Choose a tag to compare

Fixes / Changes

  • Equal to v5.0.0-b01

Dependencies

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.x.y"
implementation "androidx.appcompat:appcompat:1.x.y"
implementation "androidx.recyclerview:recyclerview:1.x.y"

v5.0.0-b01

28 Feb 11:06
89933a7
Compare
Choose a tag to compare
v5.0.0-b01 Pre-release
Pre-release

Fixes

  • Rename parameters in AbstractBindingItem to match the type
  • update gradle
  • update gradle build tools
  • update dependencies

v5.0.0-a08

21 Feb 19:52
7d50f9a
Compare
Choose a tag to compare
v5.0.0-a08 Pre-release
Pre-release

Fixes

  • add convenient abstract ModelAbstractBindingItem.kt
  • eliminate to register types and factories in the type factory
  • register automatically when resolving the actual type ids instead
  • simplify sample code

v5.0.0-a07

21 Feb 18:22
f165a4c
Compare
Choose a tag to compare
v5.0.0-a07 Pre-release
Pre-release

Fixes

  • remove the type from the factory
      - resolve #871
  • reverse deprecation of AbstractItem for convenient reasons
  • eliminate unnecessary duplicated class
  • rename AbstractBindingItemVHFactory to BaseBindingItemVHFactory
  • eliminate layoutRes from interface where it is no longer needed, especially when using viewBinding
      - FIX #874
  • even further simplify the view binding case, by providing an AbstractItem.kt which does not require a custom ViewHolder
    • introduce extension functions to simplify hooking up click event hooks to binding items
    • FIX #872
  • simplify AbstractItem.kt by basing on top of the BaseItem.kt
  • adjust all payloads to be immutable MutableList<Any> -> List<Any>
      - FIX #813
      - NOTE it requires a full clean, will compile though with MD and AboutLibraries

Dependency Updates

  • update to latest android iconics library
  • update to compatible materialDrawer release using the new FastAdapter v8.0.0-a06
  • update to new compatible AboutLibraries v8.0.0-b05
  • update to stable material 1.0.0

Sample

  • remove unnecessary layout, fix overlapping statusbar in SortActivity.kt

Migration

  • Note that the bindView(holder: VH, payloads: List<Any>) will use a List now instead a MutableList

v5.0.0-a06

15 Feb 12:26
8207baf
Compare
Choose a tag to compare
v5.0.0-a06 Pre-release
Pre-release

Fixes

  • to further migrate towards a better separation of responsibilities we have introduced a new interface which will describe the logic for creating the ViewHolder the IItemVHFactory.
  • To complete this interface there is now a new BaseItem and ModelBaseItem to allow splitting item logic, and ViewHolder creation logic.
  • The old AbstractItem and ModelAbstractItem are now deprecated in favor of the newer approach
  • The IItem interface no longer contains the Factory logic
  • It is still possible to implement items "the old way" by using the AbstractItem or by providing the IItemVHFactory beside the IItem interface, and also the IItemViewGenerator if needed

Migration

OLD

If the Item implementation looked like:

class SimpleImageItem : AbstractItem<SimpleImageItem.ViewHolder>() {
    override val type: Int
        get() = R.id.fastadapter_simple_image_item_id

    override val layoutRes: Int
        get() = R.layout.simple_image_item

    override fun bindView(holder: ViewHolder, payloads: MutableList<Any>) {
        ...
    }

    override fun unbindView(holder: ViewHolder) {
    }

    override fun getViewHolder(v: View): ViewHolder {
        return ViewHolder(v)
    }

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
        var view: FrameLayout
        ...
    }
}

NEW

It should be refactored to look like:

class SimpleImageItem : BaseItem<SimpleImageItem.ViewHolder>() {
    override val type: Int
        get() = R.id.fastadapter_simple_image_item_id

    override val factory: IItemVHFactory<ViewHolder> = SimpleImageItemFactory

    override fun bindView(holder: ViewHolder, payloads: MutableList<Any>) {
        ...
    }

    override fun unbindView(holder: ViewHolder) {
        ...
    }

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
        var view: FrameLayout
    }
}

object SimpleImageItemFactory : BaseItemFactory<SimpleImageItem.ViewHolder>() {
    override val type: Int
        get() = R.id.fastadapter_simple_image_item_id

    override val layoutRes: Int
        get() = R.layout.simple_image_item

    override fun getViewHolder(v: View): SimpleImageItem.ViewHolder {
        return SimpleImageItem.ViewHolder(v)
    }
}

v5.0.0-a05

12 Feb 09:35
3a3f6a3
Compare
Choose a tag to compare
v5.0.0-a05 Pre-release
Pre-release

Fixes

  • improve AbstractBindingItem.kt by also providing the parent

v5.0.0-a04

12 Feb 09:34
fe2542c
Compare
Choose a tag to compare
v5.0.0-a04 Pre-release
Pre-release

Fixes

  • introduce new binding module which adds abstract items to simplify usage with viewbinding / databinding
  • update to AS 4.0.0-alpha09 for viewbinding / databinding
  • add compileOnly dependency for viewBinding interface
  • use iconItem from viewBinding in the sample app
  • FIX / REGARDING #822

v5.0.0-a03

20 Jan 20:44
5ecff5f
Compare
Choose a tag to compare
v5.0.0-a03 Pre-release
Pre-release

Fixes

  • ModelAdapter.kt does not require peeking
  • override peeking in the PagedModelAdapter.kt
  • protect the peek code from overflowing
      - fix #861

v5.0.0-a02

20 Jan 11:59
6aa4eec
Compare
Choose a tag to compare
v5.0.0-a02 Pre-release
Pre-release

Features

  • refactor to use MaterialDrawer v8
  • refactor to use Iconcis v5
  • refactor to use AboutLibraries v8
  • remove materialize
  • Allow swipes without setting "leave-behind" drawables (Thanks @StuStirling)

Fixes

  • try to solve the issue of the paged list being fully loaded when asking for the selected item
      - fix #861