Skip to content

v5.0.0-b4

Pre-release
Pre-release
Compare
Choose a tag to compare
@davideas davideas released this 21 Feb 22:29

Headers

  • Added Sticky Header functionality [See #32].
  • New IHeader interface has been added to identify the fact the item is a Header item, as consequence, ISectionable interface now has to be assigned to the items(!!) in order for them to hold the reference to the IHeader item.
  • Headers are shown/hidden during expand/collapse if they belongs to children.
  • Headers work in combination with restore items, in all situations (... the ones I have foreseen).
  • Headers can also be deleted and restored in any situations: they are re-linked all the time with the item below it.
  • Headers can be dragged, swapped and receive the new swapped item.
  • Dragging items, it automatically re-links the header in almost all situations (the logic can be improved).
  • Support for Orphan Headers: deleting all items under a header, when the headers are visible and hidden, it makes the header orphan, an option has been added to delete the orphan headers as well. Currently the orphan headers, ones hidden, cannot be shown anymore (they are lost, food for the gc), you should re-link them manually.

Filter

  • Added IFilterable item interface. New clean way to filter items, Items can now implement filter() method in order to be collected for the filtered list.

Improvements

  • FlexibleAdapter is not anymore abstract.
  • Added support for AndroidStudio 2.0 InstantRun: updated Gradle plugin.
  • Added support for isSelectable() it should now be usable.
  • Added methods addSubItems() and addAllSubItemsFrom().
  • Transformed all "add" methods in a chain of calls.
  • Added minimal support for isEnabled().
  • Added a nice DividerItemDecorator into library [See #33].
  • Completely changed the logic how a removed item saves restoration info (now a removed item has an internal reference that should never fail, adjustRemoved() became obsolete and has been removed).
  • Included in the library Utils class the method setHighlightText() Useful to highlight text coming from a search action.
  • Made a better use of Payload when notifyItemChanged is triggered.
  • Restoring all items, now it's much faster in case of restoreSelection is enabled.
  • Cast optimization: removed unnecessary 8 casts by changing some parameters of methods from generic object T to IFlexible and IExpandable types, this should be transparent.

Fixes

  • Fixed crash problem with SelectAll and improved method logic.
  • Fixed last expandable item in expandAll().
  • Fixed automap when not using it.
  • Fixed others minor bugs.
  • Added Copyright notice on the top of the files.

Refactor

  • Modified the signature of getCurrentChildren() to accept an IExpandable object.
  • Renamed IFlexibleItem to IFlexible.
  • Moved into common folder the SmoothScrollLinearLayoutManager class.