FlexibleAdapter Versions Save

Fast and versatile Adapter for RecyclerView which regroups several features into one library to considerably improve the user experience :-)

5.1.0

5 years ago

FlexibleAdapter v5.1.0

  • AndroidX

UI v1.0.0

  • AndroidX

Databinding v1.0.0

  • AndroidX

LiveData v1.0.0-b3

  • AndroidX

5.0.6

5 years ago

FlexibleAdapter v5.0.6

Fixes

  • Fixed #621 - High threshold in endless scroll incorrect loads next items.
  • Fixed #651 - Check null on restored list: NPE happens in some unknown cases.
  • Fixed #655 - Fixed expanded flag on filter reset when starting with all expandable collapsed.

5.0.5

5 years ago

FlexibleAdapter v5.0.5

Scrollbar improvements:

  • New method setHandleAlwaysVisible().
  • New attribute fastScrollerHandleAlwaysVisible.
  • New resource colors that can be overridden: fast_scroller_bar, fast_scroller_handle_idle.

Small improvements

  • New method smoothScrollToPosition(), to safely scroll to a position with a default delay of 150ms.
  • Resolved #607 - Added new method removeSection(IHeader).
  • Better sticky header layout at runtime.

Fixes

  • Fixed #605 - FastScroller handle sync delay (Handle didn't move during scrolling of the 1st and last page in a long list).
  • Fixed #606 - Selection bug after screen was turning off and then on. Bug was introduced in 5.0.2 in onSaveInstanceState.

UI v1.0.0-b5

  • New utils methods

5.0.4

6 years ago

FlexibleAdapter v5.0.4

Small behavior/deprecation change

  • All items inheriting from AbstractFlexibleItem are born with draggable and swipeable enabled!
  • Renamed/Deprecated method FlexibleAdapter.isEnabled(position) in favor of the new name isItemEnabled(position).

Small improvements

  • Resolved #580 - Removed final from FlexibleAdapter#removeListener().
  • Resolved #601 - Can disable manual/onClick collapsing of an ExpandableViewHolder: new method isViewCollapsibleOnClick().
  • Removed some @CallSuper in ExpandableViewHolder.
  • Updated Gradle distribution to v4.6, build scripts and library versions.

Fixes

  • Fixed #592 - Multi expandable items: Position must be increased by value returned from "expand" method.
  • Fixed #594 - Updating sticky header checks same item view type. Increased delay to 100ms, giving more time to the LayoutManager computation.
  • Fixed #597 - FlexibleAdapter.onLoadMoreComplete(list, -1) not working.
  • AnimatorAdapter will animate correctly the Scrollable Headers and Footers.
  • Fixed all returning generic type of FlexibleAdapter setters.
  • Adjusted some log description.

UI v1.0.0-b4

  • Improved EmptyViewHelper setup: static creator methods (constructors are now private).
  • On going animations of emptyViews are now cancelled before changing again alpha value (fixes consecutive fast switching).

Databinding v1.0.0-b3

  • Using android.databinding.enableV2=true at compile time.

5.0.3

6 years ago
  • Fixed #575 - Sticky header is disappearing when scrolling as regression from #568.

5.0.2

6 years ago

Fixed #568 - Possible memory leak when using Sticky Headers.

5.0.1

6 years ago

FlexibleAdapter v5.0.1

  • Fixed #565 - Confirm item deletion from list after the adapter is filtered.

UI v1.0.0-b3

  • Adapted UndoHelper to coordinate item deletion after filtering and after undo time is over.

⚠️warning: flexible-adapter-ui:1.0.0-b3 requires flexible-adapter:5.0.1.

5.0.0

6 years ago

⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.

Improvements

  • Resolved #384 - Ability to recognize child (👶) view click.
  • Resolved #507 - New filter results callback: support for observing the current state of filtering.
  • Resolved #523 - Swipe delete, UnsupportedOperationException for immutable list on sort.
  • Resolved #540 - Multi filter: filter object can be of any type, not just String.
  • Resolved #543 - DiffUtil is back 😉
  • Added new method getItem(position, class) to automatically cast the item expected from that position.
  • Added new method setHeadersShown(boolean) to manually change the flag to indicate that headers are already inserted in the main list by the user.
  • Removed all deprecated functions!
  • Improved nullity of FastScroller instance.

Fixes

  • Fixed #512 - NPE in initStickyHeadersHolder on orientation change.
  • Fixed #521 - Fixed Sticky Headers swapping with Staggered Layout.
  • Fixed #516 - Better section gap when expand/collapse the last item of section.
  • Fixed #514 - Removed @NonNull annotation for parameter in addListener and removeListener methods.
  • Fixed #547 - Invalid first page number when initializing with empty list/null.
  • Fixed #552 - Scrollable Header appears under main items in endlessly scrolling list.

UI extension

  • Added EmptyViewHelper #439.

LiveData extension

  • Added Comparator to sort items when using FlexibleItemProvider with LiveData.

5.0.0-rc4

6 years ago

⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.

Deprecations / New Behaviors

  • Resolved #501 - Some Common, Helper and Util classes have been moved to a new UI Extension library: this made the Adapter library thinner and without the direct dependency of Support Design library. The package signature remains the same.
implementation 'eu.davidea:flexible-adapter-ui:1.0.0-b1'
  • Resolved #438 UndoHelper: Use of new Action.UPDATE doesn't remove items from the Adapter Refactoring OnUndoListener into OnActionListener.
  • Resolved #503 - Forward scrolling and Reverse scrolling are now independent (deprecated old methods).

Improvements

  • Resolved #503 - Forward scrolling and Reverse scrolling are now independent (new methods involved).
  • Resolved #506 - Added IFlexible method callbacks when onViewAttachedToWindow()/onViewDetachedToWindow() are called by RV.
  • The method removeListener(@NonNull Object listener) can now accept the instance of the listener or the Class object (as before) if the instance is not available.
  • Upgrade to Android Studio 3.0.0 and Support Lib 27.0.2.

Fixes

  • Fixed #475 - Custom and default divider gone in RC3.
  • Fixed #477 - ExpandableViewHolder#onClick should always call super().
  • Fixed #481 - highlightText and highlightWords text loose the upper case during the scan.
  • Fixed #484 - bindViewHolder method is causing a problem with GreenDao.
  • Fixed #490 - Automatically fetch first result on load more, scrolls the RecyclerView.
  • Fixed #492 - NPE when expanding item with auto-scroll.
  • Fixed #499 - Sticky Header can only be updated once.

5.0.0-rc3

6 years ago

⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.

New features

Deprecations / New Behaviors

  • Resolved #393 - Provided last sticky header position in the callback OnStickyHeaderChangeListener.
  • Resolved #400 - Removal of all deprecated functions.
  • setStickyHeaderElevation now accepts only dpi value.
  • Added getBubbleText() in IFlexible. For who inherits from AbstractFlexibleItem, this change has default implementation returning position + 1. For who implements directly from IFlexible this method must be implemented.
  • Resolved #430 - FlexibleAdapter auto-mapping is now based on the return value of getItemViewType in IFlexible. This gives flexibility to reuse same Layout for multiple item types as explained in #430. For who inherits from AbstractFlexibleItem, this change is transparent. For who implements directly from IFlexible this method must be implemented.

Improvements

  • Updated build scripts.
  • Scripts with GrabVer.
  • SmoothScroll layout managers now implement IFlexibleLayoutManager.
  • BubbleTextCreator can be set in FastScroller.
  • Added Log when attaching/detaching RecyclerView.
  • Resolved #397 - Support for fully recursive lists (expansion, collapsing, and update).
  • Resolved #401 - Multilevel option to collapse or keep expanded status to sub-expandables.
  • Resolved #427 - Dynamically add and remove listeners.
  • Resolved #428 - Option to disable swipe/drag capabilities when ActionMode is activated.
  • Resolved #434 - Consecutive Undo requests option & improved the general stability. New method to commit one by one the swiped items and undo only the latest action. Also, it will clear the internal memory references at the end of the dismissal event!
  • Resolved #438 - Deprecated OnActionListener in UndoHelper also onPreAction() and onPostAction().
    New comprehensive methods name: Renamed the 2 callbacks methods in OnUndoListener and renamed also the method remove series.
  • Resolved #437 - Upgrade to Support Library v26.
  • Resolved #442 - Divider only for specific ViewTypes

    ⚠️ A small bug has been reported, see issue #475 for quick workaround.

  • Resolved #443 - highlightText() with multi-span in same text.
  • Resolved #450 - New method highlightWords().
  • Resolved #456 - Show divider after last item.
  • Resolved #461 - Optional Section Gap Offset for last item.
  • Resolved #462 - Added new method getSameTypePositionOf().
  • Resolved #463 - Get position of item in section, modified getSubPositionOf().

Fixes

  • Fixed #387 - Proguard issue with "SourceCode" and line numbers.
  • Fixed #389 - Removed advancement of position beyond subItems such that now all subItem positions will be checked for nested expansion during update.
  • Fixed #392 - FlexibleItemDecoration withOffset not working correctly for section headers (use of spanSize).
  • Fixed #394 - Add subItem doesn't account for others expanded subItems.
  • Fixed #395 - Use of MarginLayoutParams instead of LayoutParams when init StickyHeadersHolder layout.
  • Fixed #404 - Expandable Sticky Header becomes invalid after updateDataSet.
  • Fixed #409 - setEndlessScrollListener crashes when logging is enabled.
  • Fixed #458 - Handle subExpandable.getSubItems() when null.

DemoApp

  • Revised Splash Screen with App name and bigger logo.