History log of /frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
50f048ddcd71fbb313f0673336920113cad28ee8 07-Jun-2017 Evan Rosky <erosky@google.com> Fixes RecyclerView isPreferredNextFocus on ordered navigation

There were a couple edge-cases that weren't properly handled. For
example, if the first view in a recyclerView was positioned "right
of" the last view, focus would loop within RV instead of being
processed by the framework.

Bug: 34818921
Test: Added RecyclerViewBasicTest#focusOrderTest
Change-Id: I0b213d4941491081fec417ebb29524c12df6deaa
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
31a68d5eadcea9ebc14e797f1f65d628b206ec50 23-Jun-2017 Chris Craik <ccraik@google.com> Only log adapter/layoutmanager/context in exceptions, not toString

Fixes: 62904665
Test: RecyclerViewBasicTest

We hit an infinite loop if one of those types logs RecyclerView's
toString in its toString.

Change-Id: Ia8039910198917a06ea784627c8b63d9f711fde6
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
166d5f1c4f2757966ff0ef167b6a2813e015b6a7 27-May-2017 Chris Craik <ccraik@google.com> Add toString dumps to most RV exceptions

Fixes: 38339683
Test: RecyclerviewBasicTest

Add Adapter and LLM toString to RV's toString, and print this with most
user-visible exceptions. This should make it easier to figure out which
RecyclerView is throwing an exception in production, instead of having to
guess based on stack trace depth.

This only covers exceptions in RecyclerView.java - can consider expanding to
other exceptions as necessary.

Change-Id: I94fd16039bb9113c0aa66cbd22ac7f2be6fb564d
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
8123166eaf758eacc6ba5854c9b29d99f21388d6 03-Dec-2016 Chris Craik <ccraik@google.com> Switch mNestedRecyclerView to weakref

Fixes: 33278066
Test: new test, @SmallTests still pass

Previously, we cleared a nested RecyclerView to be safe when a holder
failed to recycle. However, this is a common occurrance with
animations, since they will hold onto the holders until they are done,
and return them at the end.

Instead, just keep the nested RecyclerView as a weak ref. Probably
unnecessary, but maintains the guarantee that if someone removes or
swaps an inner RecyclerView (note: a gross case), we won't leak it.

Change-Id: I3ee97608f8fb3687f17d861438bc4bb895d27a65
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
3104d446bcf3da9ffb7a761fd30f0506c30f0cc9 21-Nov-2016 Chris Craik <ccraik@google.com> Make RecyclerView prefetch APIs public

Bug: 27106058
Test: @SmallTests still pass

Change-Id: I086b17fb8ba8164a680d03a5b6255670334784a5
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
1e0a453dff8d7bb7a966d006541454c770d1ed05 25-Oct-2016 Chris Craik <ccraik@google.com> Nested RecyclerView Prefetch

Bug: 27106058
Fixes: 32343355
Test: tests added, existing @SmallTests pass

- Stash RecyclerView if found within ViewHolder
- Prefetch nested LinearLayout content based on anchor
- Avoid double query of Display#getRefreshRate()
- Avoid dispatching recycled callbacks for unbound holders
- Reorganized State members based on lifecycle.

Change-Id: I51701576d8f5985e3cab7b684694c50bf03ef280
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
270dbafc72ebe758c904300983a81336ede8b823 18-Oct-2016 Chris Craik <ccraik@google.com> Avoid System.nanoTime cost for older devices

Test: RecyclerViewBasicTest#getNanoTime added

Change-Id: I8efd49ddb46484fd6fce7f6ee993a6713e1ccc48
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
1797d0dedfc9c06a83efb9090f19e3ffd14b2677 06-Oct-2016 Chris Craik <ccraik@google.com> Fix prefetchChangesCacheSize breakage

Test: #prefetchChangesCacheSize now passes

Change-Id: Iaa04bc67f815fa36db235aa3fe80668ba58e1db3
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
945dc1e8a9ee0b71e6b2454ccb3e61145d2132f5 30-Sep-2016 Chris Craik <ccraik@google.com> Improve LayoutManager prefetch API

Bug: 27106058
Test: new prefetch test for SGLM, existing caching tests still pass

Additionally, refactors prefetch logic to separate view specific work
from general GapWorker behavior.

Change-Id: I2b98ec689eef606cee7eb3cada92957a0641babd
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
754cb29c50f09a83251dd4bb633ba445b2411adb 27-Sep-2016 Aurimas Liutikas <aurimas@google.com> Switch from deprecated size annotations to new ones.

Switching from android.test.suitebuilder.annotation.*Test
to android.support.test.filters.*Test.

Bug: 30074170
Test: manual - ran small appcompat tests, they still run and pass
Change-Id: Idce58b988c8e1a809f7f5fae67e0e235159d9fc5
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
231e669441b388f220c6a9a0ae46b5c2f1b4d938 15-Sep-2016 susnata <susnata@google.com> Allow users to pass an interpolator for smoothScroll.

Overloaded smoothScrollBy(...) to take an interpolator to be used
by ViewFlinger for running scroll animation.

Bug: None
Test: None
Change-Id: I3adcf7aef42463979a9ecbea456ac99529355af6
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
da85cbdb44e810c9c9ade11f65fdf36a795061ef 09-Sep-2016 Aurimas Liutikas <aurimas@google.com> Stop running RecyclerView prefrech tests on pre API 21.

Bug: 31399375
Change-Id: I944bf4dd8317ca83840f8b805508c43a8b785d21
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
8052423a9ffce385de32ae76fa962e6316f03677 08-Sep-2016 Aurimas Liutikas <aurimas@google.com> Convert remaining RecyclerView Android tests to JUnit4.

Bug: 31101927
Change-Id: I007e6372c0870cc856168d5bb5a5eba278fa0239
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
ec4b5429886bfe93707a85823cf40de107bd9dc6 16-Aug-2016 Chris Craik <ccraik@google.com> RecyclerView item prefetching

bug:27106058

If item inflation or binding are expensive, having them block the
production of a frame can lead to jank/stuttering as frames with such
work fail to meet rendering deadlines.

RecyclerView will now query LayoutManagers for views in advance of them
coming onscreen during scrolls and flings. These views are prefetched
into the Recycler cache during the UI thread's idle time between handing
a frame off to RenderThread, and the start of the next frame.

Change-Id: If3e485231243c188efd4cf3e512b9e8e13a50d47
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
0a017072206f93474ccd2706e7983c2ff778b904 07-Jan-2016 Yigit Boyar <yboyar@google.com> Move all RecyclerView tests to Junit4

This CL moves all RecyclerView tests to Junit4 and uses
the new ActivityTestRule instead of ActivityInstrumentationTest.

Bug: 24494874
Change-Id: I049d8b1ac7869a6af13a3ee7905d6dd1f6eb418b
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
f1b288ec2104488f4a92e911b0ab80c8f0f3e9d1 28-Dec-2015 Yigit Boyar <yboyar@google.com> Add test size annotations to RecyclerView Tests

Bug: 24494874
Change-Id: I0e7606d1c55017dc17467155372b708a0b1ea36d
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
71c54eb5572a3e93409024640b8af5740620085c 30-Nov-2015 Yigit Boyar <yboyar@google.com> Use adapter position for cache invalidation

Recycler was using LayoutPosition while calculating cache
offsets which was wrong. This CL changes it to use adapter
positions instead.

Bug: 25923850
Change-Id: Ic446ec31f739fd46e54aa976ab6b02caf4a37176
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
6bc164c64d7f4cea6a1f155439269fd189a77d3b 07-Jul-2015 Yigit Boyar <yboyar@google.com> Mark RecyclerView as scroll container

This is necessary to properly handle window size changes.

Bug: 22324832
Change-Id: I109db3db4a60eb43ea01e6d240e973bad9c3df57
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
429a9029d941a91972cd7601aa7e6d3718872c65 09-Jun-2015 Yigit Boyar <yboyar@google.com> Check for layout before handling touch events

This CL fixes a bug where RecyclerView would access layout
in motion event callbacks w/o checking if it exists

Bug: 21614659
Change-Id: I2cc6eb3afa1d24404c00bcc6c0cc7a30d441a1de
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
ca570ddc976f20eae6dcc40bed9f6dee0e749353 04-Apr-2015 Yigit Boyar <yboyar@google.com> Exclude RecyclerView children from save state

This CL fixes a small bug where RecyclerView would still
call children's onSaveInstanceState although this state
was never used. Now it blocks save instance state call
similar to AdapterView.

Bug: 20061783
Change-Id: I8bed04c2e05e473957b32f4fb70587d511af0d76
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
b5f8b4fecb531aee6b359b4968409410aba90817 17-May-2014 Yigit Boyar <yboyar@google.com> Full animation support for LinearLayoutManager

Change-Id: Ie3b265a9f880d68746d1bd193d787f34ea8d0045
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.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/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
bde2d5e79f929ce8c54de29c8389695b4d4e9c25 15-May-2014 Chet Haase <chet@google.com> Revert "Remove adapter access from layout manager"

This reverts commit 15a9db9177a871c7b1cd65b8923beac1b9b75174.

Change-Id: Ia80ac4f093c49145a6a2c09d1ea4f9102b195f40
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java
15a9db9177a871c7b1cd65b8923beac1b9b75174 06-May-2014 Yigit Boyar <yboyar@google.com> Remove adapter access from layout manager

Change-Id: I33a48528e3290fa78aaa67237f3b098e010e09d9
/frameworks/support/v7/recyclerview/tests/src/android/support/v7/widget/RecyclerViewBasicTest.java