Releases: saket/InboxRecyclerView
v3.0
Nested Scrolling
As the highlight of this release, InboxRecyclerView now supports nested scrolling! Manual interception of pull-to-collapse gestures for scrollable content is no longer needed as long as your app uses nested-scrolling aware widgets such as NestedScrollView, RecyclerView, etc.
InboxItemExpander
If you aren’t a fan of using adapter IDs for expanding list items because it’s not 2020 anymore, InboxRecyclerView now lets you supply any Parcelable type using a custom InboxItemExpander. You can read more about it here: Custom expansion keys.
Haptic feedback
This release introduces PageCollapseEligibilityHapticFeedback that can play haptic feedback during a pull-to-collapse gesture to indicate when the page can be released to collapse.
Breaking changes
For apps that use a custom DimPainter, this release unfortunately introduces a breaking change to the function signature of DimPainter#cancelAnimation().
v2.3.0
New features
- Smoother page expand and collapse animations (comparison video).
- New animators: scale and none. Thanks @paolovalerdi!
- Dimming of page when it is pulled past the collapse threshold (video).
Visually breaking changes
v2.0.0-beta3
-
Improved handling of size changes in both
InboxRecyclerViewandExpandablePageLayout, especially when they're resized while expanding. This can happen if the soft keyboard is shown. (7654e48, 9d54032 and c13948e). -
Made
InboxRecyclerView#attrsconstructor parameter optional so that it can be created from code. -
Sample: Restored FAB animation by removing the use of the hidden
AnimatedVectorDrawable#reverse()function that no longer works on newer Android versions (6f02363).
v2.0.0-beta1
Improvements
InboxRecyclerViewand itsExpandablePageLayoutno longer need to be of the same dimensions and share the same parent in the view hierarchy (Fixes #10).- Support for detaching a
ExpandablePageLayoutsfrom itsInboxRecyclerView, essentially making it possible to use multiple expandable pages with the same list (Fixes #32).
Breaking changes
InboxRecyclerView#setExpandablePage() is removed in favor of exposing the properties directly:
val page = findViewById<ExpandablePageLayout>(...)
inboxRecyclerView.expandablePage = page
// This is optional. The default value is ~48dp.
page.pullToCollapseThresholdDistance = dp(40)v1.0.0
No new changes since v1.0.0-rc2.
Making this release to pave way for v2.0.0 which will bring in some breaking changes (more details here).
v1.0.0-rc2
The highlight of this release is a fix for a funny bug that was making InboxRecyclerView unusable with battery saving enabled.
New changes
- Changed the visibility
ExpandablePageLayout#parentToolbarto private in favor ofpushParentToolbarOnExpand(). - Made
ExpandablePageLayout#pullToCollapseInterceptornullable so that it's easy to unregister an interceptor. - Made
InboxRecyclerViewopen so that it can be subclassed.
Fixes
- #25: InboxRecyclerView items doesn't get reset when the page is collapsed while Battery Saver is enabled (5217691).
- #20: Pressing the back button twice in quick succession while the page was open crashes the app if
ExpandablePageLayout#parentToolbaris set (b70c000). - Some more fixes related to clearing of state and strong references when
ExpandablePageLayoutis detached from the Window.
v1.0.0-rc1
This is a major release and I'm fairly confident that InboxRecyclerView is now ready for stable consumption.
v1.0.0-beta3
- Fixed a bug that was causing
InboxRecyclerViewitems to stay focused even their content had collapsed
v1.0.0-beta2
- Removed the restriction for positioning
ExpandablePageLayoutat a higher z-index thanInboxRecyclerView - Set up publishing of javadocs and sources. Thanks @hzsweers!
- Specified the dependency on androidx explicitly in readme
v1.0.0-beta1
First release! I'm fairly satisfied with the APIs, but I'll keep the beta tag around for a few days to address feedback.
Here's the announcement blog post: http://saket.me/inboxrecyclerview/