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
AbstractFlexibleItem
are born with draggable and swipeable enabled! - Renamed/Deprecated method
FlexibleAdapter.isEnabled(position)
in favor of the new nameisItemEnabled(position)
.
Small improvements
- Resolved #580 - Removed
final
fromFlexibleAdapter#removeListener()
. - Resolved #601 - Can disable manual/onClick collapsing of an
ExpandableViewHolder
: new methodisViewCollapsibleOnClick()
. - Removed some
@CallSuper
inExpandableViewHolder
. - 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.
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,
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
andremoveListener
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.
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.UPDATE
doesn't remove items from the Adapter RefactoringOnUndoListener
intoOnActionListener
. - 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 theClass
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 callsuper()
. - Fixed #481 -
highlightText
andhighlightWords
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.
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.
setStickyHeaderElevation
now accepts only dpi value.- Added
getBubbleText()
inIFlexible
. For who inherits fromAbstractFlexibleItem
, this change has default implementation returningposition + 1
. For who implements directly fromIFlexible
this method must be implemented. - Resolved #430 - FlexibleAdapter auto-mapping is now based on the return value of
getItemViewType
inIFlexible
. 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 fromIFlexible
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 alsoonPreAction()
andonPostAction()
.
New comprehensive methods name: Renamed the 2 callbacks methods inOnUndoListener
and renamed also the methodremove
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.