Releases: davideas/FlexibleAdapter
Releases · davideas/FlexibleAdapter
v5.1.0
v5.0.6
v5.0.5
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 of150ms.
- 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
v5.0.4
FlexibleAdapter v5.0.4
Small behavior/deprecation change
- All items inheriting from AbstractFlexibleItemare born with draggable and swipeable enabled!
- Renamed/Deprecated method FlexibleAdapter.isEnabled(position)in favor of the new nameisItemEnabled(position).
Small improvements
- Resolved #580 - Removed finalfromFlexibleAdapter#removeListener().
- Resolved #601 - Can disable manual/onClick collapsing of an ExpandableViewHolder: new methodisViewCollapsibleOnClick().
- Removed some @CallSuperinExpandableViewHolder.
- 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 EmptyViewHelpersetup: 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=trueat compile time.
v5.0.3
v5.0.2
v5.0.1
v5.0.0
⚠️ 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, UnsupportedOperationExceptionfor immutable list on sort.
- Resolved #540 - Multi filter: filter object can be of any type, not just String.
- Resolved #543 - DiffUtilis 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 initStickyHeadersHolderon 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 addListenerandremoveListenermethods.
- 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.
v5.0.0-rc4
⚠️ 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 newAction.UPDATEdoesn't remove items from the Adapter RefactoringOnUndoListenerintoOnActionListener.
- 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 theClassobject (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#onClickshould always callsuper().
- Fixed #481 - highlightTextandhighlightWordstext loose the upper case during the scan.
- Fixed #484 - bindViewHoldermethod 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.
v5.0.0-rc3
⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.
New features
- Extension for LiveData and ViewModel (to use with the new Android Arch library).
- Resolved #431 - CustomTags: Different TAGs for each Adapter instance.
Deprecations / New Behaviors
- Resolved #393 - Provided last sticky header position in the callback OnStickyHeaderChangeListener.
- Resolved #400 - Removal of all deprecated functions.
- setStickyHeaderElevationnow accepts only dpi value.
- Added getBubbleText()inIFlexible. For who inherits fromAbstractFlexibleItem, this change has default implementation returningposition + 1. For who implements directly fromIFlexiblethis method must be implemented.
- Resolved #430 - FlexibleAdapter auto-mapping is now based on the return value of getItemViewTypeinIFlexible. 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 fromIFlexiblethis method must be implemented.
Improvements
- Updated build scripts.
- Scripts with GrabVer.
- SmoothScroll layout managers now implement IFlexibleLayoutManager.
- BubbleTextCreatorcan 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 OnActionListenerin UndoHelper alsoonPreAction()andonPostAction().
 New comprehensive methods name: Renamed the 2 callbacks methods inOnUndoListenerand renamed also the methodremoveseries.
- 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 - setEndlessScrollListenercrashes when logging is enabled.
- Fixed #458 - Handle subExpandable.getSubItems() when null.
DemoApp
- Revised Splash Screen with App name and bigger logo.