Releases: mikepenz/FastAdapter
Releases · mikepenz/FastAdapter
v5.0.1
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
v5.0.0-b01
Fixes
- Rename parameters in AbstractBindingItem to match the type
- Thanks @bdumeljic
- update gradle
- update gradle build tools
- update dependencies
v5.0.0-a08
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
Fixes
- remove the type from the factory
- resolve #871 - reverse deprecation of
AbstractItem
for convenient reasons - eliminate unnecessary duplicated class
- rename
AbstractBindingItemVHFactory
toBaseBindingItemVHFactory
- 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 aList
now instead aMutableList
v5.0.0-a06
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
theIItemVHFactory
. - To complete this interface there is now a new
BaseItem
andModelBaseItem
to allow splitting item logic, and ViewHolder creation logic. - The old
AbstractItem
andModelAbstractItem
are now deprecated in favor of the newer approach - The
IItem
interface no longer contains theFactory
logic - It is still possible to implement items "the old way" by using the
AbstractItem
or by providing theIItemVHFactory
beside theIItem
interface, and also theIItemViewGenerator
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
Fixes
- improve AbstractBindingItem.kt by also providing the parent
v5.0.0-a04
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
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
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