History log of /frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
100e37bdec64de77f82ea19e88e74a0fd842b119 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Handle child layouts due to child selection." into lmp-mr1-dev
697886fa2541e4e1223396d38329451e9e83d08b 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Fix browse fragment smooth scrolling." into lmp-mr1-dev
597f620c2503bb18aabf0b6fe4c0c84ab7b42cba 08-Jan-2015 Craig Stout <cstout@google.com> Handle child layouts due to child selection.

b/18840332

Change-Id: Id70b6ea3c21e00be8529cc4ba59aafc1b67b10ab
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
f185bcb93b28f5e81b88405445157a2b53a2d1c7 22-Dec-2014 Craig Stout <cstout@google.com> Fix browse fragment smooth scrolling.

In most cases (During layout and when smooth scrolling) we shouldn't add
items until they have scrolled into the window.

On focus search fail we should add items immediately; however the modified
methods are not part of that code flow.

b/18742856

Change-Id: I83bbc583a7809e65ed930353aa804bd95b362eee
(cherry picked from commit e3cbb083dad7a70b26f542b7bb5d7b67a8c8621e)
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
3f23b01f1e22f971e2105557137927822e7419f1 19-Dec-2014 Craig Stout <cstout@google.com> Fix scroll controller initialization.

b/18742856

Change-Id: I00429638e1ce1e2e9fc7b7d5aa7b474c9945f155
(cherry picked from commit 2ced342a1b5cf07415825f7f5bae26f012b3832e)
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
ceb323a31b16a5ee227c7e68f147b86bf7bfa639 11-Dec-2014 Dake Gu <dake@google.com> Fix GridLayoutManager initial append/prepend logic

Bug 18718926

Change-Id: I2658f3363a8258b03be4d3286d0f44ca2f55e2fa
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e0e66a21916f94ebbced0d1ffe3dc652c9c7a15e 10-Dec-2014 Kris Giesing <kgiesing@google.com> Fix various RTL issues related to multi-row grid views

Also fix some RTL issues related to grid views that do not wrap content

b/18631342

Change-Id: Ibc52057375c24409dacd7af3fb1e487d022b9ff8
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e36b890d49e33f38eada22a0d9f84974bda2ddb0 09-Dec-2014 Craig Stout <cstout@google.com> Merge "Reset scroll when all items removed." into lmp-mr1-dev
4a6588a5160206fc7063e5a140a405dfd84f0cc9 08-Dec-2014 Craig Stout <cstout@google.com> Reset scroll when all items removed.

b/17575336

Change-Id: Ie5038b6893051a3a83e999bbcd8b64c170880083
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
7db64bb839e5589b38322f9f7456cb928ffc2c1c 05-Dec-2014 Dake Gu <dake@google.com> Fix end alignment of grid

And simplify and take out reverse handling from WindowAlignment.

Bug: 17953835

Change-Id: Ieebed8c1f7b4f5664462f0db210865b60cecd3e9
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
8f51aa01152a33d489471bc7c667b39cc2062706 26-Nov-2014 Dake Gu <dake@google.com> am 9036a735: am 02582d90: Merge "Leanback: fix crashes of setScrollEnabled on empty list" into lmp-dev

* commit '9036a735b00ebcaada5981ff607a598439e52662':
Leanback: fix crashes of setScrollEnabled on empty list
02582d90a07220d14ae199fa208f0ba30280afd2 26-Nov-2014 Dake Gu <dake@google.com> Merge "Leanback: fix crashes of setScrollEnabled on empty list" into lmp-dev
d633c87b6565c6068a5c5beb5a1ef91a493acea8 21-Nov-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fix crash when focus requested on a child that was removed.

This can happen when all views are removed.
This a regression triggered by a cherry-picked of recyclerView change ag/582987

b/18474947

Change-Id: I1b9c4b82488a893ba7e668cdc79e41a03d7c61a2
(cherry picked from commit 9b68e453d30984d524dcf25fdc2e645ae853ac33)
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
475d474909f8e7ed27caae527997d74bf4f8a307 21-Nov-2014 Craig Stout <cstout@google.com> Merge "Fix crash when focus requested on a child that was removed." into lmp-mr1-dev
9b68e453d30984d524dcf25fdc2e645ae853ac33 21-Nov-2014 Craig Stout <cstout@google.com> Fix crash when focus requested on a child that was removed.

This can happen when all views are removed.

b/18474947

Change-Id: I1b9c4b82488a893ba7e668cdc79e41a03d7c61a2
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
8e3566285de4ac771d6188f62fe947e23d371a3d 19-Nov-2014 Kris Giesing <kgiesing@google.com> Changes to support RTL layouts

Bug: 18020272
Change-Id: I3e07b5f3784303b0b50dccc72d9d5ab140ea158f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
b008e4b45faf7c1ece57e48a3517520d65e3b8ca 20-Nov-2014 Dake Gu <dake@google.com> Leanback: fix crashes of setScrollEnabled on empty list

b/18449655

Change-Id: I362433c679f46eb5565d12251db0c24421e3fb55
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
42f8a879beb54fd181c588b78554367d947ec48b 20-Sep-2014 Dake Gu <dake@google.com> DO NOT MERGE Leanback: Finish implements overreach feature

GridLayoutManager Overreach feature is not quite right yet, a diff of
alignoffset * (1 - 1/scale) needs to be applied.

And we may need overreach for views other than gridlayoutmanager.

Move all the functions into a ScaleFrameLayout,
so that it can scale any type of view, not just gridlayoutmanager.

b/17914987

Change-Id: I99e0711041a2115b3ed1bce29e7a021b2a2132bd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
571796b3ae0c5e15d9324a61745506b5ba47682c 28-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE GridLayoutManager: Fix crash in onMeasure

mFocusPosition is not in range in onMeasure() which
is executed before onLayout()

b/18153129

Change-Id: I0fc94caca64e8ccf0ab439b9fd44eca500fb6bd1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
d1911befd5509ac5ba188559eab193291bedb4ed 17-Sep-2014 Dake Gu <dake@google.com> DO NOT MERGE GridLayoutManager: fix scrolling glitches caused by interference of transition

disable scroll of animation initiated before transition started and restore the
scroll animation when transition is done.
Disable focus out in scrolling.

Bug 17551262 Wrong item position in row
Bug 17549016 unexpected horizontal scrolling is running after we go from content to fast lane

Change-Id: I2d7acbafad415436ad7200b17ad31e2ac0e6a6d8
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
1f000f84b9f8db8778b941a6a1bf60f3d349545d 20-Sep-2014 Dake Gu <dake@google.com> Leanback: Finish implements overreach feature

GridLayoutManager Overreach feature is not quite right yet, a diff of
alignoffset * (1 - 1/scale) needs to be applied.

And we may need overreach for views other than gridlayoutmanager.

Move all the functions into a ScaleFrameLayout,
so that it can scale any type of view, not just gridlayoutmanager.

b/17914987

Change-Id: I28d073b39eba9c0d24093274b2f5a524e3381aa9
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
80d061649db1d8e5c69f400fef4d61e2fde9dd3b 29-Oct-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix scrolling glitches caused by interference of transition" into lmp-mr1-dev
2986af93ba272bdc69d414bdcf5fcf0901c8ee97 28-Oct-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix crash in onMeasure

mFocusPosition is not in range in onMeasure() which
is executed before onLayout()

b/18153129

Change-Id: Ie156072b284098e671e4b90e0fad574c263a1fdd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
7a52e206fb20167f0b7e7a9daa7abb952d5f544d 30-Sep-2014 Dake Gu <dake@google.com> Fix NPE caused by incorrectly calling detachAndScrapViewAt

b/17702252

Change-Id: I48456ba7a970237cb218351f3b184ef680b8c65f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
7cd2deb3bb7af14abdb5cc9500f3638ce0af2eea 17-Sep-2014 Dake Gu <dake@google.com> GridLayoutManager: fix scrolling glitches caused by interference of transition

disable scroll of animation initiated before transition started and restore the
scroll animation when transition is done.
Disable focus out in scrolling.

Bug 17551262 Wrong item position in row
Bug 17549016 unexpected horizontal scrolling is running after we go from content to fast lane

Change-Id: I4c7d14f1e60b70984745c1ab9f55748d9abcc5aa
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
db6a0d1b5f4c0353d168fd5b22661246d23aa206 24-Sep-2014 Craig Stout <cstout@google.com> Fix onAdapterChanged.

Don't reset potentially restored state when the old adapter is null.

b/15696646

Change-Id: Ibc311fb62ad87ad35e0a98ed4f95f30aab752544
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
16d71295acfe8e8808df57db6747049c121c1512 18-Sep-2014 bulic <bulic@google.com> Fix for installs hanging on launcher

If an item is made invalid by changing its viewtype, we need to detach
and readd the view to ensure a new viewholder is created and bound.

b/17517359

Change-Id: I701b24a57d27c6c3b4569b80959cb2a315a2857c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
0fff85d7f9dee67ec5116f3cba4e8b3961f805a7 11-Sep-2014 Craig Stout <cstout@google.com> Scale rows when headers are showing.

b/15887467

Change-Id: Ib7a942c7de6f7bdfef08ba8ef8e938abee585358
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
2024f694e8ae778eefb3f6b6cdc245a67975436c 09-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix double layout framework warning." into lmp-dev
d7618ab69ef591dd5342b9481c4954bfc7e9110c 08-Sep-2014 Dake Gu <dake@google.com> Fix fading out children not moving with parent

Don't remove child of listview, switch visiblity instead.
Removed children will fade out at original position but not moving
with parent.

b/17423570

Change-Id: I253bdbadeefb71ced6971d446a17d96d7a96dea3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
b33714d135e006cf3bdba09788c27d4791b8632e 07-Sep-2014 Craig Stout <cstout@google.com> Fix double layout framework warning.

When in layout, invoke the child selected listener before child layout.

b/15446050

Change-Id: I5d123d2586bdb55a410365a38146d1310fbfbe8a
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
14d54b35a8927e7b116ab8fa6ac621ecfcbe4bb0 29-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: fix selection offset problem

When user calls "setSelection" *before* add items
to the adapter. The mFocusPosition is already set to
the position, then adding more items will incorrectly
add offsets to not yet created item. We should not
apply pending offset in such situtation.

Ideal fix is that: user should add all items to the adapter
*before* set adapter on the view.

b/17331101

Change-Id: Ic07b68874c3742e6d29275a1c5921fa8afc08011
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
1102fc6fafe721522f2b67f86d89feda87096265 28-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: Multiple fixes to state saving

1. Implemented a LruCache based child states to limit the memory used.
2. When adding/removing child happens, clean up all cache (will lose all offscreen
child view state). This is because we use index as key, which will be changed.
3. Evict item cache when item is changed.
4. Make saveChildren policy API of BaseGridView, only the vertical list
which has nested horizontal list turned on this feature. This is quite
reasonable assumption: only save the nested horizontal list's focus
index but no more deeper children states: less expensive and avoid
potential unknown problems.
5. load children states inline instead of requesting layout, fixed bug
that requestLayout gets eaten by a top level scrolling layoutmanager.

b/17212513

Change-Id: Ic60c7ac216fa265b64646c3072767983eeb02653
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
b300ce0dfc3ad41fd6fef25833dfe4b14d5261d2 28-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: fix alignment when refreshing new data

b/17309152
b/17307859

Change-Id: I78825aefbeca6302594ac397bfe0acb27df46027
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
81a36a4dd93bf2f14c2eb88ae01464f85ddb0706 27-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: forget child view state when there is a change

b/17212513

Change-Id: I6bd73fab467d109fcdcb1d9664fe6c1a5fdf8acd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
536b1a299d5fa25bf55c3543719b123aaaaafca3 25-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: fix layout from non-first column

Fix problem when layout item from non-first column.

b/16824116

Change-Id: I26a1cd9ab7c7b6309709d9bf57b6b0bc624bcc8f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
906659fc65e7b8b1bc9f0c7cc3dabf7e64e8b9bf 22-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: support nested onSaveInstance()

This goes beyond just saving selected position, in order to support
dynamic 2D list view (list view of list view), LayoutManager needs
maintain a position/id to View state Bundle mapping for children.
Child view will be saved when they are offscreen and restored when
showing on screen.

b/15702302

Change-Id: Ie48300684945ee3adacc042e73d06a411287e6d1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
1eb6cc286944b1e2f60decdf6432e5f780092c94 21-Aug-2014 Dake Gu <dake@google.com> Merge "GridLayoutManger: fix setSelectedPosition is aligned to a wrong position." into lmp-dev
e692c096892075c6ac5cf509f118df6b618edecc 21-Aug-2014 Dake Gu <dake@google.com> Merge "onLayoutChildren() should not interrupt SmoothScroll" into lmp-dev
801d8b7bc960a5ae4b0e23af8ac5b8b81f8ad6f3 21-Aug-2014 Dake Gu <dake@google.com> GridLayoutManger: fix setSelectedPosition is aligned to a wrong position.

setSelection calls scrollToView(false), which offset children's location and
switches focused child which incorrectly triggers another not needed scroll
animation. The extra scroll animation causes "over" scroll amount.

Also fixed row not being highlighted if people calls notifyChanged() and
setSelectedPosition(1) consequently, the mSelectedViewHolder is set to the
selected row 1, then an immediate onLayoutChildren() detached and reattach
all rows, which clears the selected state of the row, but
mSelectedViewHolder is still referring row1, and skipped a selected event
fired from onLayoutChildren(). The fix is to clear mSelectedViewHolder
when view holder is detached from parent.

b/16681515

Change-Id: I61a8efde46327853a2ed67af63fa125d5426f907
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
314e0698cf026f83cb9d7ff13ae31cd913845604 20-Aug-2014 Dake Gu <dake@google.com> onLayoutChildren() should not interrupt SmoothScroll

Avoid align to focused view if it's in smoothscroll.

b/16659420

Change-Id: I294fd3bff21bd78a4335e091e68c6a3982d7f50b
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
8b6327deb6bbacc335b098894cbbbdc1060310f0 20-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: handle padding change properly.

When we change the padding, we are expecting child views
to offset their left/top position. Since fast layout position is
based on scrolloffsetprimary/scrolloffsetsecondary.
Changing the padding should also update the scrolloffsets.

b/17135547
b/16320658

Change-Id: I15d90e7bc96884157a7f509f29aa17630f546e00
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
72bcfa039b9278617c9efb0ebf61c3b92694110b 19-Aug-2014 Dake Gu <dake@google.com> Merge "fix bad alignment after item was removed" into lmp-dev
d2104835a233e64b3b90182913542e58276aeb47 19-Aug-2014 Dake Gu <dake@google.com> fix bad alignment after item was removed

b/16657786

Change-Id: I1a00a035175950d77cbc6d349898071290ce397e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
d182feca369cfefe1cedad624ead716a99cca713 19-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: Tracking selected position change when adapter changes

fixed b/17087493

cleanup and remove unused prelayout code.

Change-Id: Ia2a4adfe73600931a678ec6dcd2c4a6d15dfec99
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
630f82ae5e6b9c500d20ea4db4ce44a604c7e8eb 15-Aug-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: smoother scrolling" into lmp-dev
dafdf6a770fb84c1228f442db64550aae6fc11ae 15-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: smoother scrolling

Use SmoothScroller when scroll to offscreen items.

b/15546722

Change-Id: I4d8abba9a376771993bc0bcff09d86b340baed69
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
709bb7083a089e788d84ffa81f2c4f60a1bc8cf2 15-Aug-2014 Dake Gu <dake@google.com> Prevent recyclerview scrolling in transition

Both scrolling animation and ChangeBounds animation will change the card
position and cause card being put at random position.

b/16952270

Change-Id: I628230e32088cc9bb43908f9076a32877c685bd0
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
502e6531c4ee86b6671cd692bd3e2d0ffd5d65c4 05-Aug-2014 Craig Stout <cstout@google.com> Fix for measure when views have been removed.

b/15919486

Change-Id: Ib85e72d0dbabac985a33aa714f51082af37c3eab
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
f2df33adb72d7a4138d00128bf66751ad77ecaba 28-Jun-2014 Dake Gu <dake@google.com> Merge "Use ViewCompat for postOnAnimation"
49c83b12201dde5b93d4eca3d44478e0c967a2e6 26-Jun-2014 Yigit Boyar <yboyar@google.com> Pass recycler to LayoutManager#onDetach callback

Bug:15736907
Change-Id: I6cd50800ebae0ff10b99665fcda77b0da411065c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e3582bec2e51351a3116612ad529d7eb29a82bb7 27-Jun-2014 Dake Gu <dake@google.com> Use ViewCompat for postOnAnimation

Change-Id: Ia1013fc3830258eb6f3a7d4dd9db664597ce18ac
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
3de146291132c3d463941e34f0609a3dd15d6784 27-Jun-2014 Dake Gu <dake@google.com> Fix NPE when detached RecyclerView schedule onLayoutChildren()

b/15911289

Change-Id: I99ef70d585147f7f8d8a9d0923e8e667fb780d19
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
d2fd82409150a29da24eb97009d1fa59ec0a0f07 19-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager clean up code never used

Change-Id: I46660343b16ad5eb6e811175181656f4654080c1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
08a42433300b4617bad27bda1214e12ca7854adc 11-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix WindowAlignment algorithm

The current algorithm makes assumption that if the scrollCenter of a view
is before the middle point of window, we will align the first item to
start edge. This does not work if the first item is too large, e.g. in
Search, the item's center position is after the middle point of window.

The fix is to add more flags for algorithm so if it's first item, it should
always be aligned to start edge of window.

b/15547766

Change-Id: I81f8b68c1739b7df1fa08d94d3a23b6c9e495747
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
94920246f7f5a0d4dae794058020cd67c5701056 10-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: Do not declare predictive layout support.

Because GridLayoutManager hasn't done any predictive layout,
it shouldn't declare support it. Use a different way for
enable/disable itemanimator.

Bug: 15542012
Change-Id: Ieb71f4badb56496c20c043e55043e5e5d1eec1da
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
c35968d173f900d8024bdf38174e2225c9a7f311 28-May-2014 Chet Haase <chet@google.com> Enable simple automatic item animations for RecyclerView

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

Issue #15542012 Simplify RecyclerView animations

Change-Id: I6219210c9b0ca32535182c1d233076a355fe0671
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
66ae15f5fa8b6714fa78e6d3f94fe85af06ddabd 07-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix some animation jumpiness

Looks like a typo that cause secondarySize is not updated in onMeasure()
and later a posted Runnable update the secondarySize.

Also focused item maybe out of bounds if we scroll really fast. So
we should measure every child.

part of b/15413508
b/14885970

Change-Id: I7478ea39f1fb429f483b5f25b69118b66c086c21
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
911b1d9ec87dcaa9b4a5a3d4e13c54f21bf03398 05-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix NPE when adapter changed in scrolling

Seems like when playback activity pops, the adapter was changed
but scrolling task is still going on.

b/15004615

Change-Id: Iea86e0b9b582c3e0e0f3a435aa5092173642672d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
2a4917392556a63a0d4d3d8ecbc55780e6e5303b 05-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix scroll bug" into lmp-preview-dev
6ef7396cd226efcce83389c5107166c121e25785 05-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix scroll bug

When we try a possible new maxScroll we need try with the newEdge.

b/15449400

Change-Id: Icb111eabb988538923b88f4bd52bb27ec7680929
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
9020c0aec57b4e8994d66b7cd1a89c225e9bfa11 05-Jun-2014 Craig Stout <cstout@google.com> Fix VerticalGridFragment focus navigation and title transition.

b/15432740

Change-Id: I6ac533a88d8ce8b17aa28d3605e688536bfbb8e5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
01d63e7d432a412718d7c8a28b558744a372abcd 05-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: scroll limit check" into lmp-preview-dev
79b86b227e6794937ec311522b50e727f8eec263 04-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: scroll limit check

ScrollMin/Max are only updated when we added first/last
view or where fastRelayout may change first/last view position.

It's not necessary to invalidate the first/last view position
in every layout pass since most time they are the same.

however, we should invalidate scrollmin/max when the first/last
is not visible yet but current visible items already grow out
of the scrollmin/max range.

Tested on TV and tablet.

TODO: scrollMin/Max on secondary axis.

b/15414917

Change-Id: I125025a5865df69316dadc612b52b67d8f27a250
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
45ef49ba4d3b9bd0a4c9764749b3f9faa6c6abd6 04-Jun-2014 Craig Stout <cstout@google.com> Fix child selection listener dispatch.

b/15425688

Change-Id: I6e3e28074f6a4c163f400b5c9e99068154a3d6f8
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e0a1253fccf626dbc9c0d3aaf03ab903d1485171 04-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: avoid redundant dispatchChildSelected" into lmp-preview-dev
0d9c25bab934568d041d93281287f831fdd0c169 03-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: avoid redundant dispatchChildSelected

If it's fastRelayout, we fire dispatchChildSelected only on mFocusPosition
changes, this can avoid mutliple events fired by view size change animation.
If it's not fastRelayout, it can be a structure change, so we
always dispatchChild regardless mFocusPosition changes or not.

In scrollToView triggered not in layout, there is no structure change
so it will dispatchChildSelected only if mFocusPosiiton changes.

b/14807080

Change-Id: I5ac770181542955360c4d0531d5110694db04b89
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
92a959ab2b3c3c99aabb03cd999ff223763128da 03-Jun-2014 Craig Stout <cstout@google.com> Fix NPE when measuring with wrap_content and no items.

b/15369861

Change-Id: I338e2be5613442900e23ea4e1a590db7cc5f2482
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
9de682083d3da5b1127969ee1fd7b74561aa9acd 02-Jun-2014 Craig Stout <cstout@google.com> Fix view recycling.

GridLayoutManager must recycle existing views when rebound.
ItemBridgeAdapter must track view types globally.
Increase the max recycle pool size (defaults to 5).

b/15291691

Change-Id: I861da37f39e1a35d1d7bd38579269b814b736234
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
37390806e43578a40f1275c3c0497eaa83971697 30-May-2014 Dake Gu <dake@google.com> GridLayoutManager: don't fire selection change event in prelayout.

This is not only duplicated, but also might be wrong with index mangled
by RecyclerView in prelayout pass.

b/15343493

Change-Id: I5960f67dd66c6f55814aadcc904b4bf200392a39
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
43329fc348a0134d4a3273796a6a9cf71dad04a5 28-May-2014 Craig Stout <cstout@google.com> Add Recycler and State parameters to LayoutManager.onMeasure.

Allows a layout manager to measure children when measuring itself.

b/14885970

Change-Id: Icad22a5e4d19b9827c4c601a364a83bd84883cd2
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
4200ae975bfd7e4dc2e5c2d838c070470fcb3e2a 29-May-2014 Dake Gu <dake@google.com> GridLayoutManager: supports item animation

Remove all GridLayoutManager animation code and use item animation
in RcyclerView.

TODO: there is a regression that hovercard resize animation is not supported
but we dont have a use case for now.

Fixed a NPE in scrollVerticallyBy

b/15079477
b/15004615

Change-Id: I67245bd0c2f6c3265a3b309b5f47e3f0c10ac6b3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
6e0cf9c34636f450f1ada4bf3f53a98c7a3fe9df 27-May-2014 Dake Gu <dake@google.com> GridLayoutManager: stop using adapter + smooth scroll support.

Stop using Adapter, use State. State and Recycler references
will be released after onLayoutChildren() and scrollHorizontallyBy()
finishes.

Switch to use SmoothScroller for scrolling to invisible child.

Change-Id: I8d0e1e93dd226328cc337ab26f113c7c52cfc7c5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.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/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
9c0d20dbcdf7afc18f429ad54a2250f82bd85841 24-May-2014 Tim Kilbourn <tkilbourn@google.com> Override correct scrollBy methods in GridLayoutManager.

Change-Id: I394a9267efd720f2b0de0a68d46914d0aa1c26c3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e43e9266c4b7e4902fefb5d2a0cacca90a3d2681 16-May-2014 Dake Gu <dake@google.com> Browse: fix the space between rows in not expanded state

when expanded goes to false, half the vertical space to make
it equal to the horizontal space between cards.

remove the hardcoded 16 pixels due to compensating paddingTop
of horizontal grid view. Instead, introduce a flag
"setItemAlignmentOffsetWithPadding" in ItemAlignment.
So row will align the top of horizontal grid view(R.id.row_content)
plus the top padding of horizontal grid view to a fixed position
vertically.

Fixed some bug of handling optical bounds in ItemAlignment.

Removed duplicated browse margin dimens.

Change-Id: Ic3dcad2935bc7e4b525e6f830603bdce46e73086
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
4510b275c55d9a3dae13af38196d3bc6affd3dfc 16-May-2014 Dake Gu <dake@google.com> fix janky "hide title transition"

don't prune the rows during transition, so they can be slided
out instead of faded out at original position.

b/15017332

Change-Id: Icc6e8b7d7c0b1f10ae2372bcb1b644455f1063d2
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
2a0b55c390f4b75b3ae752b8407bf3da9d18a01e 16-May-2014 Dake Gu <dake@google.com> GridLayoutManager: fix layout animation

Just animate between x/y changes in layout, shouldn't animate
scrolloffset change.

b/14594235

Change-Id: I68e5cc9c53eb2e26ad50f09ff7b4064d05f0c203
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
0018dd1964053d44696aee1c564dd0a70b53fc24 09-May-2014 Dake Gu <dake@google.com> fix NPE in Settings app

don't fire child select change when !mLayoutEnabled.

Change-Id: I5fa69e2218a540efa4224d53bc1b0d158567816d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
2f97594742886d045ca1ce409ebc6e6e780452f6 06-May-2014 Dake Gu <dake@google.com> browse transition

fix bug that ListRowPresenter does not fire row selected event.
adjusted pivotx of header.
add fast lane header sliding transition.
fade row header in-place while moving parent.
Merged transitions into concurrent to make the transition more "tight".

b/14164663

Change-Id: I360118c98950519ed7e9dc3bf67dbe0bfdd45995
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
dc362d4642900b852df2dd63e98848b6621cbe92 08-May-2014 Dake Gu <dake@google.com> fix fast relayout bug

after pushing items down/up, we should update rows min/max before
appending more items.

b/14651901

Change-Id: I5ec05e30746020c5dece90e7c67220f80eb63aee
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
57070ccd71477252474e3c4d35edddbc859c6179 05-May-2014 Craig Stout <cstout@google.com> Merge "Support for bidirectional view layout along primary dimension."
aaeddd3d703a597945778a749fbef2d85532802d 18-Apr-2014 Craig Stout <cstout@google.com> Support for bidirectional view layout along primary dimension.

Layout direction is determined by whether the view was appended or
prepended.

Change-Id: I63aef2f7c7fbb93db9975d210a6f212c0b72ffcd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e34cae48707e70442aca13e1b4ab55757292828d 02-May-2014 Dake Gu <dake@google.com> VerticalGridFragment title transition

Change-Id: I4f2d17ffe112e5ea89e5392a519d90e236e1e48d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
f272f7533fcb5aba341e9ab2f4ff0421d668a8ca 26-Apr-2014 Craig Stout <cstout@google.com> Support for wrap content on the secondary axis.

Change-Id: I96ca955025c2d5b1857bd29febbcf2d0ac7e825a
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
101dde19d1d2150afb02d1bf1d78a1759265c928 30-Apr-2014 Dake Gu <dake@google.com> Merge "Support header changeBounds transtion between fastlane and row" into klp-modular-dev
2d8ec4a44f2ffcfb83247c5f0e12e45aec7e4174 29-Apr-2014 Dake Gu <dake@google.com> GridLayoutManager: new method signature

Change-Id: I6a1a698eb59c973bd48cbd986805da01773c38d2
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
3c23ada8bc25a05bbaa8c479a9df72e8172c4349 18-Apr-2014 Dake Gu <dake@google.com> Support header changeBounds transtion between fastlane and row

Now both fastlane and text view above row share the
same RowHeaderPresenter by default, this allows
customized RowHeaderPresenter also being used in fast
lane. Transition handles the transition between
them.

No longer detach/attach fast lane, goes back to the
original hide/show mechanism, also split the transition
work from focusSearch() and performed after focus changed.

Added a Customized changeBounds transtion that support setting
staggered startDelay of fastlane text views.

Change-Id: I688074b850c088c2ff53039d235ba70f88c38da5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
26bfc3c42a1e0b0bd08bf2bb1142b371b60aa7d3 05-Apr-2014 Craig Stout <cstout@google.com> Fix adapter update during measure.

Change-Id: Ia42463cdc0f5054c4771a439c6f310dcfaee2ec1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
9240e796bc63422c28f2707840bd99c48573279b 14-Apr-2014 Dake Gu <dake@google.com> more transition support and fading edge support

Use fading edge effect instead of switching clipToPadding, this also
fixes bug of shadow gets clipped by padding.

Let TransitionManager control the browse rows animation, disable
grid view animation during transition, grid view should
re-initialize the start position values when layout animation is
turned on after transition completes.

Made transition customizable from code, adding listeners.

Change-Id: I7904a3731f58af035e207cf61ad7ab174cee231a
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
31aa83dc228c115ff48105dd36f25304dd744460 14-Apr-2014 Dake Gu <dake@google.com> Revert "GridLayoutManager: fix bug if current focus is on top of grid view"

This reverts commit bcb7bf9b051050fa44ae270b4ac0ecab5456fe33.

That change caused issue that press DOWN in last item of fast lane will focus
to right side by default focusfinder. We have to revert this issue. To focus
on widget overlaid on top of RowsFragment, user has to override focusSearch()
in a customized widget like BrowseFragment does.

Change-Id: I360df90a3b8d05bba8548c0e0a0bfd58d59988a6
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
bcb7bf9b051050fa44ae270b4ac0ecab5456fe33 10-Apr-2014 Dake Gu <dake@google.com> GridLayoutManager: fix bug if current focus is on top of grid view

When focused search widget is on top of grid view and inside padding area,
FocusFinder gives gridview a negative score since its top edge
is above top edge of search widget. So nothing happens when
click DOWN from search widget.

BrowseFragment does not have the problem since it has a customized view
overrides focusSearch(), but for user who is using RowsFragment directly, we
should make the default focus search working.

Change-Id: I916d9666076cb977296617075dc0721857d9a04e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
43040065f16c57e180957a2afc27ecc706977491 05-Apr-2014 Dake Gu <dake@google.com> GridLayoutManager: fix crash of adding then removing end item

incorrectly append items which is in staggeredgrid history
but deleted by adapter.

Change-Id: I5028ba3a04e97a0cdfcf00e140a5abd741f6eb10
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
5fb3146be35c38a8fb794c2b8566e35e6c049401 03-Apr-2014 Dake Gu <dake@google.com> Merge "fix undesired horizontal scroll when focus from fastlane to row." into klp-modular-dev
9421aa6ca7de4174ddbe2e10fbb05cb31685ffcc 02-Apr-2014 Dake Gu <dake@google.com> fix undesired horizontal scroll when focus from fastlane to row.

We have code in addFocusables() to avoid focus to views
in padding area. But when we switch from fast lane to
row, addFocusables() is not called, instead hroziontalGridView.requestFocus()
is called, which will by default find the first item in horizontalgridview.
Overrides onRequestFocusInDescendant() so that we only returns items
not overlapping with padding area.

enforce "focus after descendant".

Renamed some internal methods to avoid possible conflicts
if recyclerview add methods later.

Change-Id: I24fd175d7fe48924793f2b12fc8ea146280dcb3b
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e560a9d4e4a73def79923a15ae22109746fa9cbd 03-Apr-2014 Dake Gu <dake@google.com> clean up optical insets

abs() gets wrong optical bounds value for negative diff values.

Change-Id: Iecf4870d115eb5b6f7b00877a8ab477111207719
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
7016761eb6734c4070f6177600acfb52bf021b7c 03-Apr-2014 Craig Stout <cstout@google.com> Fix optical bounds issue.

Change-Id: I2b99264a23641fc6de7c36c5f7fb03f0e800b6c3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
a5debe12465cc730b394651bed2acf894c60b65b 02-Apr-2014 Craig Stout <cstout@google.com> Revert "fix undesired horizontal scroll when focus from fastlane to row."

This reverts commit 5b1f117209e8a38d6d6b004c3c0d0285acc9b27f.
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
5b1f117209e8a38d6d6b004c3c0d0285acc9b27f 02-Apr-2014 Dake Gu <dake@google.com> fix undesired horizontal scroll when focus from fastlane to row.

We have code in addFocusables() to avoid focus to views
in padding area. But when we switch from fast lane to
row, addFocusables() is not called, instead hroziontalGridView.requestFocus()
is called, which will by default find the first item in horizontalgridview.
Overrides onRequestFocus() so that we only returns items
not overlapping with padding area.

remove the descendant focusability code since gridmanager should be always
focusing after descendant.

Renamed some internal methods to avoid possible conflicts
if recyclerview add methods later.

Change-Id: Iefd24a7f2a09341daeebe94736cfd4a5c62cd530
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
adc2a01f5701cbcc044754119b572abcf31c7c5f 26-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: support paged focus scrolling

- FOCUS_SCROLL_ALIGNED this is what we currently have:
keep focused aligned.
- FOCUS_SCROLL_PAGE scroll page by page
- FOCUS_SCROLL_ITEM scroll item by item

Changed default BrowseRowView horizontal scrolling to use
FOCUS_SCROLL_PAGE.

Change-Id: Idc4cc2e7d4833cf9b24c8c9505b03e945667af59
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
ce08db4f13dd7f7a82694b440462d7484cfb7c5b 01-Apr-2014 Dake Gu <dake@google.com> Merge "draw focused item at last" into klp-modular-dev
182f3350d5f3cef04d160c673b6969df28e9439c 01-Apr-2014 Dake Gu <dake@google.com> draw focused item at last

b/13734333

Change-Id: Ib907699aa84be726fdce9076e41ccfb091627767
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
5a2782ae17df5331a594fe03d5d89251a8b9f6d4 29-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: support gravity in secondary direction

allow child view to have a different size in second axis
other than mItemLengthSecondary. Depending on the gravity,
align the child view on secondary direction.

Change-Id: If02dd8c069219bf28791770dc3643956645ed634
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
c26ebee190513b93c6f30620dac3bfc9038cb621 21-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: subclass LayoutParams instead of using Tag

Also make it ready for future customized layout params.

Change-Id: Ic72f03d433c84ba0871117a189b4e2482a3bf69f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
e14d72261ac77c75ee77bdeb4557b57f87feb242 24-Mar-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: Fix missing margin" into klp-modular-dev
a8a3b898da49324e83ea32c3f08776a481312166 21-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Rename some leanback lib classes.

RowHeaderFragment -> HeadersFragment
RowContainerFragment -> RowsFragment
BaseListView -> BaseGridView
ListView -> VerticalGridView

Change-Id: Id37cb80a95122247aa33c55e545ece9f526df073
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
fa9a61fa061befbbbd49b01ec926a0fe8d61a9a5 21-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix missing margin

when we layout focus item in first row then layout prev item
in second row, the second row does not have any item yet, we
forget to add margin in this case.

b/13571410

Change-Id: Ied16bc560f55043e063f9d6554e7c4c6749d377d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
c1f3bcf2f1deac4603cddfb9548380ba20a5f310 19-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: fix ArrayIndexOutOfBoundException in onAddFocusables()

Fix the bug when child focusable is false.
b/13547532

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

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

Change-Id: Iac06f2e862894ee9c420cfab062289500baf9067
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java
8b068ddbbf22a246eab49ec25a2f7c3abfbdca51 16-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Add a .readme file to be copied into the sdk src.

This allows the project resources to be built by ant/eclipse.
Also moved default source code dir to src instead of java/src.

Change-Id: I9e5002fbbfb96b98be772c1ec6653322d5563b56
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/GridLayoutManager.java