History log of /frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3655d024e05cd2eabbfc9e39b662cbb73a399769 18-Dec-2014 Craig Stout <cstout@google.com> Ensure only a single scroller animation callback per frame.

Prevents build-up of tens of callbacks per frame when scrolling
a leanback browsefragment, and Helps overall animation smoothness.

b/18742856

Change-Id: I0a0b84829be00c09da4696fa88698786065f4dd3
(cherry picked from commit 6fd84d58c261e9c127f50ff789ab28dabf720fe8)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
78f659a66b021d5d0e36800a7144e956d8054cea 09-Dec-2014 Yigit Boyar <yboyar@google.com> Don't stop scrolling if scroller reports 0 diff

Bug: 18667843
Change-Id: Ie05dbc2b198ee7b5eb83bf36e9c7f01e59b5e14c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
0c9222b8ff65798fa394eb4df49755a34150c1d5 02-Dec-2014 Yigit Boyar <yboyar@google.com> Merge "Enable getAdapterPosition when View is rebound" into lmp-mr1-dev
e37d2e63f16bc5c2938e372238ba54679a9e578e 27-Nov-2014 Yigit Boyar <yboyar@google.com> Enable getAdapterPosition when View is rebound

getAdapterPosition used to return NO_POSITION if data set has changed
after the last layout and the next layout is not complete yet.
This would be a problem if RecyclerView already processed adapter
updates, rebound the view but has not finished the layout calculation.

This CL starts tracking position invalidation per ViewHolder and
removes the flag as soon as it is rebound. This way, when
ItemDecoration callbacks are called, developers can access adapter
position.

This CL also adds a test to ensure that ItemDecoration callback
promise is kept so that we don't break it in the future by mistake.

Bug: 18524432
Change-Id: I3fc7ac9b0d78bd87b1b85ed15c99af89e252c58b
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
3f937299abacc5ff1be7a5ffa91793396aca0a57 26-Nov-2014 Yigit Boyar <yboyar@google.com> Remove transient views if necessary

This CL fixes a bug where if a disappearing ViewHolder's animation count
reaches to 0 but it is not removed due to its transient state.
We don't care about it anymore and let Adapter decide if it is recycleable
but we should still remove it.

I would actually prefer to update ViewHolder#isRecycleable but it is public
API and changes may break external code so created a different internal
method.

Bug: 18248568
Change-Id: I6a89bc0a2249ea4f0effc90ef2636e1ce69e283f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4965046abec63014d2a5e7f72f6c9e11b73a4907 25-Nov-2014 Yigit Boyar <yboyar@google.com> Trigger on scroll callback if position changes during a layout

Bug: 18433923
Bug: 18248568
Change-Id: Iae93ebe2f9c850aee70c2efcd71f2da7301940ae
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
9c0a9654497b759feef634e3d574c511d4d4ef4e 25-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed minor bugs in RV's scroll handling." into lmp-mr1-dev
670a72b9301fa53a763344036e4d3ff1995f36df 24-Nov-2014 Yigit Boyar <yboyar@google.com> Fixed minor bugs in RV's scroll handling.

This CL fixes two issues related to how RV handles scrolling.
Previously, if layout manager supports scrolling in both directions, RecyclerView
would stop flinging if LayoutManager cannot scroll as much as requested
in both directions. Now, it continues even if only one of them is fully consumed.

This CL also fixes a bug where if fling or smooth scroll is manually called, we would not
check if LayoutManager supports scrolling in that axis. This would result in unexpected
calls to LayoutManager which may create problems if it is a generic one that supports
both orientations (like the default ones). Now, we'll check if LM supports scrolling
in that axis in public scroll/fling methods.

Bug: 18208220
Change-Id: Ia8e30a3b822b06cf275ae6c2de7e64b8e70e4d59
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
115ba0c7b2a14aa4cd0273952195e1d8f6468f87 10-Nov-2014 Yigit Boyar <yboyar@google.com> Deprecate ViewHolder#getPosition

getPosition methods in RecyclerView were ambiguous because of the deferred
handling of adapter updates. To avoid future confusion, this CL deprecates
methods that receive or return "position" and introduces two methods that
receive / return "layoutPosition" or "adapterPosition".

This will help developers get the exact number they need (e.g. the position
in adapter vs the position user is currently seeing)

The following methods have been deprecated:

RecyclerView#getChildPosition
RecyclerView#findViewHolderForPosition
ViewHolder#getPosition
LayoutParams#getViewPosition

Bug: 18213371
Change-Id: I52667bd43e32fc55de8861f5fdc01a0aa7fbe60f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d17ce72488bb0b13b34a3684c86e48c230b6a5a4 21-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "Add an API to let Adapter recycle transient views" into lmp-mr1-dev
e2437126f0225135891544315ff72e54c7de0f59 05-Nov-2014 Yigit Boyar <yboyar@google.com> Add an API to let Adapter recycle transient views

Bug: 17783452
Change-Id: I70f2386b6f7d88e78a389a7fc1f583d0f1c45c0e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
abd0fbfcdd5b438909f126392eca5978b5939b6d 19-Nov-2014 Yigit Boyar <yboyar@google.com> Guard layout managers calls not to crash

Previously, RecyclerView would crash if a call should be handled by Layout Manager
and it is not set yet. Although this makes sense, there are some cases where
developer would like to set LayoutManager after checking some other logic or
RecyclerView is attached/detached w/o being setup. This CL guards a bunch of
public calls to print an error if LayoutManager is not present, instead of crashing.

Bug: 18444564
Change-Id: I666ea346a615ca5338af32b25774bf90bbcb551c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
cde1904360f40242927aed189f7ee7fc7e3ac0e3 13-Nov-2014 Adam Powell <adamp@google.com> am 6259936e: am 150903e5: Touch slop modification for RecyclerView

* commit '6259936e9266aeace2e6acbe02fae2a840c6fced':
Touch slop modification for RecyclerView
150903e517bf7c5a992674a6899e6427cd036d76 12-Nov-2014 Adam Powell <adamp@google.com> Touch slop modification for RecyclerView

Provide a way for apps to declare that they are using RecyclerView for
a specific purpose and therefore need a touch slop value different
from the default value reported by the system.

Add a touch slop configuration for paging. (e.g. ViewPager)

Bug 18257096

Change-Id: I9733126ec24e29378cca830b7871dda65b5e53d2
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
92a1de7cf4a073e0f201f482722e613c33003f5b 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Fix RecyclerView's child focus rect calculations" into lmp-dev
6c0f598533402efa1b08045e6850d1fac92818cf 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Don't create accessibility info for removed items" into lmp-dev
c546ca2a483b19e357ab55a8d739ba6004312025 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Check for notifyDataSetChanged calls when processing adapter" into lmp-dev
fad47f22e7a701410074a20137e5e51f9ff440ab 16-Oct-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Fix RecyclerView's child focus rect calculations

When a child of RV requests visibilty for a rectangle, we were calculating the width
and height wrong, causing unwanted scroll. This CL fixes it and also disables the
event if it arrives during a scroll or layout

Bug: 17980781
Change-Id: I9584958ae0b208e4a3544d8d36f36d1b283fe6f0
(cherry picked from commit 5794eb556a5b2407fb6bebceba2cc1a032b9f27e)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
fa66d6838610841f5577ada0221077da1fb99e8d 04-Nov-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Don't create accessibility info for removed items

Bug: 18091923
Change-Id: I162cb0bb49ad7d8b9bf8d03c76b71fc99fd78cc1
(cherry picked from commit 086733fbb01e659a6bee96aeeff138ce1844e07b)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
cf8c77256c4d7079099d506a03af2f1c25b0ce7b 03-Nov-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Check for notifyDataSetChanged calls when processing adapter

Bug: 18182313
Bug: 18208149
Change-Id: I34013523b6b47ba3859ebb1bafa3ee433b51c75f
(cherry picked from commit 17d560c4a247dbfb795a2ea838c819cda77e5fa7)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c110be5ead608d60a4e30307c46f51205ca51b10 03-Oct-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Fix RV's onViewAttached/detached callbacks

This change also fixes a bug in DefaultItemAnimator.

Bug: 17599182
Bug: 17881182
Change-Id: I4adadeb5d2d7d5aaef0f253eac52d2624de73d5e
(cherry picked from commit 90ca3086dbf66ad6bb8840e46ec8524a705e1c18)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
086733fbb01e659a6bee96aeeff138ce1844e07b 04-Nov-2014 Yigit Boyar <yboyar@google.com> Don't create accessibility info for removed items

Bug: 18091923
Change-Id: I162cb0bb49ad7d8b9bf8d03c76b71fc99fd78cc1
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
17d560c4a247dbfb795a2ea838c819cda77e5fa7 03-Nov-2014 Yigit Boyar <yboyar@google.com> Check for notifyDataSetChanged calls when processing adapter

Bug: 18182313
Bug: 18208149
Change-Id: I34013523b6b47ba3859ebb1bafa3ee433b51c75f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
2556d9b0d386915843da11be97a1a86fa9416f5e 20-Aug-2014 Mark Wei <markwei@google.com> DO NOT MERGE Only call #requestDisallowInterceptTouchEvent on the parent if #scrollByInternal consumed any scroll in either direction.

Add return value to #scrollByInternal to return whether any scroll was consumed in either direction.

Change-Id: Ifa2177e30dcdccc4832e78a78c86dea756f06884
(cherry picked from commit bbdd1b82ef6edc1bb5fee9e7c6e116a8a086fcb9)
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
453a20a62b58f663bb4a8df3325b41c6f1c0a7b4 27-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Clarify findViewHolder method documentations" into lmp-mr1-dev
41c6a88599d7611e6628bca965749c21e8ef8d47 17-Oct-2014 Yigit Boyar <yboyar@google.com> Clarify findViewHolder method documentations

Bug: 17960853
Change-Id: Id34d4db31c114d001b4f96353a4127441011eb13
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
90ca3086dbf66ad6bb8840e46ec8524a705e1c18 03-Oct-2014 Yigit Boyar <yboyar@google.com> Fix RV's onViewAttached/detached callbacks

This change also fixes a bug in DefaultItemAnimator.

Bug: 17599182
Bug: 17881182
Change-Id: I4adadeb5d2d7d5aaef0f253eac52d2624de73d5e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
62de6c980de09f2c437652cec60d3f1dd4364fa7 22-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Fix RecyclerView's child focus rect calculations" into lmp-mr1-dev
5794eb556a5b2407fb6bebceba2cc1a032b9f27e 16-Oct-2014 Yigit Boyar <yboyar@google.com> Fix RecyclerView's child focus rect calculations

When a child of RV requests visibilty for a rectangle, we were calculating the width
and height wrong, causing unwanted scroll. This CL fixes it and also disables the
event if it arrives during a scroll or layout

Bug: 17980781
Change-Id: I9584958ae0b208e4a3544d8d36f36d1b283fe6f0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
824a7db96feacf3b68f56993ed72712bc935153e 14-Oct-2014 Yigit Boyar <yboyar@google.com> RecyclerView should call correct adapter on swap

Bug: 17687329
Change-Id: I35bc785e6c64d1fd0844286766e8ddb59d061737
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d58fec35d48d3b48a27987262c3e231cfa9dbf53 09-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Clear accessibility delegete from recycled views" into lmp-mr1-dev
9c2b7d097933db121b8e3ee956c3aa1029b9c44d 09-Oct-2014 Yigit Boyar <yboyar@google.com> Enable change animations by default in RecyclerView

Bug: 17470078
Change-Id: I801fee8f094be837f698d8192563edacd8ecf872
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d392c8cae159a3a9a416200f4e117634bdbf064e 09-Oct-2014 Yigit Boyar <yboyar@google.com> Clear accessibility delegete from recycled views

When a view is recycled, RecyclerView should clean the accessibility
delegate. Not doing so was causing problems if View is added to
another container which is not a Collection

Bug: 17739472

Change-Id: I45c5895342f33fa485daae178ad508bda0fb4f68
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c774dadb5fc72bca35f16dd87cf3ac256d8d8c4c 03-Oct-2014 Yigit Boyar <yboyar@google.com> Channel detachView(view) method via childHelper

Bug: 17811893
Change-Id: I217bb9c9d3464f09b956fe321bd367eebfb5e26d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c13b4e15a08da12b094ddd08760c3983be3174ba 27-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Add documentation to RecyclerView.Adapter" into lmp-dev
59b0d307a6011603af030f407adf7f442270ff73 26-Sep-2014 Yigit Boyar <yboyar@google.com> Add documentation to RecyclerView.Adapter

Bug: 17671775
Change-Id: Ifd95e8c704c14e5f86f10894bc56e5e9f4bed3fe
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
bb6ebab3b3b85ec20b3bc262289a2460705322f5 25-Sep-2014 Yigit Boyar <yboyar@google.com> Set scroll state when stop scroll is called

Bug: 17644072

Change-Id: Iac0b0cff4ee06b461cebb6e933a5a712a06a7a4e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
b2090541871a8efb3d07f13d6f062ff6184e0827 21-Sep-2014 Chet Haase <chet@google.com> Replace continue with break

The current code continues iterating through the loop, when the intention
was to break after finding a match.

Issue #17588980 Missing break in dispatchLayout

Change-Id: I98121b92bd04ea0eb21990094a960cb50e7429e6
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
888fd59cf92d15a843518c84a1ef3914fd968a98 16-Sep-2014 Svetoslav <svetoslavganov@google.com> Fix a NPE in Recycler View

bug:17513773

Change-Id: I31b4e15542180100f0a1a102b3071d6d152f0b29
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4b9b4d3fca81486051bac9aadb73d8865948c3bf 12-Sep-2014 Yigit Boyar <yboyar@google.com> More adapter helper tests and bugfixes

Move operations are harder to handle because they break
continuity. With this change, AdapterHelper will first
reorder ops to push them to the end of the list then
process as usual.

Bug: 17457999
Change-Id: Ifb95264adf75a59b81fcab02269047681a26333c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ef45c7a86f619561da341346a31ea9ac9814c29f 11-Sep-2014 Yigit Boyar <yboyar@google.com> Fix reference to wrong build

Bug: 17411052
Change-Id: I13aea08560289bfbaaf704187e43e3872206c548
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a910619e83d0052e1d81aa5fe532821a2f99d76c 09-Sep-2014 Yigit Boyar <yboyar@google.com> Add a11y support for RecyclerView

Bug: 17411052
Change-Id: I9ef93f0bb072e190d6017ee991e6d2c0ab119a62
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
62f48726406b8be9ff7f990564bc82febefde931 05-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Fix GridLayoutManager's reverse scroll" into lmp-dev
061c3284cf284424ae084799dd7ba5c8d6d59faa 01-Sep-2014 Yigit Boyar <yboyar@google.com> Fix GridLayoutManager's reverse scroll

This change also fixes a bug where GridLayoutManager was not
respecting the size in LayoutParams (in scroll direction).

Bug: 17338285
Change-Id: I80f5fdd7c46f4ed2c7357f89c3556b0a7ed59d85
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a5dc6f3eb86aacd2b287f6ea588aa1d900f6702a 01-Sep-2014 Yigit Boyar <yboyar@google.com> Return first level focused child of RecyclerView

Bug: 17340646
Change-Id: Ic583cd54984f46dc3c8dfa3b65cb60dcd923cf69
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7105f33709abaa02f1c5a911045886d8faed226a 29-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Call invalidate when detached child is rebound & added" into lmp-dev
0ec96558f829719283bb1a49ff218c3ce1430626 28-Aug-2014 Yigit Boyar <yboyar@google.com> End all animations when RV is detached

Bug: 17307859
Change-Id: Ia213d52ab79f8c80bdfb5321e7a726876b8554a2
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
2fa9ba9bab24354d4a279b4a5e4d05ddc9b80938 28-Aug-2014 Yigit Boyar <yboyar@google.com> Call invalidate when detached child is rebound & added

Bug: 17299435
Change-Id: I393fc5d8066fbc13cdacb1855419932a35934225
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
42c4af4ff383daf001263ae18a9b00b9fbf87487 23-Aug-2014 Yigit Boyar <yboyar@google.com> Clean old positions for unused scrap views

Bug: 17144600
Change-Id: I810edc10d110b9473e2bb5a2ce80d193359c1133
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7545ae95dc15e2e4365dfeb2720cce6ffdd63082 20-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Fix adapter's onViewDetached callback for animations" into lmp-dev
cb3e8e071d7d7dd06a2ce21c3e3376ee988ac109 19-Aug-2014 Yigit Boyar <yboyar@google.com> Fix adapter's onViewDetached callback for animations

Bug: 17069397
Change-Id: Ic29c46e38b838f41a47cb1795832d4300c87f889
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
93d88283955af6643f2ea0f3cc6cbc34ea49f181 18-Aug-2014 Yigit Boyar <yboyar@google.com> Recycle a view if it is added then removed instantly

Bug: 17096150
Change-Id: I6115512f71598f88fdc631ff50f7a1c4f7dc4481
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
950ba62a354885861a47e2e56ad46e2b99ac4e9e 14-Aug-2014 Yigit Boyar <yboyar@google.com> Don't mark cached views as changed

Bug: 17019652
Change-Id: Ic4aa9bdd5a273bc57c550d420cb1c59c7869c5bc
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
18ae336dbaae3db982f38cde08936c9f0243757b 14-Aug-2014 Yigit Boyar <yboyar@google.com> Make sure views are not re-added to disappearing list

Bug: 17020852
Change-Id: I044ae613ac00e2bd0b1ec7928fac9a5ca09c3f59
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d18ad0e2b5268420e252382f3524d535826aae6e 14-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Check all pending animation groups in DefaultItemAnimator#isRunning" into lmp-dev
047e1151b1ce6965f5578eac83ee1ac3cf524ba7 13-Aug-2014 Yigit Boyar <yboyar@google.com> Check all pending animation groups in DefaultItemAnimator#isRunning

I also added a test case class for DefaultItemAnimator

Bug: 16958409
Change-Id: Id410890d146afeb953e934358e9c2ba12c14bc07
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
36e2603548ec837e49e4ae6e9413e082ccfb376c 14-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Ignored views should be ignored by getViewForPosition" into lmp-dev
f485be9def4c0f72cfdfa6b0c616c23f04652817 13-Aug-2014 Yigit Boyar <yboyar@google.com> Ignored views should be ignored by getViewForPosition

Bug: 16950247
Change-Id: I3940ce3b049a3ae718706c503b0404f3fda43ffd
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
01814b4356a90ec5bbb42ce060e54c30a552fec0 14-Aug-2014 Yigit Boyar <yboyar@google.com> Avoid velocity tracker NPE in RecyclerView

Bug: 16980122
Change-Id: I96c460542f1b12484b396b86ae9d35b3b0f82eb6
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e7acc857d898ab8fedb82d0113202ce008f0c7c0 08-Aug-2014 Chet Haase <chet@google.com> Remove deprecated method in RecyclerView.ItemAnimator

Issue #16399347 Add to ItemAnimator onAddFinished, onRemoveFinished, and onMoveFinished

Change-Id: Ib956416ea0f029b9bb5113fb291cda7bf897a4a9
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4d0ec6f430fd1e0228e5465a7973f50438bf2949 08-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Provide an API to map pre-layout positions to adapter" into lmp-dev
4bacf13ec17763ba2e2d049d32a4a1dcca77a433 07-Aug-2014 Yigit Boyar <yboyar@google.com> Provide an API to map pre-layout positions to adapter

This CL also fixes a bug in AdapterHelper where it was not handling
it properly when a moved item is removed at the same layout pass.

Bug: 16192614
Bug: 16823251
Change-Id: I30e66e75a85f0396381c9a4f1dea8bf20655e4bc
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
5e79cc4e2c96b0dd1d4de6f3208f9da3bcb69d26 06-Aug-2014 Yigit Boyar <yboyar@google.com> Provide a public method to calculate decor insets

Bug: 16842411
Change-Id: I3fa347d8f99da26b3afbf675334f670db710ca45
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a64498c53faef538d3fb31166ac71c2d826198cc 06-Aug-2014 Yigit Boyar <yboyar@google.com> Stop ViewFlinger when layout does not consume full distance

Bug: 16573996
Change-Id: I3a586f22637e709d345d96d2dce3f14974a48eb3
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
02e8289d7a68e5917d5fc04b6ebde51ac95feaac 05-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Improve LinearLayoutManager's re-layout handling" into lmp-dev
310e95e1c6dfe4f26ef594233e65e1ff83e0f1ff 01-Aug-2014 Yigit Boyar <yboyar@google.com> Improve LinearLayoutManager's re-layout handling

This CL fixes a bug in LinearLayoutManager where it was not respecting
stackFromEnd/reverseLayout parameter when RecyclerView is resized.

With this CL, LLM also considers focused child when selecting the anchor
item so that focused child stays at the same position.

I also cleaned up some code and moved complex stuff to separate methods.
This should help make the code more readable.

Change-Id: I8427ee60ee45c337e7e670853d4eeb002592048e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e321eb5c831282c92a28a483692d8520b766a0a5 04-Aug-2014 Chet Haase <chet@google.com> Add methods to ItemAnimator for listening to animation events

Subclasses of itemAnimator can now override new on*Starting() and on*Finished()
methods to find out when animations are starting on specific ViewHolder
objects.

Issue #16399347 Add to ItemAnimator onAddFinished, onRemoveFinished, and onMoveFinished

Change-Id: Id9b47e3f743d5cb53f261a4db58cfdf4ed911005
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
8b6069452294cf0845f6da5908d35040c86c1650 30-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Corrected onChange animation documentation" into lmp-dev
8c919d867f4172ff2f5f28334b1142df9ba26e8b 30-Jul-2014 Yigit Boyar <yboyar@google.com> Corrected onChange animation documentation

Bug: 16656145
Change-Id: If06bf79ab39278c9dc6d6dc5511aa9eeec0bfa16
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
66a5670ac0e58e1d08f6af57b13648c1ab9df441 26-Jul-2014 Yigit Boyar <yboyar@google.com> Change public recyclerview to unscrap views

Bug: 16201361
Bug: 15910842
Change-Id: I5453f9ed33c88c5a0d92f617a4f57cf938be4ec0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c7092783df339e83f46df8d233969f9e059ce0c8 30-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Clarify RecyclerView.LayoutManager#getItemCount behavior" into lmp-dev
931e448545eb21875a7e11c121822921ee084817 26-Jul-2014 Yigit Boyar <yboyar@google.com> Clarify RecyclerView.LayoutManager#getItemCount behavior

Bug: 15410611
Change-Id: Iadc6fd3cf535f8d53e672cf5ea1da8fbeb5e452b
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ee30f03253207f694cc46063b0c8c7cb91d24a6e 28-Jul-2014 Yigit Boyar <yboyar@google.com> Update scroll target if it is removed while scrolling

Bug: 15933296
Change-Id: If576382c3ca64060bc62cd9437c7b6993b8ccb11
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a87ca5a4e00bd446073cf11f75af9bd45fc7a07f 29-Jul-2014 Yigit Boyar <yboyar@google.com> fix broken links in RecyclerView documentation

Change-Id: I7714fdaa8bd761c5f5454f89d207cd4a97205c4f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ab4950e7752a69a4bab6bf2d20d881135108f32f 29-Jul-2014 Yigit Boyar <yboyar@google.com> Fix build: Removed reference to an old method

Change-Id: I144283444cc9b1f17ddcecd96cc443c85a47f2fc
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
20bdc1249666a6bbdf226f7afab52ce27828dee0 28-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Add support for parellel move and change animations" into lmp-dev
a29fe6d4967a704799dc83d35ba80e426e9512cf 24-Jul-2014 Yigit Boyar <yboyar@google.com> Add support for parellel move and change animations

If an item moves during a change animations, now it is also animated to the new location.

We still dont support moving a changed item while it has a shadow. Right now, changed item
jumps to final state while shadow is still fading out.

Change-Id: Id73becbc6832b921a8b11c4999f3da0435e26680
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
bc2c6d6432a227d46a43fd18eb204d89ca472064 25-Jul-2014 Yigit Boyar <yboyar@google.com> Add an API to mass invalidate decor offsets

Bug: 16549198

Change-Id: I24c40aef0a988622d256214fb58e1c2a2daf43c0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7c7fba8365684e1ccfc4f39f286df4d100c6c81f 21-Jul-2014 Justin Klaassen <justinklaassen@google.com> Support predictive change animations

Currently appearing views are not positioned correctly when performing a
predictive animation due to a change in the underlying dataset. To allow the
LayoutManager to supply pre-layout info for the appearing views, allow the
changed view to be scrapped and preserved during the pre-layout pass / change
animation.

Bug: 16040380
Change-Id: Ib4ed1b4fee1965cae356e6ba1b6e6d7a8ea52e67
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
5cfed5428d421f179f83382ad72ec6edd11a066d 23-Jul-2014 Yigit Boyar <yboyar@google.com> Update state on onMeasure call in RecyclerView

Bug: 16187385

Change-Id: Ifee446c47d49536327f34233a853929c6cf2a196
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e0110f4c5dca898db2cc6ee2c5bde64416e52a96 22-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Add methods to get decorations in each side." into lmp-dev
e772f07349e4d9d359e0acca29d27fe6e184db70 22-Jul-2014 Yigit Boyar <yboyar@google.com> Add methods to get decorations in each side.

Bug: 16113209
Change-Id: I145612c35b5177a5841dfcb95745494346663666
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
6f2e6bb7c3d11950dbbb194151fea12916bd7e71 22-Jul-2014 Yigit Boyar <yboyar@google.com> Recursively invalidate display list on detached views

Bug: 16372890
Change-Id: I9789cb26a8880ec66a2234dc10cd6f6685c50fe8
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
0b1059b711009601ff08354e2df6bfc45266e80a 21-Jul-2014 Yigit Boyar <yboyar@google.com> Add swapAdapter method to RecyclerView

Bug: 16315373
Change-Id: Ia790aff458d2ca61ec403dd9887d9758eb74f47a
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a5cfdf6e647d34c66b7df8688cb35d9a3b7b24a0 19-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "RecyclerView should skip ignored children in mass recycle" into lmp-dev
24e05b1d19b94e2258a6a07c508b17600b71b2c6 18-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Invalidate RecyclerView during animations" into lmp-dev
e3d27c97eb0769997cd9d73baabffff70551efe0 18-Jul-2014 Yigit Boyar <yboyar@google.com> Invalidate RecyclerView during animations

Bug: 16241985
Change-Id: Icac7f6d035095f2937a2628fa59af056ba6aa478
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
18f44fd3da1e99bf58fdbadc43deca4d2c5080ff 18-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Check for NPE on focus callback in RecyclerView" into lmp-dev
cef7b4942bacc862ea4eac66952e9f7aba027d18 15-Jul-2014 Yigit Boyar <yboyar@google.com> Update RecyclerView scroll listener API

This change adds RecyclerView as a first parameter to the scroll related callbacks.

It also fxies a bug where scroll callback was being called w/ the intended scroll
amount instead of the real scroll amount.

I also changed it to be an abstract class instead of an interface to make future
changes easier.

Bug: 16054949
Change-Id: I99a1f91dcd442c1ac3ad1ed7dbf4598d1cee9c28
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c032ec5462f6c7c07031310090e23af65841deee 18-Jul-2014 Yigit Boyar <yboyar@google.com> Track clip to padding variable in RecyclerView

* Changed edge effects to respect clip to padding
* Improved LinearLayoutManager support for clipToPadding=false

Bug: 16353602
Change-Id: I58957b03766594121404bbb8187c57ed1d8ea74e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7f65de5b5acda0b08e1eea2687a92d90148230ca 18-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed RecyclerView EdgeEffect positioning" into lmp-dev
1bcda2c4c2c4224dcdccd621c0c376645acefd0a 17-Jul-2014 Yigit Boyar <yboyar@google.com> Check for NPE on focus callback in RecyclerView

Bug: 15521068
Change-Id: Ifd64708d92a988f05bb99564d5885c59a2c2c2a7
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
1faed0c7c20fc3a0b7befabbac1beac1019effc7 10-Jul-2014 Yigit Boyar <yboyar@google.com> Add move operation to RecyclerView adapter

Bug: 16127440

Change-Id: Iefd305e714a4bc6dad5f071dfba92aa5c5af8ca3
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
504c54ea52c1b2aae6f8f4ae128f1dcaac7e3f6a 13-Jul-2014 Yigit Boyar <yboyar@google.com> Support animations during multiple layout calls

This CL also fixes two bugs related to view recycling
* we were moving views to cached view list w/o checking if they are recycleable or not
* AdapterHelper had a bug where it was checking missing views via < -1 instead of == -1

Change-Id: I7d70c1b884c3af046ba78924c9a966f83cda99f0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
6e560171b774afafd572b1896becac7b308a92e6 16-Jul-2014 Yigit Boyar <yboyar@google.com> RecyclerView should skip ignored children in mass recycle

Bug: 16322508
Change-Id: Ieddc317771538c7cdab29a2e4898df05706fd6ba
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
decaa3d79db8d5064193401cffe870de1916ea9d 14-Jul-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView EdgeEffect positioning

Bug: 16009048
Change-Id: I1cb4c96449d7474e20d7ea5a426d8e863c76396d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
76e3f987878e9ab5f0ad783a94ae9f1e6b78a435 13-Jul-2014 Yigit Boyar <yboyar@google.com> Use fully qualified class names to fix sdk build

Change-Id: I70ba5d7146193e816b372811e9b15032d7beafbf
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
fe887e2ef94f19c4c8808bf65d7d3bb79511e18f 01-Jul-2014 Yigit Boyar <yboyar@google.com> Added custom view cache support to recycler view

Bug: 15991371

Change-Id: I6c775d3d610e1a824683aef6f60f141bf344eea9
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
cadd54707a7aaa4cfa9c8b8051c6185e8717f22e 11-Jul-2014 Chet Haase <chet@google.com> Invalidate ItemDecorators more aggressively

This CL also changes the ViewDecorator API to receive View and State instead of position

Bug: 15699227
Change-Id: Ie4deb49eed803540a3bd274454d2e67d2f34a50d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
08d9f8fcfb271a508e82c6b845608e764727ccaf 11-Jul-2014 Chet Haase <chet@google.com> Merge "Add RecyclerView animations for change actions"
235114f0ea0ae165e74a478f39bfc586392c53aa 09-Jul-2014 Chet Haase <chet@google.com> Add RecyclerView animations for change actions

Issue #15691746 RecyclerView item animations for changed/resizing item views

Change-Id: Iacfda5b2508b20c8de3ea5ec9547e0f4d527d05e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
38efc791651510a8bc815a707e105554e3bf99f2 11-Jul-2014 Yigit Boyar <yboyar@google.com> Fix RecyclerView to recyle invalid scrap properly

Bug: 16210009
Change-Id: Id4cdf1ef87aaa52581009b651690abbf90ad4522
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
8da5bba529a2fe9bd2aafab28010e11ec4de93c7 08-Jul-2014 Yigit Boyar <yboyar@google.com> Reset ViewHolder when it is passed to/from RecyclerPool

* Fixed a code path where cached views may be sent to recycler
even if they are not recyclable. Did some cleanup on how
cached views are handled.

* This CL also fixes a small NPE when we scrap a view holder

Change-Id: I172fbedf0d3ba06b4121fa275d8fa62c583b91b5
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
6e43f4f95e3ce4a8a14d7ecf0b14a647eba72e93 08-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Fix StaggeredGrid layout to support clipToPadding=false"
c8b0ff5869e17a656a3a1d7fb306efa5b99fa07f 07-Jul-2014 Yigit Boyar <yboyar@google.com> Improved how RecyclerView handles stable ids

RecyclerView can re-use views via stable ids but it was going into an
inconsistent state if an item is removed and re-added in the same layout pass.
This CL takes care of that case and handles it as if item has moved.

Bug: 16081401
Change-Id: Ic0bec5061a4958111c8e43a1cd6634cd90d975b5
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
0ae47e8ceb8062ba460c74149b009cf7914388ea 02-Jul-2014 Yigit Boyar <yboyar@google.com> Fix StaggeredGrid layout to support clipToPadding=false

This change also introduces a way to LayoutManager to force simple
animations if possible

Bug: 15988721

Change-Id: I3726090f9510c14732f67b19e0eab2340cda562e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
0bdfd8728199045676f3ad6c6571e7080099716f 30-Jun-2014 Yigit Boyar <yboyar@google.com> Validate layout and scroll only methods in RecyclerView

If an adapter update method or LayoutManager configuration method is called
during a layout or scroll; it creates very hard to detect bugs.

With this change, RecyclerView, LinearLayoutManager and
StaggeredGridView starts checking some of these potential mistakes.
Coverage can be extended.

Bug: 15615904

Change-Id: I07a4fcf59d02af09e634b4a4eff090538d051d3e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e0c347f627f8a78d3e5e3e5eaac9c3ae26208689 24-Jun-2014 Yigit Boyar <yboyar@google.com> Run simple animations if adapter has stable ids

Previously, if adapter calls notifyDataSetChanged, RecyclerView would
disable all animations since the world may have changed unexpectedly.

With this change, RecyclerView takes advantage of stable ids when views are
returned from scrap/cache so that we can animate these views to their new
locations / positions.

This change also fixes a bug where cached views would not be recycled if
notifyDataSetChanged is called. Now, if adapter does not have stable ids,
cached views are recycled. If adapter has stable ids, they are retrieved
via stable ids.

Bug: 15692095
Bug: 15857302
Bug: 15632007

Change-Id: Ic321dfeb3438e47a0f7606a857511eb821161a0e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
bbf19899050278ae64da0a8bfce209a9f359c853 27-Jun-2014 Yigit Boyar <yboyar@google.com> Do not trigger layout when RecyclerView is detached

Bug: 15911289
Change-Id: I654bdcdadf94956b917614e0a3fbee214877e4d8
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
49c83b12201dde5b93d4eca3d44478e0c967a2e6 26-Jun-2014 Yigit Boyar <yboyar@google.com> Pass recycler to LayoutManager#onDetach callback

Bug:15736907
Change-Id: I6cd50800ebae0ff10b99665fcda77b0da411065c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
501b13667b2cc4426b7b69e015a1ded9c0b13352 28-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed a bug where RecyclerView would not re-bind invalid children"
03a57e1f233833f7d5706bfacb0d5c84d4a039e9 27-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed a bug where RecyclerView would not re-bind invalid children

When an adapter update happens which does not include item addition-removal, I was checking
the wrong boolean which was causing views not being rebind (or layout not being invalidated)
This CL addresses that issue with some other updates in StaggeredGridLayoutManager test

Change-Id: I7f39713b5dc3e5d66306677f06db9774df6f75ff
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
3ed05355fded55e438477b23a1864c3b6d129342 27-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView edge effect problems

This fixes an issue where RecyclerView glows were not drawn in correct location.

It also changes how LayoutManagers handle padding. Now LinearLayoutManager and
GridManager both ignore padding for recycling.

Bug: 15262561
Change-Id: Id760ace44b809f37ee4a905dcb0d56c1583ae072
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
668e774379c036a5d53d07ec69ed9ebee13a1fd9 20-Jun-2014 Yigit Boyar <yboyar@google.com> Track hidden views to allow interleaved disappearing children in RecyclerView

RecyclerView used to put animating views at the end of the view group list
which may cause problems if views overlap. Instead, this implementation keeps
track of hidden item positions.

This CL also removes the requirement to not to call addView for disappearing
children. Instead, LayoutManager can add children via addView (if it is removed)
or addDisappearingView (if LayoutManager want to remove it) and RecyclerView
will hide those views from the LayoutManager after the layout pass is complete.

This CL also enabled animations even if no item changed notifications are
received from Adapter. This is useful when LayoutManager changed how it lays
out views w/o any change in the adapter. LayoutManger can still disable this
feature via existing animations callbacks.

Change-Id: I1aee1832ba1d4e5aff4213bc73fa77a52b70a83d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
fe3996cf5af65fe11cc3ed47b67123ec267bd336 18-Jun-2014 Yigit Boyar <yboyar@google.com> Do not scrap invalidated views in RecyclerView

Bug: 15703871
Change-Id: Ib765ddd2ea5b5d897879f2387e8ae6a9f98e555e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
08232ee3340c1ada9f66f8a7f8af9668a51fd32f 20-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Improved how RV handled item update notification"
50a99fd5de3a9878edbc16e03bda9ea555c71452 19-Jun-2014 Yigit Boyar <yboyar@google.com> Improved how RV handled item update notification

Change-Id: Iafee2f1dc205371b46fc815c85ab9a12ff72221f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
db1a59e506abf901e4415ffb05007d6aebbef9cf 20-Jun-2014 Yigit Boyar <yboyar@google.com> Eat request layout when animation is finished in RecyclerView

Bug: 15748748
Change-Id: I00ad2531af999cc450260f5a4291d0421b0740c3
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
72f8976c85b97f828bbec7b1f2df65b46b570d13 20-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed the scrap view tracking in RecyclerView

Bug: 15750784
Change-Id: I44e063c9136cfc3f91b24a080217d9ee840c7950
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
94c0b086c12e634976fecd47d442bc7a1a6341bb 17-Jun-2014 Yigit Boyar <yboyar@google.com> LLM cleanup

Change-Id: Ib4c9571855dc9a0be6bc5931536e37ff686f5c7d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
1dab44e92c6ae06adce342a1df899ac754f51900 18-Jun-2014 Yigit Boyar <yboyar@google.com> RecyclerView position bugfix when predictive animations are disabled

ViewHolders automatically cache their old position even if two pass animations are not enabled.
(these are separate logics). To avoid bugs caused by it, RecyclerView should always clean
old positions before running final layout pass

Change-Id: Ia0e99b4c66e12cf8f43f3650fb4dd5c5024ab4ae
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c17b4da9ebfac1c9c18237cf10b1e63d9337f62b 18-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Disable RecyclerViewAnimations on notifyDataSetChanged"
b7b44e5454dc409934bcc5609b81d1715c984d40 14-Jun-2014 Yigit Boyar <yboyar@google.com> Disable RecyclerViewAnimations on notifyDataSetChanged

Bug: 15618007
Bug: 15615904
Change-Id: I429847428df00fe334552378e489d92c78d8555b
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7a59e4b36500bcfddd842376d6c3abe0d9f23d84 18-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "findViewByPosition in RecyclerView should ignore removed children."
5ced882cabdcefbb469e332f6f73983999aad0e5 17-Jun-2014 Yigit Boyar <yboyar@google.com> findViewByPosition in RecyclerView should ignore removed children.

Bug: 15676570
Change-Id: I83aed0f0a8e0fee96fac194dd061ec0ca45ff27a
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7a1d7693cfd4d0df5a044a5b5817a750a8b7c1b4 17-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Check view type before re-binding ViewHolders in RecyclerView"
ec93520d243d3eb3c6cddeaea7908d1b869bf367 14-Jun-2014 Dake Gu <dake@google.com> RecyclerView: fix animation not ended properly

1. DefaultItemAnimator should also end animations of mAdditions
and mMoves list.

2. setItemAnimator() should end animations.

b/15622617

Change-Id: I97f8427b2f0c9182c8b5088d6720b71dd14faf4d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
81b1ad72051668805d730edb901bb1a749458505 14-Jun-2014 Dake Gu <dake@google.com> am 2310c154: RecyclerView: fix crash due to bad mAnimatingViewIndex.

* commit '2310c15479d4ed6785c8fcac22145089e5843e13':
RecyclerView: fix crash due to bad mAnimatingViewIndex.
7e9da1a2629b657d56e2f54abd18c6249f3be037 14-Jun-2014 Yigit Boyar <yboyar@google.com> Check view type before re-binding ViewHolders in RecyclerView

Bug: 15596672
Change-Id: Ia42700e400b98b1020dbbba282d383da14d5816c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
2310c15479d4ed6785c8fcac22145089e5843e13 14-Jun-2014 Dake Gu <dake@google.com> RecyclerView: fix crash due to bad mAnimatingViewIndex.

When LayoutManager insert view at a position, RecyclerView does
not update mAnimatingViewIndex.

b/15613119

Change-Id: I2e27917953a7bab7ef124899a8ab60d2a7143ca6
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ddb43d869494cac8a4a8a136014e1e76c4dd1fa1 14-Jun-2014 Yigit Boyar <yboyar@google.com> fix docs

Change-Id: If3d5f03ab762e2f6bc627e1df15d17fbd162ac23
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
22b6b8163d2e15eb6d0a89906854dec801945f1d 13-Jun-2014 Yigit Boyar <yboyar@google.com> RecyclerView: Fix type-check bug for cached views

Change-Id: I1b6d33d7e1aeeb36e697cb95cd7109a9ac53a909
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
8ae76f91527ce850f155ce960fb9068bcd5d49f9 05-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView position bookkeeping bugs

Bug: 15397591
Bug: 15350129
Bug: 15547859
Change-Id: I54d754eb2b788311048d7557f51967b748b2de3e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
341cfcd010161e46b455f5a2b117fd3cc198fbb1 12-Jun-2014 Chet Haase <chet@google.com> Allow item animations to be disabled mid-layout

Some layout changes may necessitate disabling item animations. dispatchLayout()
currently assumes that the state of item animations remains constant throughout
the method, which can result in assumptions about the non-null state of itemAnimator.

This change re-checks the state of itemAnimator after the call to onLayoutChildren(),
which can safeuly abandon attempting to animate changes if the animator has been set
to null in the meantime.

Issue #15570240 NPE when set ItemAnimator to null temporarily

Change-Id: I9c921c50612a619d6fc35c8429ac45a2d9bfcd80
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4af5d9935fd50a8b8d3d185bea59c849434071cb 13-Jun-2014 Chet Haase <chet@google.com> am 0532ce04: Merge "Allow item animations to be disabled mid-layout" into lmp-preview-dev

* commit '0532ce043188768de74d86aead0247dbd23a1b13':
Allow item animations to be disabled mid-layout
11cc99706be620f4a2d7a533f9db5fe005c9b8ea 12-Jun-2014 Yigit Boyar <yboyar@google.com> Pass State to focus callback in RecyclerView

Bug: 15550260
Change-Id: I99da75ea461656f796037ce14485a364665aa4b5
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
902f069d9f895507767adfab322cd0536b9af8e8 12-Jun-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Disable predictive animations in RecyclerView

Bug: 15568972
Change-Id: Ic3de8673fb6897e8457fab481f2771562a6a1f88
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c35968d173f900d8024bdf38174e2225c9a7f311 28-May-2014 Chet Haase <chet@google.com> Enable simple automatic item animations for RecyclerView

RecyclerView now has automatic animations for add/remove operations requiring
no changes from LayoutManagers. This approach, which is enabled by RecyclerView
having a non-null ItemAnimator (the default behavior) and LayoutManager returning
false for supportsPredictiveItemAnimations() (the default behavior), enables
LayoutManagers to run normally, with only one layout pass and requiring no extra
logic to predict placement of appearing or disappearing items. Appearing
and disappearing items will simply be faded in/out, since the RecyclerView lacks
the knowledge or where to animate the views from/to.

Issue #15542012 Simplify RecyclerView animations

Change-Id: I6219210c9b0ca32535182c1d233076a355fe0671
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d3f1c99a290de13631f9635e06444f75344967d2 03-Jun-2014 Yigit Boyar <yboyar@google.com> Flush item updates before scroll in RecyclerView

Bug: 15350129
Change-Id: Ia759eee95a2158df3835a283ad7d44841d699c3b
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
fd79d050b9c7daacf082a029b2cdcfa6bcb588ad 04-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed RecyclerView scrap matching bug" into lmp-preview-dev
11b7cfea15306c0d6e4ed7da09f7698df01695df 03-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView scrap matching bug

Bug: 15386994
Change-Id: If742678f83363b20f4e461060bd081ead0f07bf6
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
519f659f9fb1e5ec6bf0f750e3dff5ff8f1b39b8 03-Jun-2014 Yigit Boyar <yboyar@google.com> RecyclerView should recycle views on adapter change.

Bug: 15389459
Change-Id: I1b926a9dc6cda205070fba5a61c6123e59d5e0bb
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
774aeed975cbe193e37e2ff9c8575234f2463921 02-Jun-2014 Craig Stout <cstout@google.com> Recycle cached views when clearing the cache.

b/15291691

Change-Id: I29aa8ecc916aa88028b453e38cd7a49eb517192a
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d7848507d6c561ca8e17d1954653f4fd26b58f84 30-May-2014 Yigit Boyar <yboyar@google.com> Added first/lastVisible methods to LinearLayoutManager

Bug: 13909619
Change-Id: I947c3cd018afa2a8d387d6cbc87e03b566ee5392
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
888c70abaa77e15458c366b8d27835d176dcc546 30-May-2014 Yigit Boyar <yboyar@google.com> Invalidate RecyclerView on scrap cleanup

Bug: 15331930
Change-Id: I3bee951201342f6a30764db3c766308e00a4383d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
43329fc348a0134d4a3273796a6a9cf71dad04a5 28-May-2014 Craig Stout <cstout@google.com> Add Recycler and State parameters to LayoutManager.onMeasure.

Allows a layout manager to measure children when measuring itself.

b/14885970

Change-Id: Icad22a5e4d19b9827c4c601a364a83bd84883cd2
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d4a794983364c7b1801638abc7f332abee12b6e6 28-May-2014 Yigit Boyar <yboyar@google.com> RecyclerView Cleanup

Removed deprecated methods from RecyclerView.

(cherry picked from commit 34106bc044343fdac6d16623166d17cda17c083e)

Change-Id: Ie9de0aae4519b870302424deaf2326cbf9e4b7fc
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
02751a77fb12b65fefb307b715967efa854620d4 29-May-2014 Craig Stout <cstout@google.com> Fix RecyclerView caching.

b/15314857

Change-Id: I005d709e877d3433a1d52aa8af3480d4f1a18323
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d7d27e9ebe5c7325e67e1a8af265378bd2056cad 28-Feb-2014 Chet Haase <chet@google.com> Add animations to RecyclerView

This CL adds the basic plumbing for animating item changes in
RecyclerView. It also implements the bare essentials add/delete
animations. When the app specifies that items have been
added/removed (by calling the appropriate Adapter methods), the
RecyclerView will determine the appropriate fading and moving
animations to animate the items being added, removed, and moved
into new locations.

Change-Id: I4fa8686f54c8bfa2ba29c399eea112d33f71689c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
b1bfdf4c03d1b25959c5818805b997020f7ed085 15-May-2014 Chet Haase <chet@google.com> Revert "Add animations to RecyclerView"

This reverts commit 33b18903168c177d65e3c2ef7398c1b2ca0c826f.

Change-Id: I41664a375f9fc5fa878481b90cd2e61aad17f739
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
33b18903168c177d65e3c2ef7398c1b2ca0c826f 28-Feb-2014 Chet Haase <chet@google.com> Add animations to RecyclerView

This CL adds the basic plumbing for animating item changes in
RecyclerView. It also implements the bare essentials add/delete
animations. When the app specifies that items have been
added/removed (by calling the appropriate Adapter methods), the
RecyclerView will determine the appropriate fading and moving
animations to animate the items being added, removed, and moved
into new locations.

Change-Id: If70c09e7af168ce5963c785b5886a18c87a7dc98
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
6598bbee8b4e7af155671a5b40039c00b347954f 09-May-2014 Yigit Boyar <yboyar@google.com> Avoid stopping scroller twice

Change-Id: I6412f2067bed7799112a02f958350b83db6be0bf
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7d404b70424ddce590753e30cd86f85bced9c400 02-May-2014 Dake Gu <dake@google.com> RecyclerView: REMOVED holder should not be returned from getScrapViewForPosition

also removed/invalid holder should not be added to cached view.

b/14490672

Change-Id: Id3f52be81d2bd2e2d93008dd6ad9a2c7eb78a07c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
846786b33c7325e99603c2a7947f976b633c3496 30-Apr-2014 Yigit Boyar <yboyar@google.com> Stop scroller when ViewFlinger stops

Also fixes ScrollCompat bug where Chaser may not track finished state properly

Bug: 14409589
Change-Id: I802de488ee6a631a8e8c8860f7689264eab27a75
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c30b4fceb76f45348c20f8b15096e1e13ff0c42f 29-Apr-2014 Yigit Boyar <yboyar@google.com> Fix RecyclerView save instance state bug

Bug: 14351525
Change-Id: I633f073151c4bcbf8b4c24e16d0737aba9e3e3bd
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ac7cd79494bd02a044c9df413d2a20aeebc696e8 25-Apr-2014 Mark Wei <markwei@google.com> Make ViewHolder#isRecyclable respect the view's hasTransientState.

Change-Id: I63ab4b62352cedd765c74384453f6f246fa6e7de
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
0447ba889146f60d6965e6ea66fa4e2cac4d0891 07-Apr-2014 Yigit Boyar <yboyar@google.com> RecyclerView smooth scrolling support

Added APIs and base code to RecyclerView to support smooth scrolling
Added a LinearSmoothScroll that can be used as the default one and should work well
for most layouts.
Added ScrollContext class as a POJO to carry state information to layout and scroll methods.

Change-Id: I9a83c460adfdd5330141167cfbc793beb3a845c8
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
08cbcdeb4283048c097397d042d5ae0d2b8683d3 04-Apr-2014 Yigit Boyar <yboyar@google.com> RecyclerView saveInstanceState

Initial implementation for LinearLayoutManager

Change-Id: Iaf734c5a23c1d5bf8504875975c75af3b9c88388
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
8935a4620bba8a2d2ab7cc8aaa9eeb8f772dadd6 22-Apr-2014 Yigit Boyar <yboyar@google.com> Verify non-null adapter before calling LayoutManager

Bug: 14247753
Change-Id: I5888f2673e07bec836fd57dc04fe82e22ef351f4
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
3b5b2ea88bce411ee2a89d6f9d0e51466c1ab461 19-Apr-2014 Adam Powell <adamp@google.com> Fix docs

Change-Id: I7822e0da1cf2b123a682832b3a257e0cdf067190
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
f2b93981846ce21a06b6a92a5a6ba70a29c345ed 18-Apr-2014 Adam Powell <adamp@google.com> Give RecyclerView LayoutManagers control over measurement

Add an onMeasure call to RecyclerView.LayoutManager and turn
RecyclerView#onMeasure into a passthrough. Default implementation
behaves much like View's standard implementation of measurement.

Add supporting functionality for getting min width/height in
ViewCompat.

Change-Id: Ic7b95f85520d31191f663f6cf3e96880468e20a2
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d2a6991ee3db24fb72be50077770eb1b514e7774 29-Mar-2014 Filip GruszczyƄski <gruszczy@google.com> Merge "Option for not showing glow bars in RecyclerView." into klp-modular-dev
25a1df3b5e7fcd875440ccf6b877cb280d63f418 26-Mar-2014 Yigit Boyar <yboyar@google.com> Scrollbar and scrollToPosition support for RecyclerView

* Added scrollToPosition(int) to LayoutManager and implemented in
LinearLayoutManager.
* Added a passthrough scrollToPosition method to RecyclerView for convenience.
* Added passthrough computeScroll* methods to LayoutManager, implemented in
LinearLayoutManager.

Change-Id: If749b4447363cca6cf8162a1cf1bf03cfac3cd14
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a75ac8e8035b766da916171b1c97ea7f9989cc26 21-Mar-2014 Filip GruszczyƄski <gruszczy@google.com> Option for not showing glow bars in RecyclerView.

Change-Id: I6e8880696d8d56b383318a4c5b578a98c65e8542
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
f5d83f6e99ccd5cc3922a3cbe95db48fdd43c835 21-Mar-2014 Yigit Boyar <yboyar@google.com> Invalidate structure when adapter is changed

Bug: 13568463
Change-Id: I47152146299e1f5d8b1ae415e7aa74a5d4ba898e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7dad56243ebcde65d75d592dc802269a4d86c875 18-Mar-2014 Yigit Boyar <yboyar@google.com> List Layout Manager

Layout Manager that can be attached to a RecyclerView and provide similar
functionality to android.widget.ListView.

This is work in progress but stable enough to start using. Keep in mind,
API may change.

So far, it supports:
* Horizontal and vertical layouts
* RTL layouts
* Reverse layout (similar to RTL but also works vertical)
* Stack from end (similar to AbsListView's stackFromBottom but in both
orientations).
* View recycling

It does NOT add dividers by default but you can provide them as ItemDecorators.

Change-Id: Ic13922bac938b40fd74fa2ed910cdd1c3ea735b7
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
1a0aad1c8ddf7e9b36c8465c6f5fd0bc4168ada3 19-Mar-2014 Dake Gu <dake@google.com> RecyclerView: remove deprecated version of onAddFocusables()

Change-Id: I738fdce02005cfb4aad4dc90a50149be192f9789
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
b56bf9a6ae8a8490ff440ed8c136a72ee6398157 18-Mar-2014 Dake Gu <dake@google.com> RecyclerView: minor change of onAddFocusables() signagure

Pass RecyclerView as parameter.
Uses ArrayList instead of List to match View.addFocusables().

Change-Id: Iac06f2e862894ee9c420cfab062289500baf9067
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4efe4de5e8b02cfd5f64be432695513428ef6bb8 14-Mar-2014 yigit <yboyar@google.com> Pass adapter references to LayoutManager's Adapter changed callback

Added old adapter and new adapter references to `onAdapterChanged` so that
listener can easily register-unregister without keeping a reference to
the adapter.
Fixed a bug where old adapter was not properly sent to recycler's
`onAdapterChanged` method.

Change-Id: I890ddcf527657297e5d0a4bfb40a09c13cd31def
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a102d8db8bfebe4da3d9a8e204b28527f069e81e 14-Mar-2014 Adam Powell <adamp@google.com> Add RecyclerView.LayoutManager callbacks for structural adapter changes

The LayoutManager can now requestLayout if a structural change would
change the visible set of children.

Change-Id: Ie0067c6ffaf563da9f12ec2d1adfd8577b6de8db
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
8e032f7070214b27589e80935e618315f6a41d3a 13-Mar-2014 Adam Powell <adamp@google.com> Implement RecyclerView ItemDecorations

ItemDecorations can now apply offsets to views for cooperating
LayoutManagers. LayoutManagers should use the passthrough methods for
measurement and querying child size and view frame edges.

Change-Id: Ib9c03a8934709a35b894187139331dca81f79f9f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
792172bfec2050ef936a003d9e37829160eb658a 11-Mar-2014 Adam Powell <adamp@google.com> RecyclerView: suppress double ACTION_DOWN for item touch listeners

Since item touch listeners can be called from either
onInterceptTouchEvent or onTouchEvent it's possible that they could
receive the same ACTION_DOWN event twice. Stop this from happening to
prevent listener confusion.

Change-Id: I47b16793eb329e1f0ac07c19a78f90f47b7b05d8
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c096ad1894f1a4543e703ddc9d279fbd3b596c53 06-Mar-2014 Adam Powell <adamp@google.com> More RecyclerView API additions

* findViewHolderForChildUnder() becomes findChildViewUnder()

* Have findChildViewUnder() respect translationX/Y properties

* getChildViewHolder() becomes public

* LayoutManager gets onAddFocusables to override default
ViewGroup#addFocusables behavior

* LayoutManager gets onInterceptFocusSearch to override the default
focus finder behavior before onFocusSearchFailed

Change-Id: Id7e79167fbe68bdbeac6e0cd09c90202b493f4df
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
73fac3b3098a13785965f80eb85ed4516fae79ef 04-Mar-2014 Adam Powell <adamp@google.com> RecyclerView API - child attach/detach and stopScroll

Add methods that RecyclerView subclasses can override to be notified
when child views are attached or detached by a LayoutManager.

Add a stopScroll method to halt any animated scrolls in progress.

Change-Id: I080a65b9f23b709686e3b7ab37d70b543f4478ac
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
37e13211d0dbc700656c262cff7aa801efea5a9d 26-Feb-2014 Adam Powell <adamp@google.com> Add view attach/detach callbacks for RecyclerView adapters

Offer a chance for an adapter to do more fine-grained resource
management and tracking as views are added and removed from the
layout. This lets adapters check if a view was actually attached to a
window vs. just speculatively measured as well as control more of the
caching process if item views come with large bitmaps, etc. attached.

Lower the default offscreen view cache size. Offer a public setter for
the cache size.

Change-Id: Idb2a5e8ab5a84a1e35d46dc261f2ff264cee0624
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
75d83ebafd03b1d949facca738e546ba6f3a1ae4 25-Feb-2014 Mindy Pereira <mindyp@google.com> Off by 1 error when checking child views

When starting from the end, the first position to check
is count - 1

Change-Id: I1d9127486af069d64ada66f35ddd6082722744eb
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
bd254c5a170a60055b8c594441660e4fe819add7 22-Feb-2014 Adam Powell <adamp@google.com> RecyclerView API: create/onCreateViewHolder, bind/onBindViewHolder

Split the create/bind process for RecyclerView adapters into on*
methods to be implemented by the subclass and keep the 'raw' methods
final to perform internal bookkeeping. This ensures that the resulting
ViewHolders are consistent; an app may choose to preemptively create
views from an adapter that may be expensive to inflate and dump them
into a shared pool for later use.

Add a structureChanged bit to LayoutManager#layoutChildren. This gives
a coarse-grained hint to the LayoutManager that can be used to invoke
various fast paths if no new items have been added or removed and only
potential rebinds or relayouts of existing item views may be required.

Change-Id: Ia704bd22a465bc2f0b22e4de43ddfae956d51623
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
d07af858a3791ee91f585d6ed86be0fac6435719 21-Feb-2014 Adam Powell <adamp@google.com> Remove contiguous/fixed count item view type restriction in RecyclerView

Allow non-contiguous view type identifiers from RecyclerView
adapters. This removes the need for a preemptive view type count.

Change-Id: Id6d8b9f89874f2ca9b3453e06787f646db6e63f9
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
beade59d0b2490cc3985c250a8fc3b116f939680 15-Feb-2014 Adam Powell <adamp@google.com> Prevent RecyclerView from reusing cached views with mismatched types

Allow rebinding data from an invalid cached view as long as the types
still match.

Change-Id: I8af155b8c9352cf6cbfc53f989aa9013729df029
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
f7482db37156ce8fa8a2118de456d6ab4c8d0f99 14-Feb-2014 Adam Powell <adamp@google.com> Merge "Fix bugs in add/remove operations for RecyclerView" into klp-modular-dev
67d540464135703df452bcb24c8da05cece3b9d9 14-Feb-2014 Adam Powell <adamp@google.com> Fix bugs in add/remove operations for RecyclerView

Change-Id: I02d085c8f8e57e0ed29c8af098d5a31ad4e7ec91
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
98ba91c2aea31ef4d727c7562b0248ecc422f10e 14-Feb-2014 Adam Powell <adamp@google.com> Have RecyclerView properly handle adapter changes with shared pools

Change-Id: I03a033642b4298e7d215b3f4cc61fc43d7a245cf
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
238bb4aadc07834051eb46a0c5683eaaf1da3970 29-Jan-2014 Chet Haase <chet@google.com> Add functionality for item animations

Change-Id: I2466e9a9dbdc0e9dbb52edb2d8d918357814b798
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
7809c2c229c3a83d0449dfe2d8333c2d15ea0891 12-Feb-2014 Adam Powell <adamp@google.com> RecyclerView updates, caching

Give RecyclerView a first-level cache for views that don't otherwise
need to be updated from the adapter. This allows scrolling back and
forth within a short distance and no round trips to the adapter.

Add extra LayoutManager API needed by clients.

Have RecyclerView offset position records of known views when adapters
are updated, allowing caches to function across updates.

Internally disable the dispatch of start/finish temporary detach. This
shouldn't be necessary since this state never lasts beyond a single
operation. Make reuse of temporarily detached scrap more strict; only
adjusted position matches are valid reuse cases now.

Make the handling of shared RecycledViewPools more precise. It is now
an error to change the adapter of a RecyclerView with a shared pool to
one with a different item view type count.

Add an explicit measureChildWithMargins for LayoutManagers.

Change-Id: Iae31ecd23abb5b55e11dad6fbba370100266039b
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
4b424993a577b4f3d38ebf3611ee743b4beea0c6 11-Feb-2014 Chris Sadler <csadler@google.com> Merge "Fix bug in smoothScrollBy duration when moving vertically." into klp-modular-dev
3ceef3c274cbf8310b3cb1baa6665fb89dea513a 10-Feb-2014 Adam Powell <adamp@google.com> Generify RecyclerView adapters for ViewHolder types

Fix a few small bugs around decoration invalidation and children
relayout.

Change-Id: Ia02ba1468b657302c1034d128c31048b9b1c6d7f
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
76c6c88503b835f681162aefe2f493f7cbebbb69 11-Feb-2014 Chris Sadler <csadler@google.com> Fix bug in smoothScrollBy duration when moving vertically.

Change-Id: I88113a85fdd594e3cf780ff32558bc74d6ff2f67
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
10748a323a5eb18dbac992a463b829ac88c21c4d 07-Feb-2014 Adam Powell <adamp@google.com> Bug fix for scroll state reporting in RecyclerView

Fix a bug that could cause RecyclerView not to report a return to
SCROLL_STATE_IDLE after a touch scroll involving velocities below the
minimum fling threshold.

Change-Id: Ia4df895e743576701da55637fcb60c48772295b5
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
a599398f19adde80e82d2e81753a6e5cefb1fd35 06-Feb-2014 Adam Powell <adamp@google.com> RecyclerView listeners; beginnings of lightweight rebinds

Don't trigger a full relayout automatically if an adapter reports that
existing items changed in-place.

Wire up OnItemTouchListeners.

Change-Id: I0b8333f38a5de8b4a81b2872cc5fb013eeca6bec
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e532b345104d3d66e53a093588dcdc9a44c35ad0 24-Jan-2014 Chet Haase <chet@google.com> Minor cleanups and docs for RecyclerView

Change-Id: I62036e8b92cf0b5f7cb1321ed665117af69d3a11
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
cf0d4af7e679998321173127fddadb437f97c335 03-Feb-2014 Adam Powell <adamp@google.com> Reworking dirty bits for RecyclerView

Split the "dirty" flag for ViewHolders into a more detailed flag
set. This lets the system express distinctions between simply needing
an update from the adapter vs. no longer being valid for the previous
item it was bound to.

Add onAdapterChanged to LayoutManager

Change-Id: Ib3414bc80b6c6e1d241060f432d905001a18ea6d
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
6ba47f724920cd831087c92b59f450e3f9a92fa3 01-Feb-2014 Adam Powell <adamp@google.com> Fix a RecyclerView bug when recycling scrap views

Change-Id: I6765b9b15835c249a77b1aab328e301d065dc69e
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
17ba7c1dc54fcd5654551289e421184d5b1a2549 29-Jan-2014 Adam Powell <adamp@google.com> Fix docs

Change-Id: I0c69cf308439fb12a93c548cf5859b535cd6ac42
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e0c0b3ec37dc49035acd2fd6e1eee25c3d8d8c29 29-Jan-2014 Craig Stout <cstout@google.com> Merge "RecyclerView: Fix error in setAdapter" into klp-modular-dev
a6613ed42e0dee0cac3da01f5450e2d61c270b52 27-Jan-2014 Adam Powell <adamp@google.com> API refinements for RecyclerView

Continue clarifying the responsibilities of Recycler and
LayoutManager. Provide more pass-through API on LayoutManager for
subclasses for when the getRecyclerView() method is removed in the
future.

Scrap and recycled views are now more clearly defined. Added temporary
detach capability to keep consistency with scrapped views.

Change-Id: Ie17541401cd1f6f1933205a8e6a5c6f3d66d3afb
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
ac89a5c19c2d0577e4d537b1e1a3fe54d81e06d6 29-Jan-2014 Craig Stout <cstout@google.com> RecyclerView: Fix error in setAdapter

Change-Id: I0d2ce863980521eb54ad92ce7979fd2323e1d8f3
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
e096e4c526feeb64833b5a75649ec36d75d7cbbf 23-Jan-2014 Adam Powell <adamp@google.com> RecyclerView bugfixes and API revisions

Further clarify the responsibilities of the LayoutManager,
RecyclerView, Recycler and Adapter.

This change deprecates a number of RecyclerView methods. These
deprecated methods will be removed in an upcoming patch before
wider release.

Add additional bidi helpers to ViewCompat.

Change-Id: I6ad6e0464796fb4c475cb796d630e51ca85d84ab
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
524f00fa5a4e8b63f75a4935a7d2e9e4ec2dc400 23-Jan-2014 Adam Powell <adamp@google.com> Remove obsolete assumption in RecyclerView

Don't assume position is a proxy for identity unless we have another
positive signal that data hasn't changed. (This will continue to
evolve as we start adding more internal features.) For now, serve up a
scrap view that is either marked dirty or has the same position as
long as the types are correct.

Change-Id: Ida371f109a0c4fcc5898a567388ed0864fd4ea3c
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
988130d95692026b843e06c78d6886b69d0e2c23 23-Jan-2014 Adam Powell <adamp@google.com> Have RecyclerView fully claim touch event streams during scrolling

Parent views will have requestDisallowInterceptTouchEvent called when
scroll state transitions to DRAGGING

Change-Id: I4950de57f816d76f1fd53dc9e1bef24c8d03a5d0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
247185b98675b09c5e98c87448dd24aef4dffc9d 22-Jan-2014 Adam Powell <adamp@google.com> Initial data set change functionality for RecyclerView

Propagate basic events to handle adapter data set changes through
RecyclerView. Fix a bug that would cause touch events to be mishandled
after a touch scroll that did not end in a fling.

Change-Id: I2d3c2a5c6242011d426dc6d090ec00cd78cbd798
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
c57607df82148e2ee99c76047fb48a9c9caafe3c 10-Jan-2014 Adam Powell <adamp@google.com> Implement RecyclerView#onInterceptTouchEvent

It's kind of important.

Change-Id: If5ab9321e6d12df74456b10114fb4d6793f4d3e2
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
f2d3042737c0d7d0667b3418c3e5d04967667f34 10-Jan-2014 Adam Powell <adamp@google.com> Add view recycled events to RecyclerView

Allow both the adapter and a listener to receive events about when
views are recycled in a RecyclerView.

Change-Id: I9926aafbb190864d34f0b3d79f357690a9cf8b69
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java
009b4ef9d97e1cc237477e3284fc305bb1438cc9 19-Jul-2013 Adam Powell <adamp@google.com> Add RecylerView to the support library

RecyclerView is a new base for implementing adapter-backed views
similar to ListView. It offers a number of hooks within its API to
allow custom layouts, item display and touch behavior and richer
communication between adapters, layouts and recycling behavior. This
makes custom displays of large data sets and animations within those
presentations much easier to implement.

Start adding smoothing to ScrollerCompat.

Change-Id: Ic14c6aa723be03aa4da29d1fd44baf42a359f6c0
/frameworks/support/v7/recyclerview/src/android/support/v7/widget/RecyclerView.java