Skip to content

Releases: noties/Adapt

v4.0.0

24 Apr 09:14
Compare
Choose a tag to compare

Added

  • Item.Wrapper and Item#wrap
  • ItemWrapper#findWrapped method to obtain wrapper of specific type
  • Item default toString implementation
  • AdaptViewGroup#init convenience method that takes ChangeHandler directly
  • AdaptView#init convenience method that takes Item<?> directly
  • LineNumberId utility to get current line number in source code
  • AdaptDivider utility to divide supplied list (convenience to add dividers/separators)
  • Edges utility class to encapsulate padding/margin
  • Decorator in StickyItemDecoration to additionally process sticky item view
  • A collection of wrappers:
    • BackgroundWrapper
    • FrameWrapper
    • IdWrapper
    • MarginWrapper
    • OnBindWrapper
    • OnClickWrapper
    • PaddingWrapper
    • EnabledWrapper

Changed

  • Item.Key#builder now requires root item, Item.Key.Builder#build does not require argument;
    this is done due to possible confusion of positions of items (so, each call wrap previous)
  • ItemView#bind is overridden by default (no op)
  • AdaptViewGroup#findViewFor uses Item#equals instead of == operator
  • AdaptView uses Item#equals instead of == operator
  • ItemWrapper moved to package io.noties.adapt.wrapper

Deprecated

  • Item.Key.single in favor of Item.Key.just

Removed

  • ItemWrapper.Provider and dedicated constructor ItemWrapper#init(Provider) are removed

3.0.0

31 Mar 14:42
45401e1
Compare
Choose a tag to compare

3.0.0 is a complete rework of previous versions. It does not provide any backwards compatibility. The most important changes are:

  • Items no longer need to be explicitly registered (in most of the cases)
  • Adapt is an interface that comes with specific implementations:
    • AdaptRecyclerView
    • AdaptListView
    • AdaptViewGroup
    • AdaptView

v2.2.0

08 Sep 12:31
ade6d45
Compare
Choose a tag to compare
  • create ItemGroup for easier nested RecyclerView support
  • create ItemLayoutWrapper for easier wrapping of an Item inside a different layout
  • add HasWrappedItem interface (2 implementations - ItemWrapper and ItemLayoutWrapper)
  • utility to automatically process nested RecyclerView state - NestedRecyclerState
  • add Adapt#getItem(position) method
  • add AdaptView#view() method
  • add StickyItemDecoration for sticky headers/sections

v2.1.0

02 Jul 12:37
Compare
Choose a tag to compare
  • migrate to androidx

v2.0.0

15 Apr 19:00
Compare
Choose a tag to compare

Complete re-work of functionality. On top of adapter for a RecyclerView there is also an ability to use components (aka items) in different contexts: as a child of a ViewGroup and bound directly to a View. ViewGroup implementation also comes with diffing algorithm that plays nicely with Android transition framework.

  • package name and artifact group-id change: ru.noties -> io.noties
  • this release is not backwards compatible with previous versions

1.0.0

24 Jun 11:44
Compare
Choose a tag to compare

Initial release