Smart Recycler Adapter Versions Save

Small, smart and generic adapter for recycler view with easy and advanced data to ViewHolder binding.

v5.0.0-rc01

3 years ago

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 from 5.0.0-beta05 to 5.0.0-rc01.
  • Bump smart-recycler-adapter-nestedadapter from 1.0.0-alpha01 to 1.0.0-beta01.
  • Bump smart-recycler-adapter-diffutil from 1.0.0-alpha01 to 1.0.0-beta01.
  • Bump smart-recycler-adapter-viewevent from 1.0.0-beta02 to 1.0.0-beta03.
  • Bump smart-recycler-adapter-stickyheader from 1.0.0-alpha01 to 1.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 SmartAdapterBuilder
  • reuseParentAdapterRecycledViewPool 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

3 years ago

What’s new

General

  • Bump smart-recycler-adapter from 5.0.0-beta04 to 5.0.0-beta05.
    • Feature added OnAttachedToRecyclerViewListener & OnDetachedFromRecyclerViewListener to smart-recycler-adapter library
  • 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

3 years ago

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 to OnLoadMoreListener for SmartEndlessScrollRecyclerAdapter.

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

3 years ago

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 from 5.0.0-beta02 to 5.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

5.0.0-beta02

3 years ago

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

4.1.0

4 years ago

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.

4.0.0

4 years ago

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 ex DraggableViewHolder, SmartAdapterHolder, ViewEventListenerHolder, StatefulViewHolder.

More

  • Removed getViewEventListeners, use viewEventMapper.viewEventListenerMap atm.
  • SmartRecyclerAdapter takes both mutable and immutable lists, immutable lists are converted to mutable lists.
  • Optimizations, minor refactoring, bug fixes

3.0.0

4 years ago

Important

This v3.0.0 release contains non backwards compatible changes.

  • This version has migrated to AndroidX.
  • Major refactoring to View Event implementation.
  • SmartViewHolder extensions SmartAutoEventViewHolder & SmartEventViewHolder has been removed, use OnItemClickListener & OnItemLongClickListener.
  • ViewEventHolder has been removed, use ViewEventListenerHolder instead.
  • ViewEventListener has been renamed to OnViewEventListener and has new methods.
  • Use jcenter() or direct maven { url "https://dl.bintray.com/manneohlund/maven" } repository.

What’s new

Dependencies

  • Migrated from android.support libraries to AndroidX.

OnViewEventListener

  • New ViewEventListener implementation with OnViewEventListener.
  • Added basic OnItemClickListener.
  • Added basic OnItemLongClickListener.
  • Added ViewEventListenerHolder to replace ViewEventHolder.
  • Removed redundant SmartAdapterBuilder.addViewEventListener methods with overloading parameter.
  • Removed SmartViewHolder extensions SmartAutoEventViewHolder & SmartEventViewHolder.
  • Removed ViewEventHolder, use ViewEventListenerHolder 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.

2.2.0

4 years ago
  • Added SmartEndlessScrollRecyclerAdapter for pagination.

2.1.0

4 years ago
  • Added unbind method in SmartViewHolder, 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.