• Home
  • History
  • Annotate
  • only in /frameworks/support/v7/recyclerview/src/android/support/v7/widget/
History log of /frameworks/support/v7/recyclerview/src/android/support/v7/widget/
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)
ecyclerView.java
78f659a66b021d5d0e36800a7144e956d8054cea 09-Dec-2014 Yigit Boyar <yboyar@google.com> Don't stop scrolling if scroller reports 0 diff

Bug: 18667843
Change-Id: Ie05dbc2b198ee7b5eb83bf36e9c7f01e59b5e14c
ecyclerView.java
0c9222b8ff65798fa394eb4df49755a34150c1d5 02-Dec-2014 Yigit Boyar <yboyar@google.com> Merge "Enable getAdapterPosition when View is rebound" into lmp-mr1-dev
ee47f181024807e43a89348198acc74f9e07ddc6 02-Dec-2014 Yigit Boyar <yboyar@google.com> Merge "Remove transient views if necessary" into lmp-mr1-dev
f009f639980abd669fd533e5bc6ed42f3d4ed9ff 26-Nov-2014 Yigit Boyar <yboyar@google.com> StaggeredGridLayoutManager gap handling bug fixes

There are two issues in StaggeredGridLayoutManager about how it handles gaps.

1) When move happens from a higher position to a lower one, it does not use the
correct index while invalidating span assignments

2) SGLM uses some logic to detect when gaps can occur. Unfortunately, that
logic does not handle the case where items right after a full span item is
invalidated but full span item is NOT invalidated. This CL fixes it.

Bug: 18525878

Change-Id: I28d2657b67d0792e333850afda375560981715ae
taggeredGridLayoutManager.java
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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
dapterHelper.java
hildHelper.java
ridLayoutManager.java
inearLayoutManager.java
ecyclerView.java
crollbarHelper.java
taggeredGridLayoutManager.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
ecyclerView.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
ecyclerView.java
33706a0b4b6abe3f3fd3a70d90cda25a45dca779 14-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "Compute scroll offset bugfixes" into lmp-mr1-dev
6490f4b25e7725acd06248f0247fb0c7634afcb1 13-Nov-2014 Yigit Boyar <yboyar@google.com> Compute scroll offset bugfixes

This CL fixes two related scroll offset calculation bugs in LayoutManagers.

LinearLayoutManager was not checking if View is visible when finding start and end
children. This creates a problem if extra space is not 0. This CL changes that code
to check item visibility and also prefer fully visible item if smooth scrolling
is disabled. Not doing so will create problems when top of the list is reached.

StaggeredGridLayoutManagerw was already checking item visibility but it was not
falling back to a partially visible child if none of the children is fully visible.
This would jump offset to 0 as no children can be found. Now, it accepts a partially
visible child if none of the children is fully visible.

Bug: 18314430
Bug: 18344415

Change-Id: Ie2710cb10289cad91af1901e7d15a6a1a96040c4
inearLayoutManager.java
taggeredGridLayoutManager.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
ecyclerView.java
f532bcee9b54ac9607c9f80ad5f0269d55e0a145 12-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Make sure orientation helper is initialized before accessing" into lmp-dev
ad513861968ec8ade631495553475d3e9353c862 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Fix calculation for items before the start position" into lmp-dev
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
f6f29aaac8ac66321d751380ae0620d4f2b684f9 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Don't limit lookup size w/ adapter size" 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
7a072b2df14a1ca9671ad5d5103fc1dacc3e4bff 11-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "DO NOT MERGE Fix default item animator to end animations properly" 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)
ecyclerView.java
c75143d5a673eaa023683dc38e23aecf3831e63d 10-Nov-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Fix calculation for items before the start position

Bug: 18266809
Change-Id: I46ff649e36a34a1d6d27a79705f31207f6cbf907
crollbarHelper.java
392b5deade5236541cd95743001236ac86abd051 10-Nov-2014 Yigit Boyar <yboyar@google.com> Fix calculation for items before the start position

Bug: 18266809
Change-Id: I46ff649e36a34a1d6d27a79705f31207f6cbf907
crollbarHelper.java
487471a7ecdd1dafc37fa6ce73f983868464c561 09-Oct-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Make sure orientation helper is initialized before accessing

Bug: 17724151
Change-Id: Idc8ce16d0c3c325ef5a90b41330d3f109517fe17
(cherry picked from commit ffff7c903fa7dbf176fd251f77a959e6b9531456)
inearLayoutManager.java
taggeredGridLayoutManager.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)
ecyclerView.java
7fe361d61cc913e2a42b6ff0ef86d20bf40aba4f 04-Nov-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Don't limit lookup size w/ adapter size

This CL changes StaggeredGridLM not to limits its lookup table w/ adapter size.
This behavior was acceptable when adapter size was equal to state size but it is
not the case anymore.

Bug: 18198525
Change-Id: I1f89ed1e9be5571013f647df2a547e6cb6d11377
(cherry picked from commit 52a47709e5ce81321bfa56b7595731a8e6835ef6)
taggeredGridLayoutManager.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)
ecyclerView.java
0771a068bc50c8e24e52af018964eb3716498626 01-Nov-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Fix default item animator to end animations properly

This change also adds more test cases to avoid similar issues.

Bug: 18182313
Change-Id: I7b6e965ad0f70033d0e685d41238d9225372d143
(cherry picked from commit 9457c0c167cca5aafe971fb2eb75f4a43c07ec05)
efaultItemAnimator.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)
hildHelper.java
efaultItemAnimator.java
ecyclerView.java
42e9353bb9eb2747247e30e3612b227945acfd16 06-Nov-2014 Yigit Boyar <yboyar@google.com> Respect layout params in scroll direction

This CL improves how StaggeredGrid handles layout params. Previously, it was
ignoring the layout params completely. Now, it considers it while measuring the
child in scroll direction.

Bug: 18242667
Change-Id: I8c98e866fb582e93fcab2223d4d345ebbf8fda02
ridLayoutManager.java
taggeredGridLayoutManager.java
d81259e5235ebea5f81f58ef7d7240a1855251c9 05-Nov-2014 Yigit Boyar <yboyar@google.com> Merge "Don't create accessibility info for removed items" into lmp-mr1-dev
086733fbb01e659a6bee96aeeff138ce1844e07b 04-Nov-2014 Yigit Boyar <yboyar@google.com> Don't create accessibility info for removed items

Bug: 18091923
Change-Id: I162cb0bb49ad7d8b9bf8d03c76b71fc99fd78cc1
ecyclerView.java
52a47709e5ce81321bfa56b7595731a8e6835ef6 04-Nov-2014 Yigit Boyar <yboyar@google.com> Don't limit lookup size w/ adapter size

This CL changes StaggeredGridLM not to limits its lookup table w/ adapter size.
This behavior was acceptable when adapter size was equal to state size but it is
not the case anymore.

Bug: 18198525
Change-Id: I1f89ed1e9be5571013f647df2a547e6cb6d11377
taggeredGridLayoutManager.java
17d560c4a247dbfb795a2ea838c819cda77e5fa7 03-Nov-2014 Yigit Boyar <yboyar@google.com> Check for notifyDataSetChanged calls when processing adapter

Bug: 18182313
Bug: 18208149
Change-Id: I34013523b6b47ba3859ebb1bafa3ee433b51c75f
ecyclerView.java
9457c0c167cca5aafe971fb2eb75f4a43c07ec05 01-Nov-2014 Yigit Boyar <yboyar@google.com> Fix default item animator to end animations properly

This change also adds more test cases to avoid similar issues.

Bug: 18182313
Change-Id: I7b6e965ad0f70033d0e685d41238d9225372d143
efaultItemAnimator.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)
ecyclerView.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
ecyclerView.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
hildHelper.java
efaultItemAnimator.java
ecyclerView.java
62de6c980de09f2c437652cec60d3f1dd4364fa7 22-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Fix RecyclerView's child focus rect calculations" into lmp-mr1-dev
2788e4a675308d579460365959efa5e1b134ba0c 16-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Make sure orientation helper is initialized before accessing" 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
ecyclerView.java
824a7db96feacf3b68f56993ed72712bc935153e 14-Oct-2014 Yigit Boyar <yboyar@google.com> RecyclerView should call correct adapter on swap

Bug: 17687329
Change-Id: I35bc785e6c64d1fd0844286766e8ddb59d061737
ecyclerView.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
ecyclerView.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
ecyclerView.java
ffff7c903fa7dbf176fd251f77a959e6b9531456 09-Oct-2014 Yigit Boyar <yboyar@google.com> Make sure orientation helper is initialized before accessing

Bug: 17724151
Change-Id: Idc8ce16d0c3c325ef5a90b41330d3f109517fe17
inearLayoutManager.java
taggeredGridLayoutManager.java
af44731e884dad4e7f5951871e7865800dd1bdd1 03-Oct-2014 Yigit Boyar <yboyar@google.com> am 4e64afe7: am c774dadb: Channel detachView(view) method via childHelper

* commit '4e64afe79bc67415bd6699c4253140d78b0cc6e9':
Channel detachView(view) method via childHelper
c774dadb5fc72bca35f16dd87cf3ac256d8d8c4c 03-Oct-2014 Yigit Boyar <yboyar@google.com> Channel detachView(view) method via childHelper

Bug: 17811893
Change-Id: I217bb9c9d3464f09b956fe321bd367eebfb5e26d
ecyclerView.java
b7a7e22ec7f60a1a08c2f885468075e4f432117d 02-Oct-2014 Yigit Boyar <yboyar@google.com> Prefer laying out extra children at the end

Bug: 17660991
Change-Id: Iae85399a19ea72ad6cf1f38ec07a9faf10baefbb
inearLayoutManager.java
a7ace2509a51ff37d520ec753f544c6e2bb812be 01-Oct-2014 Yigit Boyar <yboyar@google.com> Merge "Assign View spans before they are measured" into lmp-mr1-dev
ca9ce7ccdccf6b6a2a81da73dd1e6425d90e4b23 30-Sep-2014 Yigit Boyar <yboyar@google.com> Assign View spans before they are measured

Bug: 17706218
Change-Id: I349b9a1918825ff6c45079f7617cf499c90c3cd1
taggeredGridLayoutManager.java
ed6205e4159fbe56e6aa5b506d21ba855040fcbf 29-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Add a getter for StaggeredGridLayoutParams' full span field Bug: 17693432 Change-Id: If683db46e2fe7655ac611e368baac5dc16a05816" into lmp-dev
7499c6e5b853057aa81bfc20c39e6fa188805c55 29-Sep-2014 Yigit Boyar <yboyar@google.com> Add a getter for StaggeredGridLayoutParams' full span field
Bug: 17693432
Change-Id: If683db46e2fe7655ac611e368baac5dc16a05816
taggeredGridLayoutManager.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
ecyclerView.java
bb6ebab3b3b85ec20b3bc262289a2460705322f5 25-Sep-2014 Yigit Boyar <yboyar@google.com> Set scroll state when stop scroll is called

Bug: 17644072

Change-Id: Iac0b0cff4ee06b461cebb6e933a5a712a06a7a4e
ecyclerView.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
ecyclerView.java
888fd59cf92d15a843518c84a1ef3914fd968a98 16-Sep-2014 Svetoslav <svetoslavganov@google.com> Fix a NPE in Recycler View

bug:17513773

Change-Id: I31b4e15542180100f0a1a102b3071d6d152f0b29
ecyclerView.java
afa0494a97687b705feb3659385578f33f697ea9 15-Sep-2014 Yigit Boyar <yboyar@google.com> Fix GridLayoutManager's measurement bug

GridLayoutManager was not re-measuring shorter children when they are
resized to the size of tallest child.

Bug: 17487208
Change-Id: Iccd28cf29e27ceda3105259cb6e33e695a44926d
ridLayoutManager.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
dapterHelper.java
pReorderer.java
ecyclerView.java
f2425e173f9492776e9b90a48860d91e689aff93 12-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Fix how adapter helper handles update ops" into lmp-dev
6c760bf569ede7c6d18eea243c39438f9f6c3e54 12-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "QuickFix for GridLayoutManager's inheritence problem" into lmp-dev
5f1c90f3afcf680f6467d80eb369f81f35222ed3 10-Sep-2014 Yigit Boyar <yboyar@google.com> QuickFix for GridLayoutManager's inheritence problem

Bug: 17422424
Change-Id: Ifa88d8e6f49a173a104c9a4ec38474b827978784
ridLayoutManager.java
inearLayoutManager.java
ef45c7a86f619561da341346a31ea9ac9814c29f 11-Sep-2014 Yigit Boyar <yboyar@google.com> Fix reference to wrong build

Bug: 17411052
Change-Id: I13aea08560289bfbaaf704187e43e3872206c548
ecyclerView.java
e4fde6825bba479c9b030feb8f810694d46b2f06 11-Sep-2014 Yigit Boyar <yboyar@google.com> Fix how adapter helper handles update ops

Bug: 17457999
Change-Id: Id0bb13d7d20e559d233f9a855d996439fb7982c2
dapterHelper.java
03230ff759c8b14885d626037bda64c21353dc6f 11-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Add a11y support for RecyclerView" into lmp-dev
549bbdfca3cffe64fd3ef69723a54037df326689 10-Sep-2014 Chet Haase <chet@google.com> Account for change duration in RecyclerView add animation delay

Issue #17455520 DefaultItemAnimator add animation start delay should depend on changesPending

Change-Id: I2ba81373797da88647fabe2ef7a6602687a59ec0
efaultItemAnimator.java
a910619e83d0052e1d81aa5fe532821a2f99d76c 09-Sep-2014 Yigit Boyar <yboyar@google.com> Add a11y support for RecyclerView

Bug: 17411052
Change-Id: I9ef93f0bb072e190d6017ee991e6d2c0ab119a62
ridLayoutManager.java
inearLayoutManager.java
ecyclerView.java
ecyclerViewAccessibilityDelegate.java
taggeredGridLayoutManager.java
2c451bfbf63e42fac8a7b62b4d4167eb3efce61b 05-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Fix failing RecyclerView unit tests" into lmp-dev
245b9720dad47a694d16a1d0f48ad462bc27989f 28-Aug-2014 Yigit Boyar <yboyar@google.com> Fix failing RecyclerView unit tests

This CL fixes a bug in AdapterHelper unit test and also
fixes a bug in LinearLayoutManager where stack from end
was not handled properly.

Bug: 17310313
Change-Id: I4da8be0145f901de29a4baea6df97d226c471302
inearLayoutManager.java
b122e5ae5794e374229c241a2bc601b0809b7b04 05-Sep-2014 Yigit Boyar <yboyar@google.com> Fix javadoc build failure

Change-Id: I4d13e091ccc1b3ea788fdf16b6c639f799af19a4
ridLayoutManager.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
ridLayoutManager.java
inearLayoutManager.java
ecyclerView.java
cfa220b08d8cfa3f716f275b4c385f7feb2701c6 04-Sep-2014 Yigit Boyar <yboyar@google.com> Merge "Return first level focused child of RecyclerView" into lmp-dev
a5dc6f3eb86aacd2b287f6ea588aa1d900f6702a 01-Sep-2014 Yigit Boyar <yboyar@google.com> Return first level focused child of RecyclerView

Bug: 17340646
Change-Id: Ic583cd54984f46dc3c8dfa3b65cb60dcd923cf69
hildHelper.java
inearLayoutManager.java
ecyclerView.java
07715e8dcfa3e9fcd6c3e7727f61ca41b50e5763 02-Sep-2014 Dake Gu <dake@google.com> Recyclerview: fix overflow stack in animation

Remove view property listener before dispatch events.

b/17333832

Change-Id: I2452564bae5fc676cf9b70f96a484904d1dd0ccd
efaultItemAnimator.java
7105f33709abaa02f1c5a911045886d8faed226a 29-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Call invalidate when detached child is rebound & added" into lmp-dev
0662aa2e6770b821d288fe32ea977c61fa5bae32 28-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "End all animations when RV is detached" into lmp-dev
0ec96558f829719283bb1a49ff218c3ce1430626 28-Aug-2014 Yigit Boyar <yboyar@google.com> End all animations when RV is detached

Bug: 17307859
Change-Id: Ia213d52ab79f8c80bdfb5321e7a726876b8554a2
ecyclerView.java
2fa9ba9bab24354d4a279b4a5e4d05ddc9b80938 28-Aug-2014 Yigit Boyar <yboyar@google.com> Call invalidate when detached child is rebound & added

Bug: 17299435
Change-Id: I393fc5d8066fbc13cdacb1855419932a35934225
ecyclerView.java
20b0cd09be02319683babd3a76ada1a692abe978 28-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Fix wrong UpdateOp type in AdapterHelper" into lmp-dev
1e602ea60d4d678d4cac86d4de515ce8176789c4 28-Aug-2014 Yigit Boyar <yboyar@google.com> Fix wrong UpdateOp type in AdapterHelper

Bug: 17310313
Change-Id: Id6d2f5e5726c26fbcc56fae7d602b8887f1f54ee
dapterHelper.java
42c4af4ff383daf001263ae18a9b00b9fbf87487 23-Aug-2014 Yigit Boyar <yboyar@google.com> Clean old positions for unused scrap views

Bug: 17144600
Change-Id: I810edc10d110b9473e2bb5a2ce80d193359c1133
ecyclerView.java
7b1cece5171a60e11e1a4e11216a85ae722ea656 20-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed anchor view check in LLM" into lmp-dev
be9090704b5671c49f1e89cb7003f4744cd69918 20-Aug-2014 Yigit Boyar <yboyar@google.com> Fixed anchor view check in LLM

Bug: 17132172
Change-Id: Iea500f01578493ac34811bdfb8d4f7ee82be6754
inearLayoutManager.java
48465069f050ebcecd6142a8741af2d0fcdae4dc 20-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Add predictive animation support to GridLM" into lmp-dev
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
ecyclerView.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
ecyclerView.java
ff6a18ccc12673e67ae2b143de1bb27048824365 18-Aug-2014 Yigit Boyar <yboyar@google.com> Better animation handling in LLM when all children are removed

Change-Id: Idadb2892c1422dbe79cd92e9931da8222a33c23d
inearLayoutManager.java
8a1f650a5d51c95b0d4e34c11b4c6d453ce6696c 18-Aug-2014 Yigit Boyar <yboyar@google.com> Improve LinearLayoutManager's predictive layout handling

This CL updates LLM to select anchor child more carefully. Previously, it was
selecting a child whose position is withing State#itemCount bounds. Now it
chooses a visible child which is not removed. If cannot find such child,
prefers a child that is not removed but not within view bounds. If it does
not exists either, falls back to a child whose position is within adapter
bounds.

Change-Id: I6aa759b17d80b5f08d4e874bda177501fa1acbe3
inearLayoutManager.java
950ba62a354885861a47e2e56ad46e2b99ac4e9e 14-Aug-2014 Yigit Boyar <yboyar@google.com> Don't mark cached views as changed

Bug: 17019652
Change-Id: Ic4aa9bdd5a273bc57c550d420cb1c59c7869c5bc
ecyclerView.java
9ace89f49ed497e649b127beb12b8a237e5d30e7 16-Aug-2014 Yigit Boyar <yboyar@google.com> Add predictive animation support to GridLM

Bug: 16847853
Change-Id: Ibeda5c5efda7b87d387cbc1b56c766fca5e3bf3a
ridLayoutManager.java
inearLayoutManager.java
7d48b5552945f60e7e72701f7f29e728f756581c 15-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Make sure views are not re-added to disappearing list" into lmp-dev
18ae336dbaae3db982f38cde08936c9f0243757b 14-Aug-2014 Yigit Boyar <yboyar@google.com> Make sure views are not re-added to disappearing list

Bug: 17020852
Change-Id: I044ae613ac00e2bd0b1ec7928fac9a5ca09c3f59
hildHelper.java
inearLayoutManager.java
ecyclerView.java
73304eff156157f62075215e795e774803a6f96a 15-Aug-2014 Yigit Boyar <yboyar@google.com> Span calculation bugfix for GridLM

This build also adds a sanity check to layout method to verify item's span count
and throw an exception if item does not fit to Grid.

Bug: 17064017
Change-Id: I6794ed04c7ccedb839e03a75c98c3949a959eb8c
ridLayoutManager.java
572bf0c80bb3db98ce0fbb091073dabc4f1f8af0 15-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Bugfixes for StaggeredGridLayoutManager" into lmp-dev
c50c4cad31d73e574b27bb3d7581542975e37263 15-Aug-2014 Yigit Boyar <yboyar@google.com> Fixed LinearLayoutManger's scrollToPositionWithOffset

Previously, LLM was not handling scroll to position with offset when layout
is reverse or stack from end, this change fixes it, adds tests.

I also improved how predictive animations are handled. If a visible item is
scrolled, now LLM lays out more children in the opposite direction in pre-layout
so that when they become visible, they don't just fade in but animate from the
correct direction.

Bug:17015719
Change-Id: I2748c0636927159201202a7eb4caf338d67d6ca9
inearLayoutManager.java
d7e2f2ab1d253133fa54f309e74a7ee384c33971 08-Aug-2014 Yigit Boyar <yboyar@google.com> Bugfixes for StaggeredGridLayoutManager

Bug: 16678349
Bug: 16403163
Bug: 16734653

Change-Id: If78aa7ec4a09860ccca698bcb851dff5e5db5ae7
inearLayoutManager.java
crollbarHelper.java
taggeredGridLayoutManager.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
efaultItemAnimator.java
ecyclerView.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
ecyclerView.java
01814b4356a90ec5bbb42ce060e54c30a552fec0 14-Aug-2014 Yigit Boyar <yboyar@google.com> Avoid velocity tracker NPE in RecyclerView

Bug: 16980122
Change-Id: I96c460542f1b12484b396b86ae9d35b3b0f82eb6
ecyclerView.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
ecyclerView.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
dapterHelper.java
ecyclerView.java
c6f82b1e233c11ce3130325430be93ea018ba7f1 08-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Dont save config parameters in saved state" into lmp-dev
f496ccf183adbfc15cbe4c1d97e4d5281aea43ab 08-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Provide a public method to calculate decor insets" into lmp-dev
16e5adf5416248d97f2aeaa9d5e17bb5093130eb 06-Aug-2014 Yigit Boyar <yboyar@google.com> Dispatch adapter updates before ViewHolders are updated

Previously, AdapterHelper was dispatching update ops after calling the callback
to update ViewHolders. In that case, if LayoutManager wants to compare its
ViewHolders with the dispatched event, ViewHolder would return the wrong position
since it has already been updated according to the update op.

Bug: 16840245
Change-Id: I77dee13ed2ca0afa975cdbc7a0fbd1b49811a31d
dapterHelper.java
5e79cc4e2c96b0dd1d4de6f3208f9da3bcb69d26 06-Aug-2014 Yigit Boyar <yboyar@google.com> Provide a public method to calculate decor insets

Bug: 16842411
Change-Id: I3fa347d8f99da26b3afbf675334f670db710ca45
ridLayoutManager.java
ecyclerView.java
b8403301bbec29129730f6cce3fe2fa3ee8e1e0b 06-Aug-2014 Yigit Boyar <yboyar@google.com> Dont save config parameters in saved state

Bug: 16822490
Change-Id: I2c652bf96f583443ab6402969d3fedf652b9ec04
ridLayoutManager.java
inearLayoutManager.java
taggeredGridLayoutManager.java
a64498c53faef538d3fb31166ac71c2d826198cc 06-Aug-2014 Yigit Boyar <yboyar@google.com> Stop ViewFlinger when layout does not consume full distance

Bug: 16573996
Change-Id: I3a586f22637e709d345d96d2dce3f14974a48eb3
ecyclerView.java
e7bd433190b9a6dfeeb689f0c1bf27188b518ecc 05-Aug-2014 Yigit Boyar <yboyar@google.com> Merge "Added simple GridLayoutManager" into lmp-dev
b97e8219784e623526bc3c6077a698d608f04fd9 05-Aug-2014 Yigit Boyar <yboyar@google.com> Added simple GridLayoutManager

Bug: 16678349
Bug: 16734653
Bug: 16661383

Change-Id: I29a74bdffa9386831faab191f1c3d268743dbf6d
ridLayoutManager.java
inearLayoutManager.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
inearLayoutManager.java
rientationHelper.java
ecyclerView.java
0e0bfdb790fd9477e3531a1db92c3377057f83b7 05-Aug-2014 Chet Haase <chet@google.com> Use unique lists to hold new animations spawned

Previously all new move/change/add animations would be placed on a global
list to avoid starting. That meant that a later request for unrelated animations
would populate the same lists and would thus potentially start at the wrong
time (coincident with the original animations instead of with the new
animation requirements).

This change changes the list instances to be lists-of-lists. When animation runnables
are first created, new lists are created and populated and then these new lists are
added to the list-of-list instances. Then the later runnables will act only on the
unique list associated with the proper animation event. Meanwhile, there is still global
access to all animations in case any of the animations need to get canceled.

Issue #16550053 DefaultItemAnimator should run unique animation lists

Change-Id: I87206da608eb4205405d9b99879c38d018ad6feb
efaultItemAnimator.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
efaultItemAnimator.java
ecyclerView.java
6b4d950d0d1e26165a1e643a2fd1fe4e283786f1 31-Jul-2014 Yigit Boyar <yboyar@google.com> Fix StaggeredGrid crash: Saving state of an emty Span

Bug:16644724
Change-Id: Id0567d6f3dc7ab8621774fe147ab0dc8c5b98e61
taggeredGridLayoutManager.java
6e83751247c5be0211d7bffaf057431c03dfef38 25-Jul-2014 Yigit Boyar <yboyar@google.com> LayoutManagers should not jump to position in pre-layout

Bug: 16550277
Change-Id: I60335e4994309e53311e95c890a4934edead70f0
inearLayoutManager.java
taggeredGridLayoutManager.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
ecyclerView.java
66a5670ac0e58e1d08f6af57b13648c1ab9df441 26-Jul-2014 Yigit Boyar <yboyar@google.com> Change public recyclerview to unscrap views

Bug: 16201361
Bug: 15910842
Change-Id: I5453f9ed33c88c5a0d92f617a4f57cf938be4ec0
ecyclerView.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
ecyclerView.java
ee30f03253207f694cc46063b0c8c7cb91d24a6e 28-Jul-2014 Yigit Boyar <yboyar@google.com> Update scroll target if it is removed while scrolling

Bug: 15933296
Change-Id: If576382c3ca64060bc62cd9437c7b6993b8ccb11
ecyclerView.java
a87ca5a4e00bd446073cf11f75af9bd45fc7a07f 29-Jul-2014 Yigit Boyar <yboyar@google.com> fix broken links in RecyclerView documentation

Change-Id: I7714fdaa8bd761c5f5454f89d207cd4a97205c4f
ecyclerView.java
ab4950e7752a69a4bab6bf2d20d881135108f32f 29-Jul-2014 Yigit Boyar <yboyar@google.com> Fix build: Removed reference to an old method

Change-Id: I144283444cc9b1f17ddcecd96cc443c85a47f2fc
ecyclerView.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
efaultItemAnimator.java
ecyclerView.java
bc2c6d6432a227d46a43fd18eb204d89ca472064 25-Jul-2014 Yigit Boyar <yboyar@google.com> Add an API to mass invalidate decor offsets

Bug: 16549198

Change-Id: I24c40aef0a988622d256214fb58e1c2a2daf43c0
ecyclerView.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
inearLayoutManager.java
ecyclerView.java
taggeredGridLayoutManager.java
5cfed5428d421f179f83382ad72ec6edd11a066d 23-Jul-2014 Yigit Boyar <yboyar@google.com> Update state on onMeasure call in RecyclerView

Bug: 16187385

Change-Id: Ifee446c47d49536327f34233a853929c6cf2a196
ecyclerView.java
8c23e5d30a95b7807109db376d43a07a52e00802 22-Jul-2014 Yigit Boyar <yboyar@google.com> Improve LinearLayoutManager's scroll offset calculations

Bug:16374413
Change-Id: Iad31899a595092aa289ecdd60447f6e960c78b40
inearLayoutManager.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
ecyclerView.java
6f2e6bb7c3d11950dbbb194151fea12916bd7e71 22-Jul-2014 Yigit Boyar <yboyar@google.com> Recursively invalidate display list on detached views

Bug: 16372890
Change-Id: I9789cb26a8880ec66a2234dc10cd6f6685c50fe8
ecyclerView.java
0b1059b711009601ff08354e2df6bfc45266e80a 21-Jul-2014 Yigit Boyar <yboyar@google.com> Add swapAdapter method to RecyclerView

Bug: 16315373
Change-Id: Ia790aff458d2ca61ec403dd9887d9758eb74f47a
ecyclerView.java
a5cfdf6e647d34c66b7df8688cb35d9a3b7b24a0 19-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "RecyclerView should skip ignored children in mass recycle" into lmp-dev
5edee017c46c2cae698355e80978b18775cfc5b0 18-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Add find first-last visible view methods to StaggeredGrid" into lmp-dev
333382aecf6822cb1ec484e8d3e4e822c9bd0c8d 18-Jul-2014 Yigit Boyar <yboyar@google.com> Add find first-last visible view methods to StaggeredGrid

This CL also improves how grid layout recovers when span count is
changed before state is saved

Change-Id: Ifdb9b00642e599e57b968db682cd871ecad1ba03
Bug: 16335426
taggeredGridLayoutManager.java
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
efaultItemAnimator.java
ecyclerView.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
ecyclerView.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
inearLayoutManager.java
ecyclerView.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
ecyclerView.java
1faed0c7c20fc3a0b7befabbac1beac1019effc7 10-Jul-2014 Yigit Boyar <yboyar@google.com> Add move operation to RecyclerView adapter

Bug: 16127440

Change-Id: Iefd305e714a4bc6dad5f071dfba92aa5c5af8ca3
dapterHelper.java
ecyclerView.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
hildHelper.java
efaultItemAnimator.java
ecyclerView.java
6e560171b774afafd572b1896becac7b308a92e6 16-Jul-2014 Yigit Boyar <yboyar@google.com> RecyclerView should skip ignored children in mass recycle

Bug: 16322508
Change-Id: Ieddc317771538c7cdab29a2e4898df05706fd6ba
ecyclerView.java
decaa3d79db8d5064193401cffe870de1916ea9d 14-Jul-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView EdgeEffect positioning

Bug: 16009048
Change-Id: I1cb4c96449d7474e20d7ea5a426d8e863c76396d
ecyclerView.java
76e3f987878e9ab5f0ad783a94ae9f1e6b78a435 13-Jul-2014 Yigit Boyar <yboyar@google.com> Use fully qualified class names to fix sdk build

Change-Id: I70ba5d7146193e816b372811e9b15032d7beafbf
ecyclerView.java
fe887e2ef94f19c4c8808bf65d7d3bb79511e18f 01-Jul-2014 Yigit Boyar <yboyar@google.com> Added custom view cache support to recycler view

Bug: 15991371

Change-Id: I6c775d3d610e1a824683aef6f60f141bf344eea9
ecyclerView.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
ecyclerView.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
efaultItemAnimator.java
ecyclerView.java
38efc791651510a8bc815a707e105554e3bf99f2 11-Jul-2014 Yigit Boyar <yboyar@google.com> Fix RecyclerView to recyle invalid scrap properly

Bug: 16210009
Change-Id: Id4cdf1ef87aaa52581009b651690abbf90ad4522
ecyclerView.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
ecyclerView.java
6e43f4f95e3ce4a8a14d7ecf0b14a647eba72e93 08-Jul-2014 Yigit Boyar <yboyar@google.com> Merge "Fix StaggeredGrid layout to support clipToPadding=false"
719a0dfbcf2ca2b63cc3ce1e7ab18eadb3694f2c 03-Jul-2014 Yigit Boyar <yboyar@google.com> Choose a valid anchor child in LayoutManagers

If predictive animations do not run, RecyclerView may call LayoutManager with children whose
positions are wrong (in case they are deleted). This diff improves anchor child selection logic
to ensure child has a reasonable position.

It might be a good idea to bring back RecyclerView's notifiyDataSetChanged position handler
to make this easier for LayoutManagers (though they still need this code to avoid bugs).

Bug: 15691747
Change-Id: Ia341397a835e0120d172691921466401022868d3
inearLayoutManager.java
taggeredGridLayoutManager.java
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
ecyclerView.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
rientationHelper.java
ecyclerView.java
taggeredGridLayoutManager.java
6d35693091a469a1048e418171176a6792f5d015 04-Jul-2014 Yigit Boyar <yboyar@google.com> Fixed LinearLayoutManager's predictive layout

This fixes a bug which caused LLM not to layout extra views in pre-layout phase.

* Removed an unnecessary state==null check. This used to be valid when we were
not passing state to focus search method.
* Made scroll target check more strict to avoid stopping for removed views

Change-Id: I0afa02880917ca9150c0b43e916a018a3cbfade1
inearLayoutManager.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
inearLayoutManager.java
ecyclerView.java
taggeredGridLayoutManager.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
ecyclerView.java
bbf19899050278ae64da0a8bfce209a9f359c853 27-Jun-2014 Yigit Boyar <yboyar@google.com> Do not trigger layout when RecyclerView is detached

Bug: 15911289
Change-Id: I654bdcdadf94956b917614e0a3fbee214877e4d8
ecyclerView.java
49c83b12201dde5b93d4eca3d44478e0c967a2e6 26-Jun-2014 Yigit Boyar <yboyar@google.com> Pass recycler to LayoutManager#onDetach callback

Bug:15736907
Change-Id: I6cd50800ebae0ff10b99665fcda77b0da411065c
inearLayoutManager.java
ecyclerView.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
ecyclerView.java
taggeredGridLayoutManager.java
76e4c0a2ca3e932e22aace9f4269937af8d18418 27-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Check bounds when calculating offset in RecyclerView"
9bea36cf2e318e9b729ddc62d855cd0f93bc3866 27-Jun-2014 Yigit Boyar <yboyar@google.com> Update StaggeredGridView to use new RecyclerView animations

StaggeredGridView used to track of removed children. Since RecyclerView
does it automatically now, we don't need this bookkeeping anymore.

I also added orientation constants to make it cleaner for the constructor

Change-Id: Ibac99d98fee5d89723f2e4fb77072d8461ebe3fb
taggeredGridLayoutManager.java
9571b25f2ecbcd917b9d577961e99f572efa0353 27-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Fixed RecyclerView edge effect problems"
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
inearLayoutManager.java
rientationHelper.java
ecyclerView.java
taggeredGridLayoutManager.java
9bdc605f26da69e3aff157cf3746b767d77988f0 26-Jun-2014 Yigit Boyar <yboyar@google.com> Check bounds when calculating offset in RecyclerView

Bug: 15878935
Change-Id: I0640de2a3d7396827c33219a6dc7f9cfb4ade1bc
hildHelper.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
dapterHelper.java
hildHelper.java
inearLayoutManager.java
ecyclerView.java
2d2e8d88103866b631eb0f3805da137ebcfb0275 23-May-2014 Yigit Boyar <yboyar@google.com> StaggeredGridLayoutManager for recycler view

Change-Id: Ie5466806aa0428a9f9f2b9eb6b85dbcfbbaebe5f
ayoutState.java
taggeredGridLayoutManager.java
fe3996cf5af65fe11cc3ed47b67123ec267bd336 18-Jun-2014 Yigit Boyar <yboyar@google.com> Do not scrap invalidated views in RecyclerView

Bug: 15703871
Change-Id: Ib765ddd2ea5b5d897879f2387e8ae6a9f98e555e
ecyclerView.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
ecyclerView.java
db1a59e506abf901e4415ffb05007d6aebbef9cf 20-Jun-2014 Yigit Boyar <yboyar@google.com> Eat request layout when animation is finished in RecyclerView

Bug: 15748748
Change-Id: I00ad2531af999cc450260f5a4291d0421b0740c3
ecyclerView.java
72f8976c85b97f828bbec7b1f2df65b46b570d13 20-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed the scrap view tracking in RecyclerView

Bug: 15750784
Change-Id: I44e063c9136cfc3f91b24a080217d9ee840c7950
ecyclerView.java
94c0b086c12e634976fecd47d442bc7a1a6341bb 17-Jun-2014 Yigit Boyar <yboyar@google.com> LLM cleanup

Change-Id: Ib4c9571855dc9a0be6bc5931536e37ff686f5c7d
inearLayoutManager.java
rientationHelper.java
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
efaultItemAnimator.java
ecyclerView.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
ecyclerView.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
ecyclerView.java
ddb43d869494cac8a4a8a136014e1e76c4dd1fa1 14-Jun-2014 Yigit Boyar <yboyar@google.com> fix docs

Change-Id: If3d5f03ab762e2f6bc627e1df15d17fbd162ac23
ecyclerView.java
a24280c92f1779fa684f56a377576186efe858a4 14-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "RecyclerView: Fix type-check bug for cached views"
22b6b8163d2e15eb6d0a89906854dec801945f1d 13-Jun-2014 Yigit Boyar <yboyar@google.com> RecyclerView: Fix type-check bug for cached views

Change-Id: I1b6d33d7e1aeeb36e697cb95cd7109a9ac53a909
ecyclerView.java
e679158cd5f7469d49918c80e6cfaf4ba35d6ea6 13-Jun-2014 Yigit Boyar <yboyar@google.com> Improve LinearLayoutManager predictive animation coverage

Bug: 15591206
Change-Id: I94d07fb4d938495f5070bdb3769269090afacac4
inearLayoutManager.java
8ae76f91527ce850f155ce960fb9068bcd5d49f9 05-Jun-2014 Yigit Boyar <yboyar@google.com> Fixed RecyclerView position bookkeeping bugs

Bug: 15397591
Bug: 15350129
Bug: 15547859
Change-Id: I54d754eb2b788311048d7557f51967b748b2de3e
dapterHelper.java
ecyclerView.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
ecyclerView.java
19f4282b687ecc7eb4c000803aecf36d5d91215d 13-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "LinearLayoutManager scrollToPosition after restore bugfix"
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
ecyclerView.java
75b7ff9ccca9311854e9c74282b1af1ce87df470 04-Jun-2014 Yigit Boyar <yboyar@google.com> LinearLayoutManager scrollToPosition after restore bugfix

Bug: 14271688
Change-Id: I8cefac46ed575e748a78b3a6071bb886c00f07ea
inearLayoutManager.java
8c1ebc6e59cc5a28de408f4138d3fa8870e8face 12-Jun-2014 Yigit Boyar <yboyar@google.com> Temporary fix to track removed children in LinearLayoutManager

This fixes a bug in LLM where laid out but removed children were not properly considered in pre layout case. This guards against it. We should revert this CL
once RecyclerView#addView can be called for removed views as well.

Bug: 15568972
Change-Id: Ib0dd8b77b889041bbdff0dd48917b66eff742782
inearLayoutManager.java
902f069d9f895507767adfab322cd0536b9af8e8 12-Jun-2014 Yigit Boyar <yboyar@google.com> DO NOT MERGE Disable predictive animations in RecyclerView

Bug: 15568972
Change-Id: Ic3de8673fb6897e8457fab481f2771562a6a1f88
ecyclerView.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
efaultItemAnimator.java
inearLayoutManager.java
ecyclerView.java
93b78dd7cbfafbe669e124b38a8e3ccb38ad3079 07-Jun-2014 Dake Gu <dake@google.com> fix animation bug

b/15472737

Change-Id: Ibd1da9bc35aaff66eb90c3726f3b70bdd64e832d
efaultItemAnimator.java
c7a9fedaf3b8303f2d17b01a20ebea1efcec103d 05-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "LinearSmoothScroller 0 distace bug fix" into lmp-preview-dev
20d3ab4bc623635334429240be31f13837e675cd 04-Jun-2014 Yigit Boyar <yboyar@google.com> LinearSmoothScroller 0 distace bug fix

Bug: 15351024
Change-Id: I085b9282d58c40908e692504770186ad0a76c089
inearSmoothScroller.java
d3f1c99a290de13631f9635e06444f75344967d2 03-Jun-2014 Yigit Boyar <yboyar@google.com> Flush item updates before scroll in RecyclerView

Bug: 15350129
Change-Id: Ia759eee95a2158df3835a283ad7d44841d699c3b
inearLayoutManager.java
ecyclerView.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
ecyclerView.java
519f659f9fb1e5ec6bf0f750e3dff5ff8f1b39b8 03-Jun-2014 Yigit Boyar <yboyar@google.com> RecyclerView should recycle views on adapter change.

Bug: 15389459
Change-Id: I1b926a9dc6cda205070fba5a61c6123e59d5e0bb
ecyclerView.java
075351b2bcafb7328d194f202df6c8f2524009ed 02-Jun-2014 Yigit Boyar <yboyar@google.com> Merge "Round up time calculations in LinearSmoothScroller" into lmp-preview-dev
40ec11724622a83b36ce52bd4c474817c0c224ad 02-Jun-2014 Yigit Boyar <yboyar@google.com> Round up time calculations in LinearSmoothScroller

Bug: 14387760
Change-Id: I90e2a3d1136de0d6006513984d0623ad502ce20d
inearSmoothScroller.java
774aeed975cbe193e37e2ff9c8575234f2463921 02-Jun-2014 Craig Stout <cstout@google.com> Recycle cached views when clearing the cache.

b/15291691

Change-Id: I29aa8ecc916aa88028b453e38cd7a49eb517192a
ecyclerView.java
8edcb0bdeaba6931f9d8154f0c81f57da7ddab2a 31-May-2014 Yigit Boyar <yboyar@google.com> Fix SavedState bugs in LinearLayoutManager

Bug: 15343782, 14271688
Change-Id: Idbd23ce08b51746ccc17d3f2a81a6ed8349bd45c
inearLayoutManager.java
d7848507d6c561ca8e17d1954653f4fd26b58f84 30-May-2014 Yigit Boyar <yboyar@google.com> Added first/lastVisible methods to LinearLayoutManager

Bug: 13909619
Change-Id: I947c3cd018afa2a8d387d6cbc87e03b566ee5392
inearLayoutManager.java
ecyclerView.java
888c70abaa77e15458c366b8d27835d176dcc546 30-May-2014 Yigit Boyar <yboyar@google.com> Invalidate RecyclerView on scrap cleanup

Bug: 15331930
Change-Id: I3bee951201342f6a30764db3c766308e00a4383d
ecyclerView.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
ecyclerView.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
ecyclerView.java
02751a77fb12b65fefb307b715967efa854620d4 29-May-2014 Craig Stout <cstout@google.com> Fix RecyclerView caching.

b/15314857

Change-Id: I005d709e877d3433a1d52aa8af3480d4f1a18323
ecyclerView.java
b5f8b4fecb531aee6b359b4968409410aba90817 17-May-2014 Yigit Boyar <yboyar@google.com> Full animation support for LinearLayoutManager

Change-Id: Ie3b265a9f880d68746d1bd193d787f34ea8d0045
inearLayoutManager.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
efaultItemAnimator.java
inearLayoutManager.java
ecyclerView.java
b1bfdf4c03d1b25959c5818805b997020f7ed085 15-May-2014 Chet Haase <chet@google.com> Revert "Add animations to RecyclerView"

This reverts commit 33b18903168c177d65e3c2ef7398c1b2ca0c826f.

Change-Id: I41664a375f9fc5fa878481b90cd2e61aad17f739
efaultItemAnimator.java
ecyclerView.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
efaultItemAnimator.java
ecyclerView.java
6598bbee8b4e7af155671a5b40039c00b347954f 09-May-2014 Yigit Boyar <yboyar@google.com> Avoid stopping scroller twice

Change-Id: I6412f2067bed7799112a02f958350b83db6be0bf
inearSmoothScroller.java
ecyclerView.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
ecyclerView.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
ecyclerView.java
c30b4fceb76f45348c20f8b15096e1e13ff0c42f 29-Apr-2014 Yigit Boyar <yboyar@google.com> Fix RecyclerView save instance state bug

Bug: 14351525
Change-Id: I633f073151c4bcbf8b4c24e16d0737aba9e3e3bd
ecyclerView.java
ac7cd79494bd02a044c9df413d2a20aeebc696e8 25-Apr-2014 Mark Wei <markwei@google.com> Make ViewHolder#isRecyclable respect the view's hasTransientState.

Change-Id: I63ab4b62352cedd765c74384453f6f246fa6e7de
ecyclerView.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
inearLayoutManager.java
inearSmoothScroller.java
ecyclerView.java
08cbcdeb4283048c097397d042d5ae0d2b8683d3 04-Apr-2014 Yigit Boyar <yboyar@google.com> RecyclerView saveInstanceState

Initial implementation for LinearLayoutManager

Change-Id: Iaf734c5a23c1d5bf8504875975c75af3b9c88388
inearLayoutManager.java
ecyclerView.java
8935a4620bba8a2d2ab7cc8aaa9eeb8f772dadd6 22-Apr-2014 Yigit Boyar <yboyar@google.com> Verify non-null adapter before calling LayoutManager

Bug: 14247753
Change-Id: I5888f2673e07bec836fd57dc04fe82e22ef351f4
ecyclerView.java
3b5b2ea88bce411ee2a89d6f9d0e51466c1ab461 19-Apr-2014 Adam Powell <adamp@google.com> Fix docs

Change-Id: I7822e0da1cf2b123a682832b3a257e0cdf067190
ecyclerView.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
ecyclerView.java
d9746b39ccf730ebb2780fa0d6a5d4970c06076d 03-Apr-2014 Yigit Boyar <yboyar@google.com> LinearLayoutManager scroll with offset support

Added support for scroll to position with offset from start
Cleaned layout code to handle position jumps easily
Change scroll to position behavior to match smooth scroll to position

Change-Id: Iecb2ab3d782268861705e3e838fb6f7ee87f1df5
inearLayoutManager.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
inearLayoutManager.java
ecyclerView.java
2aad60a0bcc40c5985f8e5e7c6b5c139cde6ceee 22-Mar-2014 Yigit Boyar <yboyar@google.com> DPAD navigation support for LinearLayoutManager

LinearLayoutManager tries to scroll and bring new children in if RecyclerView cannot
find the next focus child automatically

Change-Id: I51871235e41b2eb776948638b89c5957ce5f714d
inearLayoutManager.java
a75ac8e8035b766da916171b1c97ea7f9989cc26 21-Mar-2014 Filip GruszczyƄski <gruszczy@google.com> Option for not showing glow bars in RecyclerView.

Change-Id: I6e8880696d8d56b383318a4c5b578a98c65e8542
ecyclerView.java
8394e8e198cf7d3aba2e858b8363bc98e418f655 25-Mar-2014 Yigit Boyar <yboyar@google.com> Merge "Consider child views' margins when measuring layout" into klp-modular-dev
9c8635b18305aa7af214ee214f3efff6eb29462d 25-Mar-2014 Yigit Boyar <yboyar@google.com> Consider child views' margins when measuring layout

Bug: 13627186
Change-Id: Ia8337ac0e0a075f2ed503b094a71b6bc81fc21b4
inearLayoutManager.java
f5d83f6e99ccd5cc3922a3cbe95db48fdd43c835 21-Mar-2014 Yigit Boyar <yboyar@google.com> Invalidate structure when adapter is changed

Bug: 13568463
Change-Id: I47152146299e1f5d8b1ae415e7aa74a5d4ba898e
ecyclerView.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
inearLayoutManager.java
ecyclerView.java
1a0aad1c8ddf7e9b36c8465c6f5fd0bc4168ada3 19-Mar-2014 Dake Gu <dake@google.com> RecyclerView: remove deprecated version of onAddFocusables()

Change-Id: I738fdce02005cfb4aad4dc90a50149be192f9789
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.java
98ba91c2aea31ef4d727c7562b0248ecc422f10e 14-Feb-2014 Adam Powell <adamp@google.com> Have RecyclerView properly handle adapter changes with shared pools

Change-Id: I03a033642b4298e7d215b3f4cc61fc43d7a245cf
ecyclerView.java
238bb4aadc07834051eb46a0c5683eaaf1da3970 29-Jan-2014 Chet Haase <chet@google.com> Add functionality for item animations

Change-Id: I2466e9a9dbdc0e9dbb52edb2d8d918357814b798
ecyclerView.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
ecyclerView.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
ecyclerView.java
76c6c88503b835f681162aefe2f493f7cbebbb69 11-Feb-2014 Chris Sadler <csadler@google.com> Fix bug in smoothScrollBy duration when moving vertically.

Change-Id: I88113a85fdd594e3cf780ff32558bc74d6ff2f67
ecyclerView.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
ecyclerView.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
ecyclerView.java
e532b345104d3d66e53a093588dcdc9a44c35ad0 24-Jan-2014 Chet Haase <chet@google.com> Minor cleanups and docs for RecyclerView

Change-Id: I62036e8b92cf0b5f7cb1321ed665117af69d3a11
ecyclerView.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
ecyclerView.java
6ba47f724920cd831087c92b59f450e3f9a92fa3 01-Feb-2014 Adam Powell <adamp@google.com> Fix a RecyclerView bug when recycling scrap views

Change-Id: I6765b9b15835c249a77b1aab328e301d065dc69e
ecyclerView.java
17ba7c1dc54fcd5654551289e421184d5b1a2549 29-Jan-2014 Adam Powell <adamp@google.com> Fix docs

Change-Id: I0c69cf308439fb12a93c548cf5859b535cd6ac42
ecyclerView.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
ecyclerView.java
ac89a5c19c2d0577e4d537b1e1a3fe54d81e06d6 29-Jan-2014 Craig Stout <cstout@google.com> RecyclerView: Fix error in setAdapter

Change-Id: I0d2ce863980521eb54ad92ce7979fd2323e1d8f3
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.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
ecyclerView.java
c57607df82148e2ee99c76047fb48a9c9caafe3c 10-Jan-2014 Adam Powell <adamp@google.com> Implement RecyclerView#onInterceptTouchEvent

It's kind of important.

Change-Id: If5ab9321e6d12df74456b10114fb4d6793f4d3e2
ecyclerView.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
ecyclerView.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
ositionMap.java
ecyclerView.java