History log of /frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
08a38559a3751252fc8a1f36db0a431508a8f7d5 31-Aug-2017 jingjiangli <jingjiangli@google.com> Add payload support in leaback adapter/presenter onBind

In this cl, the payload support is added to leanback adapter/ presenter
for partial update.

Bug: 65129401
Test: ObjectAdapterTest

Change-Id: I641fc3895187eccb6ea7bdc6db8185597fd1283e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
534be4efda1eec8ed48f9e70a4ea4482975bbb58 22-Aug-2017 Dake Gu <dake@google.com> leanback: disable outline clipping on low power chipset

View outline based rounded corner is the bottleneck on low power
chipset. Adding OEM customization to disable outline clipping. In
the future we will try to implement rounded corner using Path and
Shape in ImageCardView and teach developer how to write a custom
card view doing so.

Bug: 64910200
Test: Manually run sample on low power device with customization apk
and on nexus player. Run ListRowPresenterTest on both devices.

Change-Id: I63bbf4e8764b7614334c2bd0964c148d793eb35f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
54463cbaec9a8fd707c983aaeac490af2ed141c5 20-Jul-2017 Dake Gu <dake@google.com> Revert "Revert "RV: Fix onMeasure() wrong size in second run""

This reverts commit cc7edbcde85a7bc8140a28262a31447f5d3b8370.

Change-Id: I0f50cdd81ccc41cbf46cb7b299323b20da911fda
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
cc7edbcde85a7bc8140a28262a31447f5d3b8370 19-Jul-2017 Dake Gu <dake@google.com> Revert "RV: Fix onMeasure() wrong size in second run"

This reverts commit 740a0867696bd7f6ffe59831f6f6464f47367cd6.

Change-Id: If11e24b2f786abf305ab380ba43bb457fa7411cd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
740a0867696bd7f6ffe59831f6f6464f47367cd6 15-Jul-2017 Dake Gu <dake@google.com> RV: Fix onMeasure() wrong size in second run

There is some issue with ag/2480331 onMeasure fix.

In the second onMeasure() run, it should use measure result of first
run, defaultOnMeasure() gives a wrong size and causes the row being
unexpected short and cards are given a wrong Y value.

To be safe, also stop horizontal gridview's animation during transition.
This make sure that transition and RV item animator never conflicts
with each other. We cannot simply disable the RV layout during
transition, RV layout is still needed to capture the card size change
in open/close fast lane transition.

Bug: 63597044
Test: rowNotifyItemRangeChange rowNotifyItemRangeChangeWithTransition
Manually tested with play movie TV app

Change-Id: Ie6ffb99c96dc4cc914e0e92dca64cf2fde1452b0
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
2f49fc87c3ae6d410162e7c28215d7ca859318c6 11-May-2017 Dake Gu <dake@google.com> Leanback: fix javadoc of overriding child overlay.

The javadoc is a little misleading about overriding the overlay of
child. Subclass should override applySelectLevelToChild.
onSelectLevelChanged() is overriden for additional dimming effect
on other static views added by subclass such as a footer view.

Bug: none
Test: none

Change-Id: I4e3b7623ae9a4b87bd5d677708126fbc63107bc8
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
a23c768a1a61495852074869b244064cf535b4c1 21-Apr-2017 Dake Gu <dake@google.com> leanback: better support custom onSelectLevelChanged()

Custom onSelectLevelChanged() does not handle the case that
child is added later. Introduce applySelectLevelToChild() to be
called in onAttachToWindow.

And add a complete test for shadow overlay container.

Bug: 37545125
Test: ListRowPresenterTest
Change-Id: I50dae625714ec122161d790de372c5b4b0833a81
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
b655650666d7bd317c41c7a5be229e3a80dd2692 11-Nov-2016 Dake Gu <dake@google.com> leanback: Lint fixes

1. add missing recycle() call
2. Convert Handler to static to avoid possible memory leak.
3. Some code condition fixes.
4. layout lint fixes.

Bug: 32831641
Test: existing LeanbackTests
Change-Id: I50ea555a3aabf77dcfe6f88754cec75faa3233a5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
181c8847d5a1169e26755ed690131333b7fff7e9 28-Oct-2016 Dake Gu <dake@google.com> Rework background manager and add TestCases

1. Simplify background layerDrawable from 5 layers to 2 layers.
Especially disable the DimLayer to reduce graphics burden.
2. Made release() in onStop() a default behavior to reduce
possible memory growing.
3. Top activity will inherit background from bottom activity,
but not the other way. This fixes the problem that BrowseActivity
inherits DetailsActivity's parallax background after returns from
it.
5. Add convenient method to query selected item in BrowseFragment.
6. updated samples to handle background change in opening/closing
header fragment and reapply background when returning to the
activity (onStart)
7. Added new BackgroundManagerTest

Bug: 32415435
Test: BackgroundManagerTest

Change-Id: I93a026d3e1437c93e22cf0a2fa456d0b3e5f15b7
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
3103f63e99d47573823957f7aa34308555873221 20-Sep-2016 Aurimas Liutikas <aurimas@google.com> Fix all operator wrapping issues in leanback library.

Test: code still compiles, there should be no code/logic changes.
Change-Id: I6e97e2ba429c323022055263540c3fb6d0003822
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
b8e4d4a19d98ce742eff0eca5520fc3b591d7e21 07-Sep-2016 Dake Gu <dake@google.com> Fix drawing order when shadow is not applied

Bug 31340316

Change-Id: Ibbdd61d5b918e680becb13fac810220940f5b50f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
99ec8b0cb375f7e5577ea3ec9f09e6ff7a95de0d 25-Aug-2016 Aurimas Liutikas <aurimas@google.com> Remove all the extra accessor methods added by javac in support-leanback.

Change private methods to be package protected to avoid extra methods
that get added to be able to access them from inner classes.

This CL saves 469 methods in our jar.

Bug: 31075707
Change-Id: I68c8152d060c9f35c72a2d78c608a9bccd12c86e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
c9a859537b0871f84afeeb706a5b425fe3f2b4dd 25-May-2016 Aurimas Liutikas <aurimas@google.com> Fix a random assortment of spelling errors.

Fix spelling errors found by Android Studio.

Change-Id: I121c79029f4e323da4ff2f44891e25480c44ebbc
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
b09c91a4059116d8bff32a889ef48c4fe900a542 25-Apr-2016 susnata <susnata@google.com> Adding support for mapping multiple rows to header items.

Bug: 28377671
Change-Id: I29b67547378611f64f29ea839c97afda9d554404
(cherry picked from commit b9fd330aaaede57fd2ff0ac1289429aab7a3cf42)
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
ac30644710e427c77b9d1f20ae385590bdac6c60 14-Apr-2016 Dake Gu <dake@google.com> Add contentDescription for ListRow, HeaderItem and fast lane

This allows app to

1. customize the contentDescription in BrowseFragment fast lane by
calling HeaderItem.setContentDescription(), by default HeaderItem
.getName() is used.

2. customize the contentDesciption of each ListRow so talkback
will announce "in $contentDescription list" when moving between rows.

3. Announce when entering "navigation menu" of BrowseFragment

Change-Id: I3006a91c4e8e9bcd72ed0114394ba93b7f3c0295
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
0d841b3454f896da58deb506ca22730bfd04f34f 19-Mar-2016 Dake Gu <dake@google.com> leanback: fix row selection problems

Bug 27718801 When removing all rows in SearchFragment,
the search bar's visibility is set to gone

Bug 27751344 BrowseFragment missing item in OnItemSelected event

Bug 27751870 RowsFragment does not update mSelectedPosition

Change-Id: If455ccaeee6b10bbfed9586e73f55449a825250d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
cff6e470de4a0b2ed1dec944bdc848bd26f852f6 16-Dec-2015 Dake Gu <dake@google.com> leanback: API tuning: inner classes

Change-Id: I00b48c1d3a3d16c783744c978a4d73337d6558ad
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
60f531e3d9667db9afe091f5a7979410eb7a0b48 07-Dec-2015 Dake Gu <dake@google.com> leanback: Expose some APIs

Bug 26027075

Change-Id: I2ab5c0683f1e00e4dd06b702787e3358cf64c105
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
8403619efebe94666c0615c3fc85080a303acf80 14-Oct-2015 Dake Gu <dake@google.com> leanback: fix NPE of transition listener and clean up

We actually can not support setListener(null) because transition
class only provides addListener() and removeListener(). Details fragment
adds a transition listener with null callback to the sharedelemententer
transition. The bug was not discovered because leanback theme always
specifies the sharedElementReturn transition. When sharedElementReturn
transition is not specified. When pressing back, the null callback listener
of sharedElementEnter transition are cloned into sharedElementReturn transition.

Now we switch to use addListener/removeListener and change
TransitionHelper methods to static.

Bug 24202013

Change-Id: I7cc918013e4a357a59987ea9727bc03c15cb0097
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
ce4c2014042fe6e4723bab30741039848adcf4be 09-Oct-2015 Dake Gu <dake@google.com> leanback: some javadoc fixes

Bug 24804296
Bug 24806837
Bug 24807801
Bug 24806081
Bug 24804939

Change-Id: Ie611c6c663335628ba98c2571bfda494e80f47b3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
afb203b71421cb0d477d4d470e852cc9647dde48 26-Sep-2015 Dake Gu <dake@google.com> Apply transitionGroup=true for static shadow

Current code only add transitionGroup=true to ShadowOverlayContainer
for dynamic shadow.

Apply transitionGroup=true to ShadowOverlayContainer when static shadow is
used and also when ShadowOverlayContainer is not used at all.

Bug 24416053

Change-Id: I805c52b46d0438d2a0e04568cd97bf94d1ff0ea1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
85833087b2288e0f002de6b4ebcbc0564839a217 07-Aug-2015 Dake Gu <dake@google.com> Make ShadowOverlayHelper public and customizable

Some refactoring to make ShadowOverlayHelper ready for public.

1. Use Builder pattern to avoid unstable parameters in constructor.

2. Added Options to customize rounded corner radius and shadow Z depth.

3. Make ShadowOverlayHelper independant of ItemBridgeAdapter.

4. Fix bug that Overlay drawable should not override the Ripple drawable
foreground of card view. That means a wrapper container is needed for
overlay color.

Change-Id: I0952d3cc15de21fde0b8e237078919d35592848e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
4d14fb53ebf304ad989afbc57baa71cfcafa4e7a 05-Aug-2015 Dake Gu <dake@google.com> Further change for ShadowOverlayHelper

Switch VerticalGridPresenter to use ShadowOverlayHelper.
Don't force use ShadowOverlayContainer if rounded rectangle outline
is not used.

Change-Id: I1851f8209008ef8713039429165926bc195d585e
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
254b417129de2a8c5612826a152f8a26c8f1d0e8 27-Jul-2015 Dake Gu <dake@google.com> Remove overlay view for better performance

Overlay view does not help performance, when animating
background color, invalidate() will be called on overlay View.
That's equivalent to invalidate() on ShadowOverlayContainer.
Remove the extra view to save memory and override draw()
instead. This turns out to save about 5~10% in UI thread and
RenderThread in a vertical scrolling of BrowseFragment
according to systrace.

Refactoring a ShadowOverlayHelper to include all options for ListRowPresenter:
hasOverlay, hasShadow, hasRoundedCorner, make decision whether to
create a wrapper.

Ultimately the extra layer ShadowOverlayContainer could be removed
and we can use setForeground() on any view for API>=23, but
animating foreground causes uncessary rebuildOutline() right now.
So we force to always use a wrapper for overlay.

b/22794753

Change-Id: I4848f7fc6b832706445da8e6e1b807d0f1830968
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
7eda2860540ba53d11b068dca80623b3511bdbe3 05-May-2015 Kris Giesing <kgiesing@google.com> Merge "Support static in addition to dynamic shadows." into lmp-mr1-ub-dev
0246318f27a905a31df5a8af445cfe67d31dfb68 15-Apr-2015 Dake Gu <dake@google.com> New details fragment design

Added new FullWidthDetailsOverviewRowPresenter and changed
DetailsFragment.

Under new design, details fragment is responsible to setup
alignment for each row.

Details fragment is also responsible to change the view state
of row based on selected position and selected sub position.

There are three states for the overview row:
STATE_FULL: covers full width and full height(may be customizable).
STATE_HALF: has empty space in the top to look through.
STATE_SMALL: a banner style like the old Details.

The layouts for different states are defined in the new
FullWidthDetailsOverviewRowPresenter.

Made the logo view presenter exposed and replaceable.

Decouple SharedElementHelper from FullWidthDetailsOverviewRowPresenter
to make it possible to customize shared element transition.

For the apps: they only need switch to use the new presenter.
The old DetailsOverviewRowPresenter is still supported at this point
but might be removed in the future.

Support customize or disable title of DetailsFragment.

Fixed api/current.txt: Hide GridLayoutManager.

Change-Id: Id53aa5a185f132c8d74c95042595f223371fa708
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
f4acd3cf076435ce836a6d4a9027b73ec3050def 30-Mar-2015 Craig Stout <cstout@google.com> Support static in addition to dynamic shadows.

ShadowOverlayContainer may be configured to use static or dynamic shadows.
Adds new Settings with key PREFER_STATIC_SHADOWS.
Settings are maintained staticly so they only need to be generated
when a new app process is created.
Some settings may be customized by partners via a customization package.
If apps override the defaults they must do so on every activity create.

Change-Id: Ib0af2411e82cdb95ffe3ff619150392c0a2bd883
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
a00bada00bff4a58436a39472ab14ccb7a8f619d 31-Mar-2015 Craig Stout <cstout@google.com> Javadoc polish.

Includes new package level javadoc for:
android.support.v17.leanback
android.support.v17.leanback.app
android.support.v17.leanback.widget

b/19007191

Change-Id: Id1e5d55eabbf37c0420e6e4c73abe3d4f1aabee1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
3a5038bd0fefa5628a31a21422bf2126c53472a9 12-Mar-2015 Craig Stout <cstout@google.com> Fix NPE when RowPresenter is shared between fragments.

View clicked and selected listeners are now members of ViewHolder,
not RowPresenter.

b/19709636

Change-Id: Iabfe09b721ec97de863c4387ed72339494ddbb70
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
5870e4aca782a55d0e8f7650f06aec86080b2f88 09-Mar-2015 Craig Stout <cstout@google.com> Fix list row layout without dimming on pre-L.

b/19548299

Change-Id: I2efaa59d6ba09df1744b58d81dc6f12d9bb40ed2
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
6f692d5788fc7a388b253de91f1516d490b3de81 27-Feb-2015 Dake Gu <dake@google.com> Merge "Revert "Revert "Remove deprecated OnItemSelectedListener and OnItemClickedListener""" into lmp-mr1-ub-dev
198c338762838d44c49fe3c4768f7d7b0f4fe755 27-Feb-2015 John Butterfield <butterfield@google.com> Merge "Better Focus dimming support and some minor code cleanup." into lmp-mr1-ub-dev
41ad8b4ffe5adbc5c8568d359786a67a4937964d 25-Feb-2015 John Butterfield <butterfield@google.com> Better Focus dimming support and some minor code cleanup.

Added ListRowPresenter and VerticalGridPresenter constructor arguments for useFocusDimmer.
Added a missing interface in VerticalGridPresenter to be more consistent with ListRowPresenter.
Added some missing documentation to VerticalGridPresenter.

b/18639835

Change-Id: Icbb5754ca349668594b7c1e2e4ab45b5467ed120
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
8df88a1ead9ea62456fc3bbda41657ccf61d5721 26-Feb-2015 Dake Gu <dake@google.com> Revert "Revert "Remove deprecated OnItemSelectedListener and OnItemClickedListener""

This reverts commit ee73a5bfd4d2460a93a9afb9d1bfce10ff875300.

Change-Id: If6b926c093a8254dca02d4ccac4bfaefca85bc81
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
ee73a5bfd4d2460a93a9afb9d1bfce10ff875300 26-Feb-2015 Chris Banes <chrisbanes@google.com> Revert "Remove deprecated OnItemSelectedListener and OnItemClickedListener"

Fix's all the builds.

This reverts commit 628f94f0d3293372bc23bea1411e687dfe508753.

Change-Id: I17e677c513da0ea36f50b1ab5b73e927d73f0598
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
628f94f0d3293372bc23bea1411e687dfe508753 26-Feb-2015 Dake Gu <dake@google.com> Remove deprecated OnItemSelectedListener and OnItemClickedListener

Bug 19514090

Change-Id: I690674d506202bc5513b5fb4cc0eaf3bcddb04f5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
a5a55ee6d23db9cd9fdf6407b75a7f88633c7656 19-Feb-2015 Craig Stout <cstout@google.com> Merge "Revamp support for keyevent handling." into lmp-mr1-ub-dev
60bb6af2e336072921f5d3c3861e86b3cc6241b3 04-Feb-2015 Craig Stout <cstout@google.com> Revamp support for keyevent handling.

Now any RowPresenter.ViewHolder can handle keyevents.
Fixes playback controls issues when ff/rw are triggered via keyevent.
Also add support for KEYCODE_MEDIA_PLAY and KEYCODE_MEDIA_PAUSE.

b/18933835

Change-Id: I6e4c568524dda538ea7082c8097b481a2e59dff0
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
cb04695965b44b6ff633a773426df286d3bfaad9 11-Feb-2015 John Butterfield <butterfield@google.com> Generate item selected events while navigating in the fastlane.
If the application wishes to ignore these, they can use BrowseFragment.isShowingHeaders().

This means leanback will no longer pass null for item selected events when browsing in the fastlane.

Change-Id: I183df8a1f395e795c40f2291d0fe88fe9c0a9779
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
3173fdc69a928880a271036570c235f874b86f65 11-Feb-2015 butterfield@google.com <butterfield@google.com> Minor code refactor for readability.

Change-Id: Ic1d4d28e288db56dff001c5ae440cec6ec9f4869
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
71fddded48048acfa744ac352166770c91a1c2b1 03-Feb-2015 Dake Gu <dake@google.com> Refactoring: don't use AdapterListener in presenters

Embedding presenter core logic in AdapterListenr is improper.
Move the logic into overridable methods ItemBridgeAdapter.onXXXX().
This can allow high level fragment or app to use adapter listener.

Change-Id: I933e1965f27ec2c856c2f647c8876ae72df26f07
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
575dc8a5a5c023aee0c0ec297a7d357685cf49e9 21-Jan-2015 Craig Stout <cstout@google.com> Add xsmall focus scale.

b/19051315

Change-Id: I39066b672b1454ff6c6ea7ee4748d7f731728ed4
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
b3b295890fd53727a7a40262f86dceedf68c7123 17-Jan-2015 Dake Gu <dake@google.com> Add 4 policies of how RowPresenter change activated status of row view.

Bug: 18469244

Change-Id: I9cca86d9b39b387b6f18b3dd62dce98867d8d36d
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
bb370eee93bfe84a6e14be0e8476f48c32e2dcb0 30-Dec-2014 Craig Stout <cstout@google.com> Allow customized recycled pool size.

b/18742856

Change-Id: If914653d255c3c3c23492a4e044bd640f070917c
(cherry picked from commit 9e352dac7be9457d2cae3c6accb8ee910399c5ca)
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
3f0f3eb255bde49549a77c0b5d252decaa2a0202 13-Nov-2014 Dake Gu <dake@google.com> Leanback: Support delayed details entrance transition

Added a BaseFragment and move shared entrance transition code in.

b/17628884

Change-Id: Ibfe78116a0822925dbd25dbfde38e9b1c8e6c488
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
c04ca1b14c5bf9ecac80fc53d3f28a5a7fdd4e77 07-Nov-2014 Dake Gu <dake@google.com> Leanback: add Browse and Details enter and return transition

b/17628884

Change-Id: I5ab571563b75cfac6eaff662c4263aba0a6fa055
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
eb4947ed0d90c24552d1edc7943763a7e765fc87 13-Sep-2014 Dake Gu <dake@google.com> BrowseFragment: no longer use left fading edge

For performance.

b/17487746

Change-Id: I48e60514e3e058a7223d0d790eecfb37c6db761c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
46e7de54775fc37dc51041629c79249e6dae3242 05-Sep-2014 Dake Gu <dake@google.com> Leanback: Dim unselected grid item

Also hide FocusHighlight interface from doc.

b/17388123

Change-Id: I2501e8e501b6ab75570e11356413cf87fdc46d9f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
5358b0ca6ed795892bd097fdf15d41fb6b1a03d2 03-Sep-2014 Craig Stout <cstout@google.com> Fix memory leak when fast scrolling rows.

If a presenter starts a view property animation, then the parent row view
will have transient state which may cause a row to fail to be recycled
during a fast scroll, because RecyclerView checks transient state and
refuses to recycle a view if it or its children has running view property
animation.

This can cause a memory leak because ObjectAdapters have references to
ItemBridgeAdapters via the registered observer mechanism.

Apps should clear any view property animations in Presenter
onViewDetachedFromWindow, but in case they don't we'll do it for them in
the base class.

b/17013302

Change-Id: Ibdf5998e81dd130128f88f85d88243ec27a70dd5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
3146269a82645438b55a41c679047e3be36e65df 21-Aug-2014 Craig Stout <cstout@google.com> Ensure list row bottom padding is always sufficient for shadows.

b/17180725

Change-Id: I6199394a88ccabb96242cd21b5f0f31c36ee937c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
af9a85fd1ea6701770622bc73a1056a90d554cba 20-Aug-2014 Dake Gu <dake@google.com> Merge "fix bug sharing recycling view between rows" into lmp-dev
53a46b5723708bbb223084ebf3a4fbf6ea4616ae 20-Aug-2014 Dake Gu <dake@google.com> fix bug sharing recycling view between rows

The view's parent is changed from one horizontalgridview to
another.

b/17108202

Change-Id: I92aad74952ef7bcf8a5e626e0c73620c31692054
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
4f34a05cdf73b68c3b2eb8678f740ab15225126a 15-Aug-2014 Craig Stout <cstout@google.com> Add rounded corners to leanback "cards".

b/16687089

Change-Id: If8997998304c5fd22823f2cf95677be90e35c136
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
dbfb5013ef4647e61d96a31db67071afc9c1c3b8 19-Aug-2014 Dake Gu <dake@google.com> Merge "Use a foreground instead of itemdecoration for default row selection effect" into lmp-dev
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/ListRowPresenter.java
b23ee09bf4aee03bc403abf39016c8ca5ecf301c 14-Aug-2014 Dake Gu <dake@google.com> Use a foreground instead of itemdecoration for default row selection effect

Most of time vertical grid view only has ListRow, but in order
to handle possible default row selection effect, it always add
item decoration.

Switch to use a foreground of RowContainerView for the dim effect.

Disable not needed overscroll effect for TV.

b/17044705

Change-Id: Id48b5ff595f6b2efe70599d1255ceba42ca35966
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
9de363b8db05106b03d115c266859fe200d41db7 09-May-2014 Dake Gu <dake@google.com> Preparing for transition

In order to make transition work, user needs
to get current clicked view, added view parameter
in all our listeners and deprecated old version.

add methods to access imageview of cardview.

Change-Id: Ibccfae4bf13c623047475f2147a685b10e44c278
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
0fcad32410ad29031630bb9cc2da35d33a4aa906 19-Jun-2014 Dake Gu <dake@google.com> ListRow: Use Z order instead of customized drawing order

This makes much sense that drawing order is swapped when
z values comparison swaps instead of immediately switch
z-order on focus change while new focused view has not
scaled up.

Change-Id: I78b7e4bff29d8ebc0ce128d5783f0c89e29a2bbe
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
76c3b90228d8c4afc6d24c683e9c95f41ae619c9 04-Jun-2014 Jerome Poichet <jpoichet@google.com> Removing ununsed imports

Change-Id: Id398857ca752b9ac612d0e596da1cce58e6e3a6f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
4cd4cce277571385f4d1a56d5348578c38368cbe 03-Jun-2014 Craig Stout <cstout@google.com> Further browse spacing fixes to match redlines.

When not expanded, padding is greater for the selected row.

b/15328938

Change-Id: I97f2a40b542372a7f15ff6cfc30d7a23e74eb8a5
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.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/ListRowPresenter.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/ListRowPresenter.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/ListRowPresenter.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/ListRowPresenter.java
a4560456facaa3dd341a7ab2f372f655d46f7ee6 14-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Add methods to set row heights in ListRowPresenter.

Allows a ListRowPresenter to set the row height on new rows created by
the Presenter. Optionally, an expanded row height can be set, and the
RowPresenter will animate the height changes on expanded state changes.

Change-Id: I59257c1cc9cb4dbcf3447877b14a11295b11e992
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
4df06cbe8f6dd087fc8f1068faa77923cb297365 24-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Activate cards that are off screen.

setActivated() only affects children of recycler view that are on screen,
so previously new views that are attached are not set to activated.

Bug: 14089372
Change-Id: Ife7b954b5793fcf5ff1858481285a7f09e387fe1
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
02e411c2c69d20aab138f1a162a24ea650eff7a1 19-Apr-2014 Dake Gu <dake@google.com> fix header position not synchronized to rows position and fix NPE

for no hovercard case.

Change-Id: Ic21b322158e88f1a42cc99f89fefb92f1e90357c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.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/ListRowPresenter.java
c4b1a043ab39a881b2a05d50e93c35e6f6ebfffb 14-Apr-2014 Dake Gu <dake@google.com> ListRowPresenter: fix ClassCastException

Checked on wrong function so that didn't set wrapper
and later will cast row view to a wrapper widget.

Change-Id: I5d9bb6b0b34cdb7599f9bde7235c457047a5b184
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
cb13a318e577e14461eb008071dddf762847de42 11-Apr-2014 Dake Gu <dake@google.com> RowPresenter refactoring and preparing for Transition support

use a seperate RowContainerView for holding header view instead of insert
directly into view created by RowPresenter. This is an API change that
need fix all subclass of RowPresenter.

renamed some view classes.

Prepare for transition support: add and remove header view in
onRowViewExpanded()

Change-Id: I67fa23db6d2c21fa577d68393aca0746f3012002
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
267ee02d485e13699840b3f8a6f480e0bb4abf0b 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Remove deprecated constants in leanback.

All uses have been switched to FocusHighlight so it's safe to remove
these.

Change-Id: Icfe8b906656051421409d4abd2867eecadd18e24
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
dfd01bbadc107b6b3b2081ddb0236128c425f380 05-Apr-2014 Dake Gu <dake@google.com> Refactored shadow helper

Added helper class ShadowOverlayContainer can be shared
by RowsFragment and McLauncher.

Change-Id: I8c65d2a2c2a949cc4b251aeeeddf4bfea6f67194
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
62d5de70439cb859525e45310b5ac4dbbfe420f2 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Add deprecated constants back to ListRowPresenter.

They were used by another branch, breaking the build.

Change-Id: I142be80612be5472328ccec061d22f555a343776
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
739e3805bf2785e6773aede5e2e1643f537305f9 07-Apr-2014 Craig Stout <cstout@google.com> Add a VerticalGridFragment.

Change-Id: I35476263c52d1fef09036bbe9339c945de2f339c
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
29246e5ca814f17dcf368eeacd1b44a329592ae0 04-Apr-2014 Dake Gu <dake@google.com> fix dark overlay bug

apply dim in onAttachedToWindow(), onBind() does not cover the
items in bound cache pool of recyclerView.

Change-Id: Iced5fc987e507771ef317a2c56284b817d3f03fd
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
892181367d658f347d00ea5e091aa31f086b2a20 04-Apr-2014 Dake Gu <dake@google.com> implement a default shadow on browse row card in a non-intrusive way.

Automatically create a wrapper layout that wraps the view created
by Presenter and adding shadows, color overlay.

Change-Id: I34f4c508c01d7d3c1710e455ec0edd600735d278
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
b9e89a1544f8cf582f191184fb9b2a4f24e1fa5b 31-Mar-2014 Craig Stout <cstout@google.com> Zoom on focus changes.

Developer may specify one of several predefined zoom factors.

Bug: 13387176
Change-Id: I6ad53f691c95d824ca379a7a50604c65363be7e4
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
db1e9bb04638eb6b0b16e849e433d1c3b6f4296c 27-Mar-2014 Dake Gu <dake@google.com> Fix bug that setClipToPadding() does not update the ViewGroup.

We didn't see this happen because we always cause a layoutChildren()
which does the invalidate().

workaround b/13675947

Change-Id: I6ab5e9106fa403250c1eae9f08204dc6a5e79b1f
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
7aaa6c6ef8807cc4ea4c4642716d6e30056bc4eb 24-Mar-2014 Dake Gu <dake@google.com> more javadocs about RowPresenter events and animations

renamed "row_list" to "row_content", so it can make sense for non list
row alignment.

Change-Id: I4f0a0d3bdf30049ada1a9bc87ac90900b6be3721
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
cf94c5fa8ae8edb7e26a623133207415ceeed187 20-Mar-2014 Dake Gu <dake@google.com> add support of row select animation

Row select animation is controlled in RowContainerFragment that
is not recommended to override. Developer can override the default
dim effect either as a subclass of RowPresenter or subclass
of ListRowPresenter. We also provide helper classes:
ColorFilterDimmer and ColorOverlayDimmer that developers might use
for their own dim effect.

Change-Id: I1982aa193ccf04be557187a6338feefbd675710a
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.java
0f1fa0dfa946ddc8afb6af26a4dd1a4d01dca10f 19-Mar-2014 Dake Gu <dake@google.com> final some methods and classes, fix some compile warnings

add some comments

Change-Id: I3868cd11eb6345778ae9c813cb9ea974543bc4ba
/frameworks/support/v17/leanback/src/android/support/v17/leanback/widget/ListRowPresenter.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/ListRowPresenter.java