Releases: manneohlund/smart-recycler-adapter
Releases · manneohlund/smart-recycler-adapter
v5.0.0-rc01
Important
This smart-recycler-adapter
v5.0.0-rc01
release contains non backwards compatible changes.
- Moved ItemTouchBinder, SmartRecyclerAdapterExtension, SmartExtensionBuilder, SmartViewHolderBinder to extension package.
- Removed and replaced addBinder(SmartViewHolderBinder) & addExtension(SmartRecyclerAdapterExtension) methods with add(SmartExtensionIdentifier).
- Removed and replaced viewHolderBinders & smartRecyclerAdapterExtensions with single smartExtensions map source.
More changes
- Added SmartExtensionIdentifier and segregated identifier from SmartRecyclerAdapterExtension.
- Added SmartExtensionIdentifier extension to SmartViewHolderBinder.
What’s new
General
- Bump
smart-recycler-adapter
from5.0.0-beta05
to5.0.0-rc01
. - Bump
smart-recycler-adapter-nestedadapter
from1.0.0-alpha01
to1.0.0-beta01
. - Bump
smart-recycler-adapter-diffutil
from1.0.0-alpha01
to1.0.0-beta01
. - Bump
smart-recycler-adapter-viewevent
from1.0.0-beta02
to1.0.0-beta03
. - Bump
smart-recycler-adapter-stickyheader
from1.0.0-alpha01
to1.0.0-alpha02
. - Added initital
smart-recycler-adapter-filter v1.0.0-alpha01
library. - Added
common-library-config.gradle
to all extension libraries.
smart-recycler-adapter
- Moved ItemTouchBinder, SmartRecyclerAdapterExtension, SmartExtensionBuilder, SmartViewHolderBinder to extension package
- Added SmartExtensionIdentifier and segregated identifier from SmartRecyclerAdapterExtension
- Added SmartExtensionIdentifier extension to SmartViewHolderBinder
- Removed and replaced addBinder(SmartViewHolderBinder) & addExtension(SmartRecyclerAdapterExtension) methods with add(SmartExtensionIdentifier)
- Removed and replaced viewHolderBinders & smartRecyclerAdapterExtensions with smartExtensions
- Added RecyclerViewConfigBuilder file
- Added SmartExtension smart get method for SmartRecyclerAdapter
- Added getItemCast
- Fixed OnDetachedFromRecyclerViewListener & OnAttachedToRecyclerViewListener invocations
ViewEvent v1.0.0-beta02
Added
- Added identifier override
- Added androidx.appcompat:appcompat for runtime resolving R.attr.selectableItemBackground
Removed
- Removed SmartAdapterBuilderExt with helper methods
Moved
- Moved binder and util packages to extensions
Diff Util v1.0.0-beta01
Added
kotlinx-coroutines-android
for fast threading.lifecycle-runtime-ktx
in combination with coroutines for lifecycle aware launch/cancellation of coroutines.diffSwapList
async method with lifecycleScope coroutine job launch for heavy data computation.cancelDiffSwapJob
method to cancel ongoing coroutine job.loadingStateListener
for async loading state callback.
Removed
- SmartAdapterBuilderExt with extension methods
Nested Adapter v1.0.0-beta01
Added
RecyclerViewBinder
invocation for SmartNestedRecyclerViewHolder for easy RecyclerView configuration in SmartAdapterBuilderreuseParentAdapterRecycledViewPool
to reuse parent SmartRecyclerAdapter RecyclerView.RecycledViewPool into nested adapters.
Default is shared recycledViewPool for nested adapters
Sticky Header v1.0.0-alpha02
Moved
- Moved SmartRecyclerAdapterExtension from binder package to extension
Filter v1.0.0-alpha01
Initial release contains
kotlinx-coroutines-android
for fast threading.lifecycle-runtime-ktx
in combination with coroutines for lifecycle aware launch/cancellation of coroutines.- Basic implementation of item filtering with targetFilterTypes, loadingStateListener & filter predicate callback.
v5.0.0-beta05
What’s new
General
- Bump
smart-recycler-adapter
from5.0.0-beta04
to5.0.0-beta05
.- Feature added
OnAttachedToRecyclerViewListener
&OnDetachedFromRecyclerViewListener
tosmart-recycler-adapter
library
- Feature added
- Bump
smart-recycler-adapter-viewevent
from 1.0.0-beta01 to 5.0.0-beta02.- Feature enable and disable all selectableItemType for OnMultiItemSelectListener
- Add initital
smart-recycler-adapter-stickyheader:1.0.0-alpha01
library.
More
- Fix broken movie data item in sample app
- Add compileOptions & kotlinOptions to build gradle
v5.0.0-beta04
Important
This smart-recycler-adapter
v5.0.0-beta04
release contains non backwards compatible changes.
- This version has migrated all Nested Adapter feature to
smart-recycler-adapter-nestedadapter:1.0.0-alpha01
. - A new
SmartEndlessScrollRecyclerAdapter
parameter has been added toOnLoadMoreListener
forSmartEndlessScrollRecyclerAdapter
.
What’s new
General
- Bump smart-recycler-adapter from 5.0.0-beta03 to 5.0.0-beta04.
- Bump smart-recycler-adapter-viewevent from 1.0.0-alpha02 to 5.0.0-beta01.
- Add library
smart-recycler-adapter-nestedadapter:1.0.0-alpha01
. - Add SmartEndlessScrollAdapterBuilder and fix multiple SmartRecyclerAdapter creation from a single SmartAdapterBuilder.
- Fix viewHolderType check to isInstanceOf instead of 1:1 check for viewHolderTypes in SmartRecyclerAdapter.
- Deprecate and removed smartRecyclerAdapterMapper in SmartRecyclerAdapter, now use
smart-recycler-adapter-nestedadapter
- Fix potential crash in viewevent module on collections item position swap.
- Add missing properties from SmartEndlessScrollRecyclerAdapter to SmartEndlessScrollAdapterBuilder
- Add SmartEndlessScrollRecyclerAdapter param to OnLoadMoreListener.
v5.0.0-beta03
Important
This v5.0.0-beta03
release contains non backwards compatible changes.
- This version has migrated all Diff Util extensions
smart-recycler-adapter-diffutil:1.0.0-alpha01
.
What’s new
- Add CHANGELOG to
smart-recycler-adapter-viewevent
- Add initital
smart-recycler-adapter-diffutil
v1.0.0-alpha01
library - Bump
smart-recycler-adapter
from5.0.0-beta02
to5.0.0-beta03
- Update README with
smart-recycler-adapter-diffutil
library samples - Fix
smart-recycler-adapter
consumer proguard rules - Update sample app
- Fix README links
v5.0.0-beta02
Important
This v5.0.0-beta02
release contains non backwards compatible changes.
- This version has migrated all ViewEvent listeners & Touch listeners (drag & drop, swipe) to
smart-recycler-adapter-viewevent:1.0.0-alpha02
.
What’s new
General
- Add library
smart-recycler-adapter-viewevent:1.0.0-alpha02
. - Add SmartViewHolderBinder interface
- Add OnViewRecycledListener interface
- Add OnSmartRecycleAdapterCreatedListener interface
- Add OnCreateViewHolderListener interface
- Add OnBindViewHolderListener interface
- Changed OnViewAttachedToWindowListener and OnViewDetachedFromWindowListener to pure interfaces
- Add default helper constructor with LayoutInflater to SmartViewHolder
- Delete old ViewEvent file from old listeners module
- Delete old ViewEvent listeners, state holders, binders, drag and drop, providers and factories
- Moved SmartStateHolder from smartadapter to viewevent module
- Feature added new SmartViewHolderBinder binding to SmartRecyclerAdapter and SmartAdapterBuilder for easy SmartViewHolder binding extension. a748c32
- Fix smart-recycler-adapter-viewevent viewholder package location to package smartadapter.viewevent.viewholder
More
- Bump gradle 5.4.1 -> 6.1.1 & gradle build tools 3.5.0 -> 4.0.1
- Bump kotlin 1.3.41 -> 1.3.72
- Optimizations, minor refactoring, bug fixes
v4.1.0
Important
Setters setOnLoadMoreListener
& setCustomLoadMoreLayoutResource
has been removed and are now public properties in SmartEndlessScrollRecyclerAdapter
db0a22c.
What’s new
Bug fix
with endless scroll or load more crash due to adapter inconsistency or invalid state while scrolling. #11- Better support for java kotlin interop data types
- Minor fixes.
v4.0.0
Important
This v4.0.0
release contains non backwards compatible changes.
- This version has migrated all library code to Kotlin.
- No Java to Kotlin interop support added in this version.
ViewEventListeners
has crossinline support for lambda calls.
What’s new
General
- 100% translation into Kotlin.
OnViewEventListener
- New
ViewEventListener
implementation with Kotlin properties instead of java default method calls. - Library
ViewEventListener
extensions ex:OnItemClickListener
,OnItemLongClickListener
has crossinline lambda call helper methods.
ViewHolder interfaces
- Method calls has been replaced with properties in most
Holders
exDraggableViewHolder
,SmartAdapterHolder
,ViewEventListenerHolder
,StatefulViewHolder
.
More
- Removed
getViewEventListeners
, useviewEventMapper.viewEventListenerMap
atm. SmartRecyclerAdapter
takes both mutable and immutable lists, immutable lists are converted to mutable lists.- Optimizations, minor refactoring, bug fixes
v3.0.0
Important
This v3.0.0
release contains non backwards compatible changes.
- This version has migrated to
AndroidX
. - Major refactoring to View Event implementation.
SmartViewHolder
extensionsSmartAutoEventViewHolder
&SmartEventViewHolder
has been removed, useOnItemClickListener
&OnItemLongClickListener
.ViewEventHolder
has been removed, useViewEventListenerHolder
instead.ViewEventListener
has been renamed toOnViewEventListener
and has new methods.- Use
jcenter()
or directmaven { url "https://dl.bintray.com/manneohlund/maven" }
repository.
What’s new
Dependencies
- Migrated from
android.support
libraries toAndroidX
.
OnViewEventListener
- New ViewEventListener implementation with
OnViewEventListener
. - Added basic
OnItemClickListener
. - Added basic
OnItemLongClickListener
. - Added
ViewEventListenerHolder
to replaceViewEventHolder
. - Removed redundant
SmartAdapterBuilder.addViewEventListener
methods with overloading parameter. - Removed
SmartViewHolder
extensionsSmartAutoEventViewHolder
&SmartEventViewHolder
. - Removed
ViewEventHolder
, useViewEventListenerHolder
instead.
SmartStateHolder
- Added
SmartStateHolder
with single & multi state handling like selection. - Added
OnItemSelectedListener
for basic view selection. - Added
OnItemLongClickSelectedListener
for long click enabled selection.
Extensions
- Added Swipe extension with
OnItemSwipedListener
. - Added Drag & Drop extension with
OnItemMovedListener
.- Supports Grid drag & drop with type awareness.
SmartEndlessScrollRecyclerAdapter
- Added passive load more button to internal
LoadMoreViewHolder
.
More
- Renaming of package and directory structure in sample app.
- Renaming of package name in library.
- Added more samples in demo app.
- Fix bug in
ViewTypeResolver
. - Optimizations, minor refactoring, bug fixes.
v2.2.0
- Added SmartEndlessScrollRecyclerAdapter for pagination.
v2.1.0
- Added
unbind
method inSmartViewHolder
, called when ViewHolder is recycled. - Added
OnViewAttachedToWindowListener
for SmartViewHolder extension implementation. - Added
OnViewDetachedToWindowListener
for SmartViewHolder extension implementation. - Added
RecyclableViewHolder
interface for SmartViewHolder extensions, called when the adapter fails to recycle the View/ViewHolder. - Removed global
OnViewDetachedToWindowListener
from SmartAdapterBuilder and SmartRecyclerAdapter. - Renaming of implementation class back to SmartRecyclerAdapter and interface definition to ISmartRecyclerAdapter avoid casting to Recycler.Adapter.
- Support for both View and ViewGroup of overridden
SmartViewHolder
constructor parameter. - Internal optimisations and more tests.
- Bug fixes and improvements.