• Home
  • History
  • Annotate
  • only in /frameworks/support/v17/leanback/src/android/support/v17/leanback/app/
History log of /frameworks/support/v17/leanback/src/android/support/v17/leanback/app/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4a4e0872bdf0548188e81740eb62085215e7f976 19-Aug-2015 Dake Gu <dake@google.com> fix NPE of Fragment destroyed before transition ends

This is a regression.

Bug 23331423

Change-Id: Ifa9935f819413b20aad2b9a0b38233dd0d7edbae
aseRowFragment.java
aseRowSupportFragment.java
e71207666a1a915e5a5bdf7503bd936f4d87b48b 22-Jul-2015 Dake Gu <dake@google.com> Unregister ItemBridgeAdapter from ObjectAdapter

This is a rare use case: if same ObjectAdapter is reused
across multiple Fragments and backstack is not supported.
(Activity switch fragment showing same data?)
We must remove ItemBridgeAdapter from observer list of
the long existing ObjectAdapter.

Fragment should in theory to be self restoreable for example
when BACK is supported. So ObjectAdapter should have same
lifecycle as RowsFragment. This fix isnt necessary in
these typical cases.

But it is a safe fix.

Bug: 22642503

Change-Id: Id0b40a0c1b022d0ec534f6281fb38156a1436c06
aseRowFragment.java
aseRowSupportFragment.java
52aff68afe51c82a416701db4ac8c7a8d1a5695b 22-Jul-2015 Dake Gu <dake@google.com> am 756d7b63: Merge "leanback: prevent RV update children during transition" into lmp-mr1-ub-dev

* commit '756d7b63dc1e9d9b1f5674882fb3717cd10f08db':
leanback: prevent RV update children during transition
902e68c114f86e8002516ff3f0248b722b6c5711 29-Jun-2015 Dake Gu <dake@google.com> leanback: prevent RV update children during transition

Introduce onTransitionPrepare() which is earlier than onTransitionStart().
Now it's three stages:
- onTransitionPrepare() stops animation, scroll, user interaction but
allows RV change without item animation.
- onTransitionStart() further stops RV layout, prevent any child change until
onTransitionEnd() resumes it. Adapter change is postponed.
- onTransitionEnd() restores everything.

Fixed a bug when focused header view is re-binding, select level
gets assigned to 0.

b/22067316

Change-Id: If3e05e0bffe8b1b3d67e424989142dc9b69cccdb
aseFragment.java
aseRowFragment.java
aseRowSupportFragment.java
aseSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
owsFragment.java
owsSupportFragment.java
24502efdf76165e8bd35044e44737de8c6efbe46 05-May-2015 Dake Gu <dake@google.com> am a16d7278: Merge "New details fragment design" into lmp-mr1-ub-dev

* commit 'a16d727807a23ac7de1c94c946555fb2e42ac8d1':
New details fragment design
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
aseRowFragment.java
aseRowSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
owsFragment.java
owsSupportFragment.java
674cb8b91bec1a1de9c8d3482e1044cfe481846f 28-Apr-2015 Kris Giesing <kgiesing@google.com> am 6b28bed7: Merge "Fix variable reference errors related to check groups." into lmp-mr1-ub-dev

* commit '6b28bed7db5c19985275b33ffeba3f27e9118cc4':
Fix variable reference errors related to check groups.
6b28bed7db5c19985275b33ffeba3f27e9118cc4 28-Apr-2015 Kris Giesing <kgiesing@google.com> Merge "Fix variable reference errors related to check groups." into lmp-mr1-ub-dev
633f924bac2b143ae67f86eace4d5068f2acab5e 28-Apr-2015 Kris Giesing <kgiesing@google.com> Fix variable reference errors related to check groups.

Checkmarks were incorrectly turned off for the clicked view rather
than all views in the current group; checkmark fade used the wrong
animation constant.

b/20545155

Change-Id: I3d93149708f87950da9ce818a84c48d08dea2b77
uidedActionAdapter.java
3998e33b723e04874bae46b457674e142ca3c3e0 24-Apr-2015 Craig Stout <cstout@google.com> am 87480a3b: Merge "Support persistent focus on the playback controls row." into lmp-mr1-ub-dev

* commit '87480a3bc0b3b6ccafc934939a9b6e2ebfaf5f1f':
Support persistent focus on the playback controls row.
d30b6d18e1c6b988f75d76c50dbec7199386ce9b 15-Apr-2015 Craig Stout <cstout@google.com> Support persistent focus on the playback controls row.

b/20148117

Change-Id: I4973f6ad2b5b450ea850939a47d1b8f73ea11f54
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
780757bd2c0d51a1395f425adbbca83fe00edc23 18-Apr-2015 Craig Stout <cstout@google.com> am 13b4ae81: Merge "Don\'t set view clicked listener unless app provides one." into lmp-mr1-ub-dev

* commit '13b4ae8170d083f143f26fba739c85031b283315':
Don't set view clicked listener unless app provides one.
4c353487a7c006e6bb67bf31a734ae271ef096b0 17-Apr-2015 Craig Stout <cstout@google.com> Don't set view clicked listener unless app provides one.

b/20324421

Change-Id: I89f593b0fbd8db01fc31e5701c18739950886d9c
earchFragment.java
earchSupportFragment.java
c15b9b8f9beb27b22e73ba88a3a1af2837bea79d 14-Apr-2015 Craig Stout <cstout@google.com> am 2877f3ad: Merge "Fix NPE if release called before background animation finishes." into lmp-mr1-ub-dev

* commit '2877f3add24f8bf8df4ce15f2674cb9c5bf1faba':
Fix NPE if release called before background animation finishes.
f988bc054a2e0ccefacd8c76cbcf47a1ab88e6b1 14-Apr-2015 Craig Stout <cstout@google.com> Fix NPE if release called before background animation finishes.

b/20217055

Change-Id: I51cb21ea556f5008108e45c05c8891a4443cb3a1
ackgroundManager.java
74fe4082496a9d3da0dc0a560ae4c41a40b84e40 07-Apr-2015 Kris Giesing <kgiesing@google.com> am aa36620c: Merge "Minor change to JavaDoc" into lmp-mr1-ub-dev

* commit 'aa36620ca8b256584fdb69a8f97a3ac3b1de56a9':
Minor change to JavaDoc
751fc58ffff0614288c610fbd0767969abb9365f 06-Apr-2015 Kris Giesing <kgiesing@google.com> Minor change to JavaDoc

Change-Id: I9c6e892520171493fc8a9c0a8685d551ad2af222
uidedStepFragment.java
1a264264a128f012d123f73cb1e4bf000b53fad0 03-Apr-2015 Craig Stout <cstout@google.com> am 363191eb: Fix missing theme drawable issue.

* commit '363191eb688c10be4f8ffe10c41da1664168d1fe':
Fix missing theme drawable issue.
363191eb688c10be4f8ffe10c41da1664168d1fe 03-Apr-2015 Craig Stout <cstout@google.com> Fix missing theme drawable issue.

The same drawable instance should not be contained in multiple LayerDrawables
simultaneously. Cache the theme drawable state instead.

b/19991532

Change-Id: Ib7dbbadcd0c2add50e078840e54a92bcfd1fccff
ackgroundManager.java
5df0069e15cf2ecdc97273c5190748fac9c8a66b 02-Apr-2015 Craig Stout <cstout@google.com> am f36902ae: Fix infinite recursion bug.

* commit 'f36902ae811a12506f54faa261cb653f45a27612':
Fix infinite recursion bug.
0670f090a011e864bd726784c2a85333bf2ae7fb 02-Apr-2015 Craig Stout <cstout@google.com> Merge commit '870246af'

Change-Id: Ia2e3cc2d15ff6b3d3b88a3f1a6e822374df67bd7
f36902ae811a12506f54faa261cb653f45a27612 02-Apr-2015 Craig Stout <cstout@google.com> Fix infinite recursion bug.

b/20046447

Change-Id: Ibf8daeeadf41131e69e7bb6e1a4da42203e698a2
ackgroundManager.java
870246affed5ced2eb69e0a0b9ba460c7d17f80f 02-Apr-2015 Craig Stout <cstout@google.com> Merge "Javadoc polish." into lmp-mr1-ub-dev
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
ackgroundManager.java
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
owsFragment.java
owsSupportFragment.java
earchFragment.java
earchSupportFragment.java
ackage-info.java
5f1495c5e04580b8b8d79450e528c284d07f6949 02-Apr-2015 Craig Stout <cstout@google.com> am 7d860667: Merge "Add BackgroundManager api for specifying the theme drawable." into lmp-mr1-ub-dev

* commit '7d86066752e22390dcea30efeceabb56564efd86':
Add BackgroundManager api for specifying the theme drawable.
459af78be7413b944e2ff0a6f231a8b7b5de3aad 30-Mar-2015 Craig Stout <cstout@google.com> Add BackgroundManager api for specifying the theme drawable.

Allows an app to avoid setting this drawable in the theme and thereby
skip the overhead of decoding the image when the activity starts,
which now happens commonly because leanback recommends different
themes for browse and details.

b/19991532

Change-Id: I0f5c73d91efd35a09c76d1bf87a184d1deb47f09
ackgroundManager.java
597df6ae74efa5ef9d2690b4eb164ff0000a3913 20-Mar-2015 Craig Stout <cstout@google.com> More BackgroundManager improvements.

Fix another case of flashing when returning from a released state.

Reduce BackgroundManager impact on transitions (see comments for details).

b/19689219

Change-Id: I43c63cd599eab84c78bfa3161f2a5c23225b452b
ackgroundFragment.java
ackgroundManager.java
ackgroundSupportFragment.java
8db4363e7b227c5d908de261890824e15bb1761c 25-Mar-2015 Craig Stout <cstout@google.com> am 4cccbaec: Merge "More BackgroundManager improvements." into lmp-mr1-ub-dev

* commit '4cccbaec5f851c429a38c23c00d3fed742e6a048':
More BackgroundManager improvements.
f684b94c5f316e9735abc298e00c3f61642b821e 20-Mar-2015 Craig Stout <cstout@google.com> More BackgroundManager improvements.

Fix another case of flashing when returning from a released state.

Reduce BackgroundManager impact on transitions (see comments for details).

b/19689219

Change-Id: I43c63cd599eab84c78bfa3161f2a5c23225b452b
ackgroundFragment.java
ackgroundManager.java
ackgroundSupportFragment.java
422812233b44ff358e460c0c884b55f87f5d4e8b 20-Mar-2015 Craig Stout <cstout@google.com> am ca342c28: am bf3531cf: am 2590c397: Fix more BackgroundManager glitches.

* commit 'ca342c284db250d65441cc0bf2db72a86e540f95':
Fix more BackgroundManager glitches.
2590c39739945451f80dcf8667709b93293fc8bc 19-Mar-2015 Craig Stout <cstout@google.com> Fix more BackgroundManager glitches.

Must implement getAlpha for background fade in transition.
Must not cache drawable wrappers or they'll be stale when mutate is called.

b/19689219

Change-Id: Id36910e243e205c56b913f57fa3197110819007d
ackgroundManager.java
db79c2c68f694fbbd821a2e18ef3bd229c52fe62 19-Mar-2015 Kris Giesing <kgiesing@google.com> am aad0e6f6: am 7e69f0b3: am 6ef613ed: Merge "Initial implementation of GuidedStepFragment" into lmp-mr1-ub-dev

* commit 'aad0e6f6005d8be013d4e616ab367af5726027cd':
Initial implementation of GuidedStepFragment
6ef613edd296c9daccceb258f94bad926384f325 19-Mar-2015 Kris Giesing <kgiesing@google.com> Merge "Initial implementation of GuidedStepFragment" into lmp-mr1-ub-dev
9db834f80dc832f58ccd4d1814142dee8533f2b2 19-Mar-2015 Craig Stout <cstout@google.com> Merge commit '80e69471'

Change-Id: Ifdb8ad7580c80f09cd55f6fefb712caca9b6b4aa
d6c1bec6bd003158e79da4c945ee57f915336e12 11-Mar-2015 Craig Stout <cstout@google.com> BackgroundManager fixes.

- Fix failure to fade out when a null bitmap/drawable is provided.
- Fix flashing caused by activity transition animating alpha on the window background.
The layer drawable must apply its alpha to the layer composition of the child drawables.
- Fix case where BM was released then on resume the app provides a background before
the background fragment is resumed.

b/19699049
b/19689219
b/17924621

Change-Id: I6d246badaf1d76682e602c2ba382d44290357665
ackgroundManager.java
ebd3d9078dbaebd10a9506ca086435eb63e8a2d2 17-Feb-2015 Kris Giesing <kgiesing@google.com> Initial implementation of GuidedStepFragment

b/18935698

Change-Id: I413f04bcac739768f79e22ab6b518399302a0d8b
uidedActionAdapter.java
uidedStepFragment.java
307001a6b0cbb2f48cf4e27c22dd585aaecd0117 13-Mar-2015 Craig Stout <cstout@google.com> am 6d690623: am 828ccfbe: am 223fd8dd: Merge "Fix NPE when RowPresenter is shared between fragments." into lmp-mr1-ub-dev

* commit '6d6906238addf396af0df3c26976baa5b45d82fd':
Fix NPE when RowPresenter is shared between fragments.
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
owsFragment.java
owsSupportFragment.java
8676c90089e5713ae8d3e2c4fa7518acc488a180 12-Mar-2015 Craig Stout <cstout@google.com> am d993a5fb: am 47cbd9f9: am f01172a8: Fix docs.

* commit 'd993a5fbc4e9ff562cf38abe87ace087aca2b813':
Fix docs.
9475c273add480a260ed60914b363a3f847e1a03 12-Mar-2015 Craig Stout <cstout@google.com> Merge commit '1fcb45fa'

Change-Id: Ia1f09b8ba8bc49256d01e8447af71b72b4904ef7
f01172a8028e20a2d86c71c1024fbc973e67afa4 10-Mar-2015 Craig Stout <cstout@google.com> Fix docs.

Also sync BrandedSupportFragment.

b/16029942

Change-Id: Ib74ade93895ef18fca599ea62a0d31555c4412f6
randedFragment.java
randedSupportFragment.java
e7246ef136ed686d8caf339d4d1fd8e37b499c6a 24-Feb-2015 Craig Stout <cstout@google.com> Broaden support for title/branding.

Unhide TitleView and BrowseFrameLayout.
Refactored branding fragment apis into base class BrandedFragment.
Browse, details, vertical grid are now BrandedFragments.
Create TitleHelper for devs managing TitleViews without BrandedFragment.
Ensure moving toward 'end' from TitleView passes focus correctly.

b/16029942

Change-Id: I5f48e404694997b359cbed579735544e79f6319b
aseFragment.java
aseSupportFragment.java
randedFragment.java
randedSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.java
70acb0c19be3831a2080e4f902324de16bfbf62e 04-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate support library with @ColorInt, @CallSuper, etc

Change-Id: Ifa25a628f89a07d3903cd71eb1c3639297fdf722
ackgroundManager.java
rowseFragment.java
rowseSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.java
8df88a1ead9ea62456fc3bbda41657ccf61d5721 26-Feb-2015 Dake Gu <dake@google.com> Revert "Revert "Remove deprecated OnItemSelectedListener and OnItemClickedListener""

This reverts commit ee73a5bfd4d2460a93a9afb9d1bfce10ff875300.

Change-Id: If6b926c093a8254dca02d4ccac4bfaefca85bc81
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
owsFragment.java
owsSupportFragment.java
earchFragment.java
earchSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.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
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
owsFragment.java
owsSupportFragment.java
earchFragment.java
earchSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.java
628f94f0d3293372bc23bea1411e687dfe508753 26-Feb-2015 Dake Gu <dake@google.com> Remove deprecated OnItemSelectedListener and OnItemClickedListener

Bug 19514090

Change-Id: I690674d506202bc5513b5fb4cc0eaf3bcddb04f5
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
owsFragment.java
owsSupportFragment.java
earchFragment.java
earchSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.java
c149abce7f8a46f7c54211b5f97c5cd9ee729357 24-Feb-2015 Dake Gu <dake@google.com> BackgroundManager: fix ThemeDrawable leak

Each activity gets different copy of Bitmap for ThemeDrawable.
So we should free theme drawable during release(). This wasn't
a problem before when all activities use same Leanback theme
and we weak-reference-cache last theme drawable by id. In latest
leanback lib, browseactivity and detailsactivty are using
different themes, the weak-reference-cache doesnt kick in.

Move ThemeDrawable initialization into lazyInit().

Little cleanup: no need to hold mThemeDrawable and never use it.

Bug 19494763

Change-Id: I1093b88c3990c20fa5b8f5695c1e0368450a589e
ackgroundManager.java
7ae6200550f3c4e02054a0290f46bb1444a5a0d0 23-Feb-2015 Craig Stout <cstout@google.com> Merge "Handle KEYCODE_ESCAPE like KEYCODE_BACK." into lmp-mr1-ub-dev
c89266e21f0269aecd5df2dc2a39f6f0cf11a58e 23-Feb-2015 Craig Stout <cstout@google.com> Handle KEYCODE_ESCAPE like KEYCODE_BACK.

b/18517374

Change-Id: I056e5b843ad3acfa4cb0eb1dbddf24cca70258a1
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
76b3441abcfcf1291d865fd4a204c103b637027c 20-Feb-2015 Dake Gu <dake@google.com> DetailsFragment: setOnItemViewSelectedListener after view created

b/18926118

Change-Id: Ib19acae979827ada2624f49daa774907eadcd8c5
etailsFragment.java
etailsSupportFragment.java
6834e168743e839d4df1bc49ba625cfbb74e1045 23-Feb-2015 Dake Gu <dake@google.com> Merge "Do not scroll to non-focusable item" into lmp-mr1-ub-dev
77b17ebed6d1f8488b150b25e2b6754971480cae 10-Feb-2015 Dake Gu <dake@google.com> Do not scroll to non-focusable item

Refactoring to use same PendingMoveSmoothScroller for both
staggered case and non-staggered case (RowsFragment vertical).
The problem of position based linearsmoothscroller is that
it calculates target position before the view is created;
so we may scroll to a target position that is not focusable.
Now using PendingMovementSmoothScroller, added a callback
consumePendingMovementBeforeLayout() where we skip the view
that's not focusable.

Allow dispatchChildSelected() during scroll pass, so we can append
an item with selected state without running another layout pass if
we apply select status after laid out it. This requires a change
in StagggeredGrid to make data structure consistent before
dispatchChildSelected() call. To avoid excessive dispatchChildSelected,
we postpone dispatchChildSelected() if a PendingMoveSmoothScroller is
still running. We only dispatchChildSelected() event on the final target.

Fixed a problem of unbind RowView does not apply animator end value.

Added TestCases

Bug: 19283027

Change-Id: I5cab61420514b5d0141387aa13a18d623b38536f
owsFragment.java
owsSupportFragment.java
46443cb5b092f1d9156342645088eead9da026f6 13-Feb-2015 Dake Gu <dake@google.com> Allow app runs without theme/style.

1. Dont directly refer theme attribute in layout xml, this
causes attribute not found error if style is not specified.
In particular, fixed couple places layout defines "paddingTop" using
theme attribute.

2. specify "wrap_content" in layout xml for list row, so it
will work without style. fixed a bug that getDimensionPixelSize()
does not work for "wrap_content" in layout, using
getLayoutDimension() instead.

3. specify "clipPadding=false" in layout xml, so it wont
clip to padding when style is missing.

4. Add protection that brandColor is missing

5. Add protection where playback icon is missing in style.

Change-Id: I6641d57a6c5eff8cdf945d716d391ab13a86c299
rowseFragment.java
rowseSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
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
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
0f82bdd768ca56c4d14fa96afe8ff0355360148b 08-Jan-2015 Craig Stout <cstout@google.com> BackgroundManager improvements.

No longer enforce a minimum delay between the time when a new background is provided and
the start of the fade transition. Now enforce a minimum delay from the last time a
background was specified.
Use FastOutLinearIn curve for fade animation.
Allow app to specify a custom scrim/dim wrapper.
Add isAttached method.
Fix alpha on dim layer.

b/17576952
b/18692080
b/14827932

Change-Id: If7737544e43dac1bb2a21fa4d372d51fbd040803
ackgroundManager.java
d586ba8825b418d9589436725bfdead30f0dc075 28-Jan-2015 Dake Gu <dake@google.com> Reduce memory consumption of DPAD scroll multiple column grid

Created a special SmoothScroller to handle onFocusSearchFailed
for multiple column cases. It remembers the pending movements caused
in onFocusSearchFailed and consume the pending DPAD movements when
a view is laid out in the direction. The change avoids appending
or prepending excessive views on the scroll direction which is not
within screen bounds.

Add a onLaidOut() listener for VerticalGridFragment to check if
we hit the first row. If the grid is three columns.
Previously (before introducing the special SmoothScroller) we always
prepend one row of items before fire onSelected event, so when we fire
onSelected(1), item0 is already in the tree and havePreviousViewInSameRow()
returns false. Using the special SmoothScroller, onSelected is fired at
the time a view is created. Checking hasPreviousViewInSameRow() at the
time item1 is selected will return true because item0 has not been
created yet. So VerticalGridFragment should also listen to when
item0 is added to hierarchy.

Applied a MAX_PENDING_MOVES to avoid overscroll too much.

Issue: 19150678

Change-Id: I7cf0093a4bee652f60c5f2004b799ee7c3f87fc8
erticalGridFragment.java
erticalGridSupportFragment.java
b682c5a20aa0a383ea2b3e7d639e51b3e7771bcd 02-Feb-2015 Craig Stout <cstout@google.com> Playback controls focus fixes.

b/18518261

Change-Id: Id4319ced4d18f3c16c94255e9d7e6772f74971b0
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
8d47905ed7e4aa6a364b75fcad85f28ddd8bce66 27-Jan-2015 Dake Gu <dake@google.com> am 572ed31d: Fix leanback crash in Kitkat (API19)

* commit '572ed31d757c2635ea0a5cdd7ec8a33cd16f77b7':
Fix leanback crash in Kitkat (API19)
572ed31d757c2635ea0a5cdd7ec8a33cd16f77b7 26-Jan-2015 Dake Gu <dake@google.com> Fix leanback crash in Kitkat (API19)

1. Fixed crash caused by KitKat is unable to load custom transition
from resource. Created kitkat specific helper class to create
custom title transition.

2. Fixed crash caused by entrance transition is not supported before
LOLLIPOP: disabled entrance transition before LOLLIPOP.

Bug: 19147233

Change-Id: Id628fdd11fe268ff42c53d8ee437a8f0ce5bf8fb
aseFragment.java
aseSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
aca6f4e4d28935fdc8f8d2a74cd41dc88c8b9e80 15-Jan-2015 Craig Stout <cstout@google.com> Fix setSelectedPosition.

Can now be invoked from onResume.

b/19029685

Change-Id: Ie75d562f1a7b007954aee6f750c43382dcd61cd0
rowseFragment.java
rowseSupportFragment.java
8dfa64298e91ed411f713acb279e5e3d71e60ae1 13-Jan-2015 Craig Stout <cstout@google.com> Restore post on row selection to fix a regression.

The performance impact of skipping a row has been mitigated so this
change is no longer needed.

b/18986994
(cherry picked from commit 35408ae42cc05d5a2a451a648359cbe3536aa004)

Change-Id: Iae4eec560748ffe184899d6a423010cfd8a78b5b
rowseFragment.java
rowseSupportFragment.java
4fa88de14977f610141695468a8a4faedc92b96d 19-Dec-2014 Craig Stout <cstout@google.com> Fix to prevent jumps when vertical browse scrolling.

Call setSelection right away instead of delaying to a post which
may not run before the next onRowSelected.

b/18742856

Change-Id: I28dd941f9add7ca39a72f35c1f83e6a127227bf7
(cherry picked from commit 71a9abe2bd686b7cb51596a9e5b2b58e5fc074b0)
rowseFragment.java
rowseSupportFragment.java
db14dd5106afde6a39ae26448df2b81b536ebc2b 30-Dec-2014 Craig Stout <cstout@google.com> Fix NPE in the support fragment.

b/18707593

Change-Id: If484980d616a46c407b30ca74be8c5b14bb40ccc
laybackOverlaySupportFragment.java
1df1f18de496764a0c922053e601d1b6d6d3f31c 11-Dec-2014 Craig Stout <cstout@google.com> Fix NPE.

b/18707593

Change-Id: Ib7519e36f99cf23a9913b91e478013377a1e12a7
laybackOverlayFragment.java
2741fddad965ac290e32834dae30d0be37c0d530 04-Dec-2014 Craig Stout <cstout@google.com> Merge "Fix focus navigation when browse headers are disabled." into lmp-mr1-dev
56c76a9fceeb2a516e4bc82bb8b31bbcec6528fc 04-Dec-2014 Craig Stout <cstout@google.com> Merge "Fixes to support improved external recognizer overlay." into lmp-mr1-dev
765a60dddf8a4e746144f9f1d432753c4eb353bb 04-Dec-2014 Craig Stout <cstout@google.com> Merge "Fix error message color." into lmp-mr1-dev
5ae73b45620a3d535b2d279512d5d34603e2bdb1 04-Dec-2014 Craig Stout <cstout@google.com> Fix focus navigation when browse headers are disabled.

b/18061087

Change-Id: I6ac98cabe9443c83a20a8bc08d1fcccd13a39675
rowseFragment.java
rowseSupportFragment.java
6a5a773fad65a61baa84ca994da9de1026007e42 04-Dec-2014 Craig Stout <cstout@google.com> Fix error message color.

b/18548286

Change-Id: I9a9d50d83e6a5b778576778bb768b839f3b57397
rrorFragment.java
rrorSupportFragment.java
490691bd414dbb2093dc6cb56ae63ae9b04e70e3 04-Dec-2014 Craig Stout <cstout@google.com> Fixes to support improved external recognizer overlay.

b/17611324

Change-Id: I449fcfdd1ec408e86e6305d4a6fc185af77a4902
earchFragment.java
earchSupportFragment.java
d102c8521d2695194e2939c9fd5d2b7795996887 04-Dec-2014 Craig Stout <cstout@google.com> Merge "Don't tickle playback controls on generic motion." into lmp-mr1-dev
ef9a081416ca11ef185e298259d99efc82bac197 04-Dec-2014 Craig Stout <cstout@google.com> Merge "Fix back key handling for playback controls." into lmp-mr1-dev
da2811c870d38a56f9ea4548ffb36f18d5f20a08 03-Dec-2014 Craig Stout <cstout@google.com> Don't tickle playback controls on generic motion.

b/18350753

Change-Id: I50178d9e15114c312f377188c5b0882acfc9e589
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
e2047098f696c81f6435cdd588a62d8ab5829c7d 24-Nov-2014 Craig Stout <cstout@google.com> Fix SearchFragment auto start of voice recognition.

Also fixes back navigation for single activity multi fragment apps.

b/18488044
b/18333293

Change-Id: I2a1649a7ef2feaa14c89dc0545ba37df5e80f53e
earchFragment.java
earchSupportFragment.java
c92c356de1a687598a031f3452053dc6c9af9b77 03-Dec-2014 Craig Stout <cstout@google.com> Fix back key handling for playback controls.

If fading is enabled and controls are not hidden, back key will fade out
the controls immediately.

b/18517833

Change-Id: I5d9f4781286f3b483c21c981fb640ab078c20523
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
4db320a7ab7e3cfd02fafbb32b670ef026d6898b 27-Nov-2014 Dake Gu <dake@google.com> Merge "Refactoring transition code" into lmp-mr1-dev
8aee95909671c0350e5f6955b698dcd2899ee0ed 26-Nov-2014 Craig Stout <cstout@google.com> am a7dc9b9e: am 7a8227c4: Merge "Fix erroneous IllegalStateException." into lmp-dev

* commit 'a7dc9b9efa537a1ff7d21967ad828057588e6658':
Fix erroneous IllegalStateException.
4735bfcd924fec2d694523f34fac5f8151257dc7 25-Nov-2014 Dake Gu <dake@google.com> Refactoring transition code

Now transitions are all defined in xml, make it easy
for modification.

b/17628884

Change-Id: I34b42bb131fc3055807b91c8d3e8a00db3d853df
rowseFragment.java
rowseSupportFragment.java
itleTransitionHelper.java
erticalGridFragment.java
erticalGridSupportFragment.java
f47fb1e34efd538c322f7539893272ba847cdbdc 24-Nov-2014 Craig Stout <cstout@google.com> Ensure playback controls are visible when fading is disabled.

b/17923350

Change-Id: If089b2f1a6cae06fc09d751de0b828b1288c808d
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
4a10f1eb5c4283cfeef34cd71b84173f5ab3eefb 21-Nov-2014 Kris Giesing <kgiesing@google.com> Fix navigation in VerticalGridFragment for RTL layouts

Bug: 18020272
Change-Id: Id74d29d003a5ce4ac11c37f54cf958538c232907
erticalGridFragment.java
erticalGridSupportFragment.java
8e3566285de4ac771d6188f62fe947e23d371a3d 19-Nov-2014 Kris Giesing <kgiesing@google.com> Changes to support RTL layouts

Bug: 18020272
Change-Id: I3e07b5f3784303b0b50dccc72d9d5ab140ea158f
rowseFragment.java
rowseSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
bed2e0359e5c75e29cc41642833021bac9f671f5 20-Nov-2014 Craig Stout <cstout@google.com> Fix erroneous IllegalStateException.

Reset mViewsCreated when fragment view is destroyed.

b/18458802

Change-Id: I85db53b11f6a693b7d01cbc1010d4e4da4d6d543
owsFragment.java
owsSupportFragment.java
2dfed05c8ab53ca7c28424c9c03b1a87b9b7ca0d 19-Nov-2014 Craig Stout <cstout@google.com> Rename getInputEventListener to getInputEventHandler.

b/18077079

Change-Id: Ie857b5bc743772b68e8cdb37521dae4920ea5990
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
ad16ef7c021371b7ae385ab049f76d0aa6f5c988 18-Nov-2014 Dake Gu <dake@google.com> Merge "Leanback: Support delayed details entrance transition" into lmp-mr1-dev
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
aseFragment.java
aseRowFragment.java
aseRowSupportFragment.java
aseSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
etailsFragment.java
etailsSupportFragment.java
owsFragment.java
owsSupportFragment.java
07b8c8b4d2f40a014d837d98929392e44eee1540 18-Nov-2014 Craig Stout <cstout@google.com> Merge "Check for null to fix NPEs when fragment is shutting down." into lmp-mr1-dev
7fd35190a1f0fd92f1275324b23708b5a2087a76 14-Nov-2014 Craig Stout <cstout@google.com> Check for null to fix NPEs when fragment is shutting down.

b/17646987

Change-Id: Iad5f72c8e7fee558e00dd3ea87f3340d110e5292
rowseFragment.java
rowseSupportFragment.java
447860fd5c105dd0ccd227237ac5f18fdc4c26dc 18-Nov-2014 Craig Stout <cstout@google.com> Stop orb color animation when fragment is paused.

b/17789226

Change-Id: I2a467ba0f0673e3248b7738e6381adc6dd5fd95b
rowseFragment.java
rowseSupportFragment.java
erticalGridFragment.java
erticalGridSupportFragment.java
a9f26f2ca4ea230f322a33a55cbaaaab5574a8ea 13-Nov-2014 Craig Stout <cstout@google.com> Merge "Handle media key events." into lmp-mr1-dev
43afed9e93ab5b510440412b35c6b39e4ecffb7a 12-Nov-2014 Dake Gu <dake@google.com> Merge "Leanback: do not use clipChildren=false for ScaleFrameLayout" into lmp-mr1-dev
6a0a9a6f8fd8ab428d81732875d6245777556b5f 12-Nov-2014 Craig Stout <cstout@google.com> Merge "Helper classes for managing standard playback control actions." into lmp-mr1-dev
f0ac258505ec580e01907c0ae044147521d45b0f 11-Nov-2014 Craig Stout <cstout@google.com> Handle media key events.

b/18091787

Change-Id: Ib12ebcdfbf488f4abec98525cef75aaf9080a91c
ediaControllerGlue.java
laybackControlGlue.java
eb66dab544c4c1eabe4d469b7cea348d4b01e664 30-Oct-2014 Craig Stout <cstout@google.com> Helper classes for managing standard playback control actions.

b/18077079

Change-Id: Id299ee35cf44ef987cea8a2d8718df4837de1abc
ediaControllerGlue.java
laybackControlGlue.java
laybackOverlayFragment.java
laybackOverlaySupportFragment.java
3595aa0cbdaa8e754365ca94a0b9eb8fc52b9796 11-Nov-2014 Dake Gu <dake@google.com> Leanback: do not use clipChildren=false for ScaleFrameLayout

Activity transition uses getGlobalVisibleRect() to decide whether
to run a window Return transition on a View, this function will
ignore child outside ancestors bounds even clipChildren=false.

Changed the way we scale the view so that we don't need
use clipChildren=false any more. Side benefit: this CL also takes
out the need of flipping clipChildren flag in header transition;
clipChildren=true is also better performance-wise.

b/18292516

Change-Id: Ie5018ae5c0e5e1df9e0f92e2435da767c7b8b3c5
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
369af1fd77864d2983396334edd6f5cb830460b2 11-Nov-2014 Dake Gu <dake@google.com> Merge "Leanback: add Browse and Details enter and return transition" into lmp-mr1-dev
be58994c64c87cf00c5b19362f0103bd69b59992 10-Nov-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fix rows fragment scaling on support fragments.

b/17914987

Change-Id: Ib4c172311f4baaaf7b0bd701965759f65995c444
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
f0a682c04fe15c6c9c683e248fd8c659623cccee 08-Nov-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fix back stack issue with fragment-only app.

Going from browse fragment to details and back to browse,
the transition back stack entry was added twice. The browse
fragment onCreateView is called a 2nd time but not onCreate.

Change-Id: I28cbd2ec2ce60cff186655f8607c683a60aafb7d
rowseFragment.java
rowseSupportFragment.java
9c94c635bed18caa22d14f7c5d03accf086fcec8 11-Nov-2014 Craig Stout <cstout@google.com> Merge "Fix rows fragment scaling on support fragments." into lmp-mr1-dev
989119c10e0ae2465879c37a23d3a5c75f89baa9 06-Nov-2014 Craig Stout <cstout@google.com> DO NOT MERGE Don't consume system key events.

Also, don't bring up the controls on back, since most likely the back key
will remove the fragment.

b/18045528

Change-Id: I39ffd74abe5ebcab5d30c785c44056edbd731bf4
laybackOverlayFragment.java
laybackOverlaySupportFragment.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
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
c165ad62b34f1f4b4f7c5394b4c5b89ab801c66a 31-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE BrowseFragment: Fix NPE that focus change during activity destroy

b/18044793

Change-Id: Id073dc06d2decbdf67396626f2625bd9d7d4bc36
rowseFragment.java
rowseSupportFragment.java
7121d4307443933ec8b680e4fc0b9bf6ddea66ab 29-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE Leanback: fix javadoc and add comments of auto-generated fragment code

b/17930984

Change-Id: Ifc814b28dce2787a0359274c7ad5e57286a23a3e
ackgroundSupportFragment.java
aseRowSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
etailsSupportFragment.java
rrorSupportFragment.java
eadersSupportFragment.java
laybackOverlaySupportFragment.java
owsSupportFragment.java
earchSupportFragment.java
erticalGridSupportFragment.java
4abd11d1ad999ca46209f690fa24883386e40e6f 29-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE Leanback: Initial check-in of v4 fragment

from generatev4.sh
b/17930984

Change-Id: I507ea601779621d65593413dea68188d3314d059
aseRowSupportFragment.java
rowseSupportFragment.java
etailsSupportFragment.java
rrorSupportFragment.java
eadersSupportFragment.java
laybackOverlaySupportFragment.java
owsSupportFragment.java
earchSupportFragment.java
erticalGridSupportFragment.java
b9f624f1c1e2bcc6b2502a6dcf632445679a9beb 27-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE Generate v4 fragment in same package

Make the v4 version same package so that we don't have
a weird package name like v17.leanback.v4.app

Make BackgroundManager works both for two versions of Fragment.

b/17930984

Change-Id: I3df9dfdc1bc4bcfe5ddb6f4fbd2f2484b63d0855
ackgroundManager.java
ackgroundSupportFragment.java
1f97045e486f6680a5e8ddcff383df6988fc1b56 10-Nov-2014 Craig Stout <cstout@google.com> Fix rows fragment scaling on support fragments.

This is actually needed only for lmp based sdks because
the change to support fragment manager to remove the intermediary
framelayout is only in lmp-mr1.

b/17914987

Change-Id: Ib4c172311f4baaaf7b0bd701965759f65995c444
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
c04ca1b14c5bf9ecac80fc53d3f28a5a7fdd4e77 07-Nov-2014 Dake Gu <dake@google.com> Leanback: add Browse and Details enter and return transition

b/17628884

Change-Id: I5ab571563b75cfac6eaff662c4263aba0a6fa055
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
34f3ee7e818a20939ef49abf5509bcfaea5c3db0 08-Nov-2014 Craig Stout <cstout@google.com> Fix back stack issue with fragment-only app.

Going from browse fragment to details and back to browse,
the transition back stack entry was added twice. The browse
fragment onCreateView is called a 2nd time but not onCreate.

Change-Id: I28cbd2ec2ce60cff186655f8607c683a60aafb7d
rowseFragment.java
rowseSupportFragment.java
76b50416ae52b6c80af7a8661b949c19ddad6bf7 14-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE Add script to generate v4 fragment code.

To provide v4 version fragment which is required by lots
of apps. To avoid generate two versions of resource file,
move shared widget class into widget package.

Outreach clipToChildren should be set on parent of VerticalGridView,
parent will be different for v4 case and none-v4 case.

b/17930984

Change-Id: Ica8cbd7195b481cd0831386b51cfff4955feda6b
rowseFragment.java
rowseFrameLayout.java
rowseRowsFrameLayout.java
owsFragment.java
erticalGridFragment.java
cbfc318baee2fc054af4c723bfac0fd3c28a1667 06-Nov-2014 Craig Stout <cstout@google.com> Don't consume system key events.

Also, don't bring up the controls on back, since most likely the back key
will remove the fragment.

b/18045528

Change-Id: I39ffd74abe5ebcab5d30c785c44056edbd731bf4
laybackOverlayFragment.java
laybackOverlaySupportFragment.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
rowseFragment.java
rowseSupportFragment.java
owsFragment.java
owsSupportFragment.java
28fe4119471dcc0ccd752c331d6420fcf363f5a5 31-Oct-2014 Dake Gu <dake@google.com> BrowseFragment: Fix NPE that focus change during activity destroy

b/18044793

Change-Id: Iddb8a60e21f33d583d1312433ef1c7f753a8aa86
rowseFragment.java
rowseSupportFragment.java
42752c860a26deacca04ea9ebeb00ddb4d8ce2fc 29-Oct-2014 Dake Gu <dake@google.com> Leanback fragment: House clean

Rmove dead code; don't expose methods that shouldn't expose.

Change-Id: I9b353c9781cbd9f0dcf13a5788c076c65ad47c1f
aseRowFragment.java
aseRowSupportFragment.java
eadersFragment.java
eadersSupportFragment.java
owsFragment.java
owsSupportFragment.java
6193c12a1897723c87b41f4e304a8cd04deef2dc 29-Oct-2014 Dake Gu <dake@google.com> Leanback: fix javadoc and add comments of auto-generated fragment code

b/17930984

Change-Id: I38a588f49da6e0d65097c3bc159093bae4808a3e
ackgroundSupportFragment.java
aseRowSupportFragment.java
rowseFragment.java
rowseSupportFragment.java
etailsSupportFragment.java
rrorSupportFragment.java
eadersSupportFragment.java
laybackOverlaySupportFragment.java
owsSupportFragment.java
earchSupportFragment.java
erticalGridSupportFragment.java
61905b0b52c50018dcaebcd79699c39b8f28d622 29-Oct-2014 Dake Gu <dake@google.com> Leanback: Initial check-in of v4 fragment

from generatev4.sh
b/17930984

Change-Id: I2baf78f43adb1a4915636ac0bc13733690f7d7e1
aseRowSupportFragment.java
rowseSupportFragment.java
etailsSupportFragment.java
rrorSupportFragment.java
eadersSupportFragment.java
laybackOverlaySupportFragment.java
owsSupportFragment.java
earchSupportFragment.java
erticalGridSupportFragment.java
fa9f41f8f5408b6e3931f1ab81f586a47cc2d975 27-Oct-2014 Dake Gu <dake@google.com> Generate v4 fragment in same package

Make the v4 version same package so that we don't have
a weird package name like v17.leanback.v4.app

Make BackgroundManager works both for two versions of Fragment.

b/17930984

Change-Id: I733d0d841a13e616075a7b7fcbdf938515178550
ackgroundManager.java
ackgroundSupportFragment.java
5d00775a5d3ce3c1fc06c4de0945d1b8f03aadc4 14-Oct-2014 Dake Gu <dake@google.com> Add script to generate v4 fragment code.

To provide v4 version fragment which is required by lots
of apps. To avoid generate two versions of resource file,
move shared widget class into widget package.

Outreach clipToChildren should be set on parent of VerticalGridView,
parent will be different for v4 case and none-v4 case.

b/17930984

Change-Id: I1c67186d9046ac8fd5b2c45de048a3fae2b79be7
rowseFragment.java
rowseFrameLayout.java
rowseRowsFrameLayout.java
owsFragment.java
erticalGridFragment.java
60c3b420827d0520509387f1abe3e3d8168e2279 09-Oct-2014 Dake Gu <dake@google.com> BackgroundManager: Use the right drawable cache with activity theme

Theme background drawable is decoded twice in loading movie details activity.
It always miss the cache if calling getResources().getDrawable(id).
Calling context.getDrawable(id) instead.

Also Cache theme Drawable in BackgroundContinuityService, this will save a
texture upload before in future release activities can share Drawable cache.

b/17915241

Change-Id: I7623c4345d9dc56b7dc32de9c361bc35d1703e3d
ackgroundManager.java
e2bc82a1c02f667901bd96e244afa7dc0232b354 04-Oct-2014 Jerome Poichet <jpoichet@google.com> SpeechRecognizer fixed in framework

Now that SpeechRecognizer calls cancel when being destroyed, no need for
the delayed destroy call. It was actually leaking a service, and could
cause crashes in application using the SearchFragment.

Moved the show/not show listening to correspond when voice is actually
being recorded.

b/17789827 Mic won't open
b/17675621 Music search - runtime restart
b/17851959 In-app voice search should grab audio focus

Change-Id: I34473743a9e42c4b87eccc3ae85cd8f5ade15ca3
earchFragment.java
22e46a46e20c53b2e2d23dca792534ee3434c954 04-Oct-2014 Dake Gu <dake@google.com> SearchFragment improvements (2nd try)

1. Expose startRecognition() for calling from Activity.onNewIntent()
(When user clicks mic button in search activity)

2. Do not pass text change event when we are in speech recognition.

3. Autofocus back to speech orb when startRecognition() is called.

4. Make sure internal speech recognizer calls stopRecognition.

5. When SearchFragment calls setSearchQuery(), make sure stopRecoginition.

b/17790589

Change-Id: I55ca97b5b3384b47214a0afac35bd31324e89347
earchFragment.java
2eac9924967d79de4a4488eb9bf0fc2950819670 06-Oct-2014 Dake Gu <dake@google.com> Revert "SearchFragment improvments"

This reverts commit edb67b0b59ee6657b2d1adb6b2822858db34e8c8.

Change-Id: If2627e201dd0e7dfcc3359718175e2a7c74b8ac2
earchFragment.java
edb67b0b59ee6657b2d1adb6b2822858db34e8c8 04-Oct-2014 Dake Gu <dake@google.com> SearchFragment improvments

1. Expose startRecognition() for calling from Activity.onNewIntent()
(When user clicks mic button in search activity)

2. Do not pass text change event when we are in speech recognition.

3. Autofocus back to speech orb when startRecognition() is called.

b/17790589

Change-Id: I3d3c9ce57f467dc6f1f26d3608b13c7b34a8adce
earchFragment.java
f52e0718c20bedc86f0b67f6b3660e737d787bd4 27-Sep-2014 Dake Gu <dake@google.com> Support restoring SearchFragment results

1. do not start speech recognition if SearchFragment is
restored from instance state
2. onTextChange() is invoked when restore view hiearchy,
we should change query regardless if it has focus or not.
3. Defer first setAdapter() on RowsFragment until we got some data
from result Adapter. If there are multiple consequent
onChange() events (e.g. add result rows one by one), they are
consolidated into one callback so that first setAdapter() on
RowsFragment will include all of them.
4. Fixed problem that results being cleaned while IME opens up,
it temporary clears the edittext.
5. Fix the wrong fragmentId when we try to find fragment restored
by FragmentManager, so we can restore the selected position!


b/17624232

Change-Id: I22e4192ca5c363b0d9545b412c5be7aec8554832
earchFragment.java
7e599cd800f063eb6c7f965d5f13c7ae0556be1d 26-Sep-2014 Jerome Poichet <jpoichet@google.com> Call cancel on recognizer to close audio

b/17550906 Retrying voice search often fails

Change-Id: I6f24596dd12236cc955df5d0e03afeae44e8c419
earchFragment.java
49e6a6cd81f3a1117b306323064c53230a7f01ad 26-Sep-2014 Dake Gu <dake@google.com> Workaround accessiblity focus problem

Avoid item gaining focus in transition.

b/15376774

Change-Id: I5f3899a23a960c6d31582b4219da34a81c97df59
eadersFragment.java
ce1dad42528bdd7d26aaf714af7ccc4ebaa57fcd 26-Sep-2014 Dake Gu <dake@google.com> Revert "Workaround accessiblity focus problem"

This reverts commit 1c7cf0caa7eae95dbd73a4fb093bead673d7047b.

Change-Id: I89d6f5070d3b3fdf0d207e4ea9525a6998bd5809
eadersFragment.java
1c7cf0caa7eae95dbd73a4fb093bead673d7047b 25-Sep-2014 Dake Gu <dake@google.com> Workaround accessiblity focus problem

Avoid item gaining focus in transition.

b/15376774

Change-Id: I10ac97bc45dd94eedbdaca296b30f856e4368897
eadersFragment.java
90a30a0dfdd4341f1587003579229d7f28d98d21 17-Sep-2014 Tim Kilbourn <tkilbourn@google.com> Guard against NPE after transitions.

Bug: 17511707
Change-Id: Ia79c37324157fbd25f709f782c4a6b728e734841
owsFragment.java
fa4fa516a4053b22ae9695c17bbcd61272f38c48 16-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix slow fading animation of playback controls fragment." into lmp-dev
2d33e3cfedc56adc2d4e5ac6279ec683d041fe21 16-Sep-2014 Craig Stout <cstout@google.com> Fix slow fading animation of playback controls fragment.

Use a hardware layer during animation.

b/17512846

Change-Id: I53c69095aca17eb5e5f4964e1ba529d6cfc1bfb5
laybackOverlayFragment.java
8a7a303a0f9ef08ad0dd5de25da2106866b396b7 15-Sep-2014 Craig Stout <cstout@google.com> Merge "Add recognizer intent helper methods to search fragment." into lmp-dev
963e336e8839f26c739007242caf7ca4e50e792d 15-Sep-2014 Craig Stout <cstout@google.com> Add recognizer intent helper methods to search fragment.

b/17509582

Change-Id: I4ff3f49cec65149c1b7f4561f322bec864d0bf65
earchFragment.java
bdbd214e30be2de3f174f9b20aef84a596e7f172 15-Sep-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Add a callback interface for voice input." into lmp-dev
8a8613eeff5a6715c28e0148aa8f078b743d38aa 15-Sep-2014 Dake Gu <dake@google.com> Merge "Leanback: Fix crashing on KitKat caused by defaultBrandColor" into lmp-dev
361955cd7c040bf30330c8e21d9016c747a94473 13-Sep-2014 Craig Stout <cstout@google.com> Add a callback interface for voice input.

Bug: 16320681
Change-Id: I48224a8167435372c722553ba88e4f6961d9c152
earchFragment.java
116c06a5bc40fd4d1753012582842ecc5cd06aec 14-Sep-2014 Dake Gu <dake@google.com> Use material interpolator for header transition

Still a little hack, ideally in next release, we should
compose transitions in resource files.

Change helper to static function.

b/16795293

Change-Id: I9797e09441ba0f8302461871332d9bcf5364d7c5
rowseFragment.java
b74149016854eb172c0ef121ccfef749c6ef7eb1 14-Sep-2014 Dake Gu <dake@google.com> Leanback: Fix crashing on KitKat caused by defaultBrandColor

There are two problems:
missing defaultBrandColor in v19 theme base.
KitKat(and earlier version?) seems does not like using theme attribute for a
color value. So we just apply the color value in code.

b/17499857

Change-Id: I5881551c857a7864681665f6f1893087a0705d27
eadersFragment.java
3659dc62f9e55b1043edb4105c311c8ef997f2ae 13-Sep-2014 Dake Gu <dake@google.com> avoid creating hardware layer for headerView

by declaring hasOverlappingRendering is false on the element with alpha

b/17409091

Change-Id: Idc3ae30a63f794b5db4fa5afc6f94e72eb3e183f
eadersFragment.java
0fff85d7f9dee67ec5116f3cba4e8b3961f805a7 11-Sep-2014 Craig Stout <cstout@google.com> Scale rows when headers are showing.

b/15887467

Change-Id: Ib7a942c7de6f7bdfef08ba8ef8e938abee585358
rowseFragment.java
owsFragment.java
b60082430ab9c45352b42764d6f94e54514084aa 11-Sep-2014 Dake Gu <dake@google.com> RowsFragment: fix double layout warning in transition

If we setExpand in the first layout callback, it will complain
double layout (requestLayout during layout). Instead we
request layout when it's about to draw a new frame.

b/17460530

Change-Id: I21a4f1440d4e8595859b713e666aa57520995007
owsFragment.java
095ec562afeb3670cc62e41b87e2820417e1988b 11-Sep-2014 Dake Gu <dake@google.com> BrowseFragment: run a better open fastlane transition

Run additional layout pass to get added rows' initial position when
we set row fragment from expand to non-expand. So the new rows
can be slide in from outside window.

b/17460530

Change-Id: Id100c236e3c4444f064e4d1f69e1ef8acf35198d
rowseFragment.java
owsFragment.java
c031fd76061137a1873a1e506c499710b71dc9e3 10-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix focus navigation from search bar down to results." into lmp-dev
f6221e91bd3f0f584893baadcb9f8cf5621dce3b 09-Sep-2014 Craig Stout <cstout@google.com> Fix focus navigation from search bar down to results.

b/16189418

Change-Id: Iba103910fd7d80888d2ebc3b876a326f5ab2828d
earchFragment.java
9652881bb6af5a2b76f89d683bd420336f4bf463 09-Sep-2014 Dake Gu <dake@google.com> fix grey panel on top of settings

Bug introduced because changed layout of headers fragment.

b/17436246

Change-Id: Ie46673099894ceb3b64513b2d0ba315fdccbb2a4
eadersFragment.java
82a2377919d8de2658bff96507cbcd9dac591a83 09-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix focus handling between search bar and results." into lmp-dev
1d9c59a1a9621e54d4f3defd20451ced63cbf088 09-Sep-2014 Craig Stout <cstout@google.com> Fix focus handling between search bar and results.

b/15330714

Change-Id: I9e56560a0a403deff43360c69a559b1bf979a7cf
earchFragment.java
7a208cd35be79a69b1f4f36724b85ab96eb23e75 09-Sep-2014 Dake Gu <dake@google.com> Implement fastlane fading edge

b/17289018

Change-Id: Idc6629f5d18df668b3cca56495574755ada689b9
aseRowFragment.java
eadersFragment.java
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
eadersFragment.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
owsFragment.java
33f66eb67b6457ea75434dfd9f79703ad9e03560 21-Aug-2014 Dake Gu <dake@google.com> BrowseFragment: save/restore fastlane and title status

fastlane status restoring needs to handle the backstack properly.

Use Slide transition for handling titleView, avoid the extra
waiting cycle for title offscreen position.

Made changes to Slide to be able to seamlessly continue with
another transition.

b/15701483

Change-Id: I346a71a28ae6cce3e498a5c45fabc264ee275b37
rowseFragment.java
itleTransitionHelper.java
erticalGridFragment.java
cda8867f3c17e94f41d7dcd491e0eb27e6a3953a 21-Aug-2014 Craig Stout <cstout@google.com> Merge "OnItemViewClicked/SelectedListener for details rows and playback controls rows." 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
owsFragment.java
cf992de2d34abb8228dc6cb39fffe97346823a37 20-Aug-2014 Craig Stout <cstout@google.com> OnItemViewClicked/SelectedListener for details rows and playback controls rows.

Addresses the feature request because the row is provided in these callbacks.
Playback controls rows already supported item selection but this change fixes an issue
with ping-pong selection on action adapter updates.
Also add support for multiple details rows.

b/16354712

Change-Id: I0d3ce47d19514937b6d0d7a6eaeb61275c7dac85
etailsFragment.java
8f5c183ba7b9df6b5339586f51219b4d5e6305f3 19-Aug-2014 Craig Stout <cstout@google.com> Fix NPE in playback controls when no details description presenter.

b/17131898

Change-Id: Ie682bbddfe710fd482c5aba583a2275325e06cb1
laybackOverlayFragment.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
cfad630a58857f3740bcc422ba73258ed786433d 15-Aug-2014 Dake Gu <dake@google.com> Merge "Prevent recyclerview scrolling in transition" 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
owsFragment.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
owsFragment.java
aa67105babce5fb14e1f39b57d4c84ce634afa62 14-Aug-2014 Craig Stout <cstout@google.com> Fixes for playback controls "more actions".

b/17031274

Change-Id: Icde9524cb5bce1c3f61826bf1cd0d8f224663cb1
laybackOverlayFragment.java
aab7b0fba9753574215c9b1c3bc8ce5d81018248 14-Aug-2014 Dake Gu <dake@google.com> Merge "DetailRow: Dont focus to button during transition" into lmp-dev
95400e6d31a1ac09e48cb8944a79b7250484aa4c 09-Aug-2014 Dake Gu <dake@google.com> DetailRow: Dont focus to button during transition

fix No.2 of b/16900335.

This is not stricly following the ux spec because running
the fading animation of parent viewgroup and a background fading
animation at the same time is really slow. The button fading
is started after activity transition is done.

Also clean up and removed ChangeBounds workaround, (reparent) is no longer
used. Moved classes to transition package, it is used by both widget
and app package.

Change-Id: I00463642843b3f3ef9c9845de451712d65745a89
rowseFragment.java
itleTransitionHelper.java
ransitionHelper.java
erticalGridFragment.java
4bf1df568033630004b24b1c1289f4943db8368c 14-Aug-2014 Craig Stout <cstout@google.com> Fix row dimming animation.

On each animation update, ensure the parent grid view is invalidated so
the item decorations are redrawn.

b/16898456

Change-Id: Ieff9eab010bc34a9dc52ab1ac160b644f0dc77aa
owsFragment.java
b500acb88c1ac8ba4dbd50441e1c71316c65da75 14-Aug-2014 Craig Stout <cstout@google.com> Fix recycled view pool sharing between list rows.

b/17013302

Change-Id: I4813d59d970b9d581f4e2e89aaa917b3c11f0a49
owsFragment.java
d20507e0f5ac7ad021f42ca87c294787246f0591 13-Aug-2014 Craig Stout <cstout@google.com> PlaybackOverlayFragment positioning and spacing polish.

b/16987129

Change-Id: Ie450ae9c5f493ae6eeb33f454dbe66ce920b97fc
laybackOverlayFragment.java
6b2e5b5117f1b8dfafbd81b995bb423ab0297564 12-Aug-2014 Craig Stout <cstout@google.com> Playback overlay animation polish.

b/16980270

Change-Id: I01476bbd239ae6ba850573935a1df1de8bb105db
laybackOverlayFragment.java
1e5725d52c7ec12b184dcfce6bfafa80aed35230 08-Aug-2014 Craig Stout <cstout@google.com> Fix NPEs when activity is stopped while animations are in progress.

b/16873740

Change-Id: I7546db2151aa3d57b7641bdef99279620a48104f
laybackOverlayFragment.java
d1adbdcb44a48e142d28a93189c57edfe62d93ce 07-Aug-2014 Craig Stout <cstout@google.com> PlaybackOverlayFragment fade animation improvements.

Change-Id: I7d8d35e3afed3b6d5633a235ec397dfc405bfe64
etailsFragment.java
laybackOverlayFragment.java
owsFragment.java
372d07bb41510d91a6a662a1906aceb0ee759481 25-Jul-2014 Craig Stout <cstout@google.com> Add view fading support to PlaybackOverlayFragment.

Includes auto-tickle on input.

Change-Id: I58d1f6d87870d06527b3b80f7fedcdeab1b3cb6e
laybackOverlayFragment.java
7709709c2c78490a21311e9950d5dca7e89a6aed 26-Jul-2014 Craig Stout <cstout@google.com> Add background scrim to PlaybackOverlayFragment.

Change-Id: I6b7f2d0c8e3e6bce63e0fa8c2622f3af5919a7f8
laybackOverlayFragment.java
86c973d53a08fdd1081be12c10c86e06e0172cd3 29-Jul-2014 Dake Gu <dake@google.com> fix default background is lost when transition back.

Both Browse and Detail activity shared the same theme
drawable. When pops Detail activity, transition fades out
window background of Detail activity which sets alpha to 0
on theme drawable.

Fix is to having each window manager maintain a different
drawable state for theme drawable.

Change-Id: I5c9556befca5f46099e74ec9abd8aa50415e1e85
ackgroundManager.java
6dca725412977bb56b933bdec120e31909233cdb 22-Jul-2014 Craig Stout <cstout@google.com> Add support for progress to playback controls.

Change-Id: I63f0e93c9151cfa4ef4b4ade8ee2b9502771d4e8
laybackOverlayFragment.java
7ab1edf2b49f3cdcb9db7a1c60d0dc1e17a9aef7 16-Jul-2014 Craig Stout <cstout@google.com> Add PlaybackOverlayFragment and associated row and presenters.

Progress bar is not functional yet.

Change-Id: I6217385433d7c6621c68de68da93257efebe3c5b
etailsFragment.java
laybackOverlayFragment.java
dc9b5676ab337317154fa7702033ae174617525b 10-Jul-2014 Dake Gu <dake@google.com> new listeners for DetailsFragment and SearchFragment

Change-Id: I127be8199e6ab37629da7e17ea6b378ab432d5d6
etailsFragment.java
earchFragment.java
afe1da48b4673f64c67c130237dd485a34a69c1b 10-Jul-2014 Dake Gu <dake@google.com> fix doc build - re-add @deprecated

Change-Id: Ib7c09752ac7e9acb0e55eacd3749d6347c2f3db2
erticalGridFragment.java
3cbe5c34f9710da1ab935b45f568995b12219ca2 10-Jul-2014 Alan Viverette <alanv@google.com> Remove @deprecated from VerticalGridFragment/Presenter doc

Fixes docs / update-api builds target.

Change-Id: Id4c2d4942070109b627166eb8ae97eafd193f5ee
erticalGridFragment.java
947dbf076cd019e3c26217fbc7aa21e860d68044 10-Jul-2014 Dake Gu <dake@google.com> Use new listeners in VerticalGridFragment

Change-Id: I77f6a8f90bf2bd9508ec44a047c2aceeddd1b7b0
erticalGridFragment.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
rowseFragment.java
owsFragment.java
b7c2e023ab13ac158badfc9f4e17fd33fd6bf274 27-Jun-2014 Craig Stout <cstout@google.com> New ErrorFragment.

Change-Id: I11355505141932b65905f189f7e8ddd6d4526b44
rrorFragment.java
4fdd3589c982860b831c0fad63c0082cb9079f47 24-Jun-2014 Craig Stout <cstout@google.com> Allow developer to specify search orb colors.

b/15774559

Change-Id: Ie8522f55b1dedf81410eaf60980509d1d8756fd5
rowseFragment.java
erticalGridFragment.java
d6019d141130ae4811b78e37286faf93d5944fd9 19-Jun-2014 Craig Stout <cstout@google.com> BackgroundManager fix for repeated quick setting of the same drawable.

Change-Id: Id0cb3de42adcbbf93eee64ac93b5b874dba8fca6
ackgroundManager.java
4c0f3062b5edd9750351068f46e5270bb220091d 13-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Update leanback javadocs.

Fill in more details for search and vertical grid fragments.

Bug: 15149629
Change-Id: I9e1ff0aa286e8cf84f500664be741ea0e6ec72c9
earchFragment.java
erticalGridFragment.java
528dd8dc49dc2399c7d1ca829065b8a25a67780e 12-Jun-2014 Dake Gu <dake@google.com> BrowseFragment: not trigger header transition in requestFocus()

When RecyclerView removes headerView, it causes unFocus() on
headerView which triggers a getRootView().requestFocus().
BrowseFrameLayout runs requestFocus() on each individual child.
The rows fragment gets called first and triggers a transition.

In such situation, we should not transfer focus from fast lane
to right panel.

b/15570240

Change-Id: I2e9b55d4588a82bfcfbae6daa92e0b3a1fb57459
rowseFragment.java
rowseFrameLayout.java
789afeffe3986b5beec48107e0afcbb2438d5668 12-Jun-2014 Dake Gu <dake@google.com> Merge "BrowseFragment: Fix crashing when exit activity." into lmp-preview-dev
3c5f724ea8bfaef6f096e5bcd977364a423a4e02 12-Jun-2014 Dake Gu <dake@google.com> BrowseFragment: Fix crashing when exit activity.

When activity is exiting, it destroys and removes fragment view,
which can cause focus change from left lane to right part, which
internally triggers a browse fragment transition, which pushes
backstack entry to fragmentmanager, which crashes complaining
activity is destroyed.

b/15569626

Change-Id: Icc951b5db0a9294b60aad51ff3a1066e3d07fc03
rowseFragment.java
961a8f12d1fbeeb86ea066f9f2c693abb2ce50f2 12-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Update leanback javadoc.

Bug: 15149629
Change-Id: Ib3977c497f1fc0fd2a9cc8527347a85e8f1e8d40
rowseFragment.java
497a47f2ab7fdc8490191b02caa9a68f884d9ac0 11-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Remove deprecated Params.

Bug: 15414619
Change-Id: I82f390cdaf16a52c4d88efd10404a95121195856
ackgroundManager.java
rowseFragment.java
erticalGridFragment.java
78093fbede6ea2d189e5d0ad176466ef140e950c 07-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Merge "BrowseFragment javadoc cleanup." into lmp-preview-dev
40827ad908a3dfaebc496004e2c5690195000a76 06-Jun-2014 Tim Kilbourn <tkilbourn@google.com> BrowseFragment javadoc cleanup.

Bug: 15149629
Change-Id: I7c598d8d27127fd8acd8e93f7557e6cb1037c0b3
rowseFragment.java
6f2623c3520b1fde1e30bce75d4e7cd38bc7c156 07-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Fixing SpeechRecognizer leak" into lmp-preview-dev
4fbaf9b54d7f9723f3ec5c320db9cea887eeff7b 07-Jun-2014 Jerome Poichet <jpoichet@google.com> Fixing SpeechRecognizer leak

Since there is no lifecyce on SearchBar, moving the ownership of the
SpeechRecognizer to the SearchFragment.

- Creating a SpeechRecognizer when SearchFragment resumes and pass it to
the SearchBar
- Destroy SpeechRecognizer when SearchFragment pause, and unset it in
the SearchBar
- Ensure recognition has a recognizer before starting and stopping

b/15460657

Change-Id: I95dc3f37b5c4ae7dbd337dcc90d28c6ee17f8f09
earchFragment.java
71ace352963715f82ed0ecede3f55f3808af30b0 07-Jun-2014 Craig Stout <cstout@google.com> Merge "Use ValueAnimator instead of ObjectAnimator." into lmp-preview-dev
7e22f555da71f49a32420965817c760522b95963 07-Jun-2014 Craig Stout <cstout@google.com> Use ValueAnimator instead of ObjectAnimator.

Prevent proguard related issues.

b/15456883

Change-Id: Ifead15aabacbd29c0b6750d1bccc8d8d581bd61b
ackgroundManager.java
134804b76d18b0a15e73f62aeaa5a7c70ad667b2 06-Jun-2014 Craig Stout <cstout@google.com> Merge "BackgroundManager improvements." into lmp-preview-dev
3d9d8cbaa9086f3ca2f486233fa3051e614a99ed 06-Jun-2014 Craig Stout <cstout@google.com> BackgroundManager improvements.

Fade in and fade out have the same duration.
Don't interrupt an animation in progress.
Use newDrawable/mutate when syncing with service.

b/14802540

Change-Id: I4eb77662015a4013de69a44700dbbd1692d1ed34
ackgroundManager.java
3269c07a0277b250a67a05fbc3c072593a3eba3a 06-Jun-2014 Dake Gu <dake@google.com> Merge "BrowseFragment: remove backstack listener onDestroy" into lmp-preview-dev
610633fb4ff9fe26624bf1708480c0c4882616ed 06-Jun-2014 Dake Gu <dake@google.com> BrowseFragment: remove backstack listener onDestroy

it's possible that BrowseFragment is not at bottom of activity,
it's popped from stack but listener is not removed.

b/15453520

Change-Id: Id0bf16e149a1d2c037583121be5777a8ac1bac12
rowseFragment.java
7d3eb15c1a75cb2ea938abf6d4bf691b2d303da3 06-Jun-2014 Craig Stout <cstout@google.com> Merge "Add a wrapper framelayout for fastlane headers." into lmp-preview-dev
e51474af2c4b5192a75fd283cb737d02fccc58a4 06-Jun-2014 Craig Stout <cstout@google.com> Add a wrapper framelayout for fastlane headers.

Needed to workaround setAlpha conflict with RecylerView animations.

b/15452858

Change-Id: I564019ee95af54b78872953b867a2da55db40e94
eadersFragment.java
b8f95f79fdba6860887d6826a9447cf15cea6d7d 06-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Add API to provide suggestions (aka completions)" into lmp-preview-dev
731066a59e10ddc7bb6c95d0b91b3e0e11e10396 05-Jun-2014 Craig Stout <cstout@google.com> Add TitleView and use it to complete VerticalGridFragment.

b/15432740

Change-Id: I00740c265e76b93b943d402be452c74d889510e4
rowseFragment.java
itleTransitionHelper.java
erticalGridFragment.java
e5f2388b8d24876ebbd6daf302487bf452245d50 04-Jun-2014 Jerome Poichet <jpoichet@google.com> Add API to provide suggestions (aka completions)

b/15436910 Add API to SearchFragment to allow passing suggestions to IME

Change-Id: I53850dd74d99f7edb04739436c2b66c5dcae8bd0
earchFragment.java
9020c0aec57b4e8994d66b7cd1a89c225e9bfa11 05-Jun-2014 Craig Stout <cstout@google.com> Fix VerticalGridFragment focus navigation and title transition.

b/15432740

Change-Id: I6ac533a88d8ce8b17aa28d3605e688536bfbb8e5
erticalGridFragment.java
5a983d70762d39d92501479cfc445be6cb1b569c 04-Jun-2014 Craig Stout <cstout@google.com> Fix leanback docs.

Change-Id: Ic5f3ba909d0686b61da422e88744c75dc3519079
rowseFragment.java
dfb60d0af5d49da05c584d74245c616263f26b65 04-Jun-2014 Craig Stout <cstout@google.com> Deprecate Params in BrowseFragment and VerticalGridFragment.

Apps should use methods directly on the fragment.

b/15414619

Change-Id: I8aed729ea0393d1f8c558b88cade2870e156fda0
rowseFragment.java
erticalGridFragment.java
0eb4595e6a4d6e9ebc9f5b8065e0c787d45a0f70 04-Jun-2014 David Saxton <saxton@google.com> Call mutate() on the layer drawable used in BackgroundManager.

Fixes / work-around for b/15417998 - LayerDrawable seems to have difficulties
copying itself if some of the layers have been modified.

Change-Id: Iafaed7668bb838688b0d4c20f54d060ae9cdd7ad
ackgroundManager.java
76c3b90228d8c4afc6d24c683e9c95f41ae619c9 04-Jun-2014 Jerome Poichet <jpoichet@google.com> Removing ununsed imports

Change-Id: Id398857ca752b9ac612d0e596da1cce58e6e3a6f
rowseFragment.java
etailsFragment.java
eadersFragment.java
owsFragment.java
e0fc06a975f22a71c6d106a33feb4859ce8fe191 03-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Handling missing RECORD_AUDIO permission." into lmp-preview-dev
10960072d3c1f9c7f42f9ae77adbfb12f9aed138 03-Jun-2014 Jerome Poichet <jpoichet@google.com> Handling missing RECORD_AUDIO permission.

Added documentation on SearchFragment and SearchBar to note the
requirement for the RECORD_AUDIO permission.

Added documentation on SearchFragment and SearchBar listeners to explain
that submit can be called without any call to changed.

Check for RECORD_AUDIO permission, throw IllegalStateException when not
found when loading SearchBar.

b/15350629
b/15326734

Change-Id: I9b55fc76ecb438087d1d389e3555d2652ded68d9
earchFragment.java
056561d81012983d2d27b8665c4aeabb427174cb 03-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Set defaults for brand color and search orb color.

Bug: 15162080
Change-Id: I0c184ac1dd8f30744966fe0232c37a263c0bad96
rowseFragment.java
eadersFragment.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
owsFragment.java
9a1a0dc3d1ae8e80a5992e414a77c854e9f0cf65 31-May-2014 Dake Gu <dake@google.com> Merge "show title when no row is available" into lmp-preview-dev
8caf1c7f7da73186a03751bdd959b8137c9bd222 31-May-2014 Craig Stout <cstout@google.com> Merge "BackgroundManager improvements." into lmp-preview-dev
d736653bfee7fc83fc68d57d0e0bee5fa807287f 30-May-2014 Dake Gu <dake@google.com> show title when no row is available

fire null selected event for no row selected.

b/15348400

Change-Id: I931f61f694e1ac0f7dc6aeb74bd118c6942288fc
rowseFragment.java
eadersFragment.java
7f85292289f235c50740c3180fdbcb4bb2bf9703 30-May-2014 Craig Stout <cstout@google.com> BackgroundManager improvements.

Don't created a scaled copy; instead scale the given bitmap at render time.
Also fix issues same-bitmap detection issues.

b/14802540

Change-Id: Ia2a5219cb673115516bc84edfb77bc84c3145f09
ackgroundManager.java
d559710c8763acb37fd444735da7ee770b84df07 30-May-2014 Craig Stout <cstout@google.com> Hide the fastlane if headers are disabled.

b/15339596

Change-Id: I703ba776edf8098bb5ad14740859f2251a96a7bc
rowseFragment.java
eadersFragment.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
owsFragment.java
268de3d2ea3de1be0725a80bbc79dd7b8b18617e 23-May-2014 Craig Stout <cstout@google.com> Browse redlines improvements.

b/15094070

Change-Id: I842070f69c136eaae33e6c66ff02828c49be3175
eadersFragment.java
cdb70a71717005904c8fc20b41c36513b1875b52 22-May-2014 Tim Kilbourn <tkilbourn@google.com> Merge "fix extra browse backstack entries"
1dfaa33e6e751ac7eb2ecd3721777b6960810114 22-May-2014 Dake Gu <dake@google.com> fix extra browse backstack entries

Shouldn't add extra backstack every time of fragment.onStart

Change-Id: I51dde7ca494d678603a24d4191a0be79c052ec98
rowseFragment.java
25aacd3f5896ec09053739cc731bdbab3a6f2b81 15-May-2014 Jerome Poichet <jpoichet@google.com> Adding voice support in search bar

- Use private IME option to catch when voice key is pressed in IME
- Use private IME option to allow "escape north"
- Add a speech orb/button in search to start recognition
- Animate speech orb when speaking
- Handle switching from voice to IME

Change-Id: I14774ca173a8da94b26f4942e267377a496b838c
earchFragment.java
erticalGridFragment.java
0d9a8f694bd3fedbd758de124f23992b7b8d7ac7 22-May-2014 Jerome Poichet <jpoichet@google.com> Merge "Adding SearchFragment title and badge"
514bdd5473ae7f4da990d6035422d0784c6c344e 16-May-2014 Jerome Poichet <jpoichet@google.com> Adding SearchFragment title and badge

Add getter and setters to set the hint and the icon in the search bar.

Change-Id: I63bc323ef5ce886efe578a58ddca7eb0fc8717b5
earchFragment.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
aseRowFragment.java
rowseFragment.java
owsFragment.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
aseRowFragment.java
74c29896d6e2a520e00605cceeef64669bab02b3 15-May-2014 Dake Gu <dake@google.com> Quantum browse: remove reparent transition

Change-Id: I4900a583a5989770b3069d3c7984961804461a68
rowseFragment.java
eadersFragment.java
owsFragment.java
6f8c0cb076a103d044b18fc58117e37d2319d9eb 15-May-2014 Craig Stout <cstout@google.com> Switch to changebounds transition for browse title.

Change-Id: I5011f4742e094475d3bf0ac7c3cf263d42463c7b
rowseFragment.java
ransitionHelper.java
42e4e84c1266426e89f7cf6117aae99e3aec4d81 12-May-2014 Dake Gu <dake@google.com> BrowseFragment: headers transition back press support.

Added a default support for "headers transition on back pressed".
Also provided BrowseTransitionListener and startHeadersTransition() for
the rare case if app has its own onBackPressed() handling (e.g. PlayStore).

b/13628758

Change-Id: I8c70171d0353d6b212fec9e9b0e4739b9f0d2138
rowseFragment.java
4cf79b1c4d38a190317961891f9fd052836710fd 14-May-2014 Craig Stout <cstout@google.com> New browse ux with solid color fastlane.

Change-Id: Ide2516e6570c0990dd976b3ac6b759826ec95979
rowseFragment.java
eadersFragment.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
aseRowFragment.java
rowseFragment.java
eadersFragment.java
owsFragment.java
ransitionHelper.java
e34cae48707e70442aca13e1b4ab55757292828d 02-May-2014 Dake Gu <dake@google.com> VerticalGridFragment title transition

Change-Id: I4f2d17ffe112e5ea89e5392a519d90e236e1e48d
rowseFragment.java
ransitionHelper.java
erticalGridFragment.java
bd80644186ff8622c565f067dc3a4136a4dc0586 01-May-2014 Dake Gu <dake@google.com> Add API to change fast lane header presenter

Change-Id: I17dfc5c51d22d0afb3d45a78033eeae33a93493e
rowseFragment.java
eadersFragment.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
owsFragment.java
fe0cc53f3e75b22b3b855677df650e797132cf12 30-Apr-2014 Dake Gu <dake@google.com> resolved conflicts for merge of 48a48651 to master

Change-Id: I183b1ac777437394d033210a10cd3df561428589
b4cfb396e982db69063cfa74a1dbb6a86db95ba3 30-Apr-2014 Dake Gu <dake@google.com> am d8dc4e73: am 12f8c04a: Merge "RowsFragment: fix NPE when fragment view is destroyed." into klp-modular-dev

* commit 'd8dc4e73556edc0a03688fb0b319ddc6b9b931b8':
RowsFragment: fix NPE when fragment view is destroyed.
101dde19d1d2150afb02d1bf1d78a1759265c928 30-Apr-2014 Dake Gu <dake@google.com> Merge "Support header changeBounds transtion between fastlane and row" into klp-modular-dev
7480d843215ed1cfd94c05330331ae1f13441bb3 30-Apr-2014 Dake Gu <dake@google.com> RowsFragment: fix NPE when fragment view is destroyed.

b/14414372

Change-Id: I122370155d2008d163f2ab9450bbae5ab4778de6
owsFragment.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
owsFragment.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
aseRowFragment.java
rowseFragment.java
rowseFrameLayout.java
eaderPresenter.java
eadersFragment.java
owsFragment.java
ransitionHelper.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
rowseFragment.java
03db662eb2cd3f53f5dc7a7346933e410eaff8e3 18-Apr-2014 Dake Gu <dake@google.com> Merge changes Ia0a8c8c1,I7904a373 into klp-modular-dev

* changes:
BrowseFragment: Fix transition/animation conflicts
more transition support and fading edge support
79ea84679035f18acc581896ff028a4866361b04 17-Apr-2014 Dake Gu <dake@google.com> BrowseFragment: Fix transition/animation conflicts

Disable vertical scrolling in left/right transition.
Disable left/right transition when vertical scrolling is running.

Change-Id: Ia0a8c8c164f85d9227245673c68b2df2630947ad
rowseFragment.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
aseRowFragment.java
rowseFragment.java
ransitionHelper.java
26b8cb87efab1b6e9b6aa7bfef24bcab634ffe73 17-Apr-2014 Craig Stout <cstout@google.com> Merge "Fix browse and details child fragment re-creation." into klp-modular-dev
6c3b0b3d19683ea8c4069ec761f14dc2c7b8c5dc 16-Apr-2014 Craig Stout <cstout@google.com> Fix browse and details child fragment re-creation.

Bug: 14088678

Change-Id: I2d52074632d169fc23b44aa675bd7d12590774d2
rowseFragment.java
etailsFragment.java
9e8ebb07f6b0c7d8d8590ef1d5287d84d91957f3 16-Apr-2014 Craig Stout <cstout@google.com> Merge "Api cleanup." into klp-modular-dev
32ba8fc7b148485db84aee7e37c0c1bca8260006 16-Apr-2014 Craig Stout <cstout@google.com> Api cleanup.

Remove unused BackgroundParams.

Change-Id: Ifccf6cb2923cdec9fbdb091260b8f3595dda569f
ackgroundParams.java
rowseFragment.java
owsFragment.java
5a8a7c929e07e3a3d17b2e5466785d271eee7657 14-Apr-2014 Jose Lima <joselima@google.com> Fix bitmap scaling for Background manager

Change-Id: I2098629f10584d2c3bc24137fad258dd0a649404
ackgroundManager.java
437657ea98e2f33077569d8d763f92504481173a 15-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Update javadoc for the BackgroundManager." into klp-modular-dev
a8d3588c80a232042474aca55a69df78c8ac8cb3 15-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Add search listener for VerticalGridFragment.

Change-Id: Ibac5cc340cadc9d50f9420496d98d798377b3cd2
rowseFragment.java
erticalGridFragment.java
146a2a07c0e9750c2bdd5bd434197c2f46fea662 11-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Update javadoc for the BackgroundManager.

Change-Id: I5b9fad5251b75fddaab235a81e5ad7283ef5c5a0
ackgroundManager.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
eaderPresenter.java
owsFragment.java
b6c84c2cd06d9470342a24af9f436ee85a74ab44 09-Apr-2014 Dake Gu <dake@google.com> Merge "Removed the hardcoded fragment width" into klp-modular-dev
b55f0880c367c0b7e4132e7d954b60725e01e0b2 05-Apr-2014 Tim Kilbourn <tkilbourn@google.com> BaseCardView and ImageCardView for leanback library.

A BaseCardView defines regions that can be displayed based on view state
changes on the layout. Three regions are defined: main, info, and extra,
and info and extra regions may become visible when the layout becomes
either activated or selected. Info must appear before or at the same
time as extra.

ImageCardView is a widget based on BaseCardView, defining a simple card
widget with a main image, a title, and a content string. Optionally the
card may also contain a small image badge. The text and badge are
contained in the info region, and there is no extra section.

Change-Id: I0cc497a7eaf434da3633ff307ab10d730731bbed
owsFragment.java
cfc50bafd5437b4f6396d60ebc258c76599ba52b 06-Apr-2014 Dake Gu <dake@google.com> Removed the hardcoded fragment width

Allow fragment to be adapted to parent width
using match_parent.

Change-Id: Ic8eb5c686c4fc4deb4cad35bab0f6fd908cc6624
rowseRowsFrameLayout.java
afcaf8343b5fd033ce2810552f17dda93ce38047 09-Apr-2014 Dake Gu <dake@google.com> Merge "fix row select/expand state for SearchFragment" into klp-modular-dev
739e3805bf2785e6773aede5e2e1643f537305f9 07-Apr-2014 Craig Stout <cstout@google.com> Add a VerticalGridFragment.

Change-Id: I35476263c52d1fef09036bbe9339c945de2f339c
erticalGridFragment.java
8abe871a26db135be7db8160563e6c9465297375 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Fix details fragment initialization." into klp-modular-dev
4d744f70ce60a8ac66294d9298b25b2c827224d0 07-Apr-2014 Jerome Poichet <jpoichet@google.com> removing deprecated call

Change-Id: I8e9d37e60f090f054c28ddfe271f090b6d0d9ae2
earchFragment.java
1caf420879768ae8aebe8c27546707a28f3bb659 08-Apr-2014 Craig Stout <cstout@google.com> Fix details fragment initialization.

Change-Id: I8ebb57beea8bbdfbf6fe844e00b5a52f043385ac
etailsFragment.java
0946602a3f3815a5f7d46dfc571b3c60483f1ea4 05-Apr-2014 Dake Gu <dake@google.com> fix row select/expand state for SearchFragment

The SearchFragment does regional updates that causes
onBind() again without attach, in onBind() we incorrectly
reset the UI state.

Change-Id: I5382793dfb923314c3b30af711977bf49966a847
owsFragment.java
earchFragment.java
9ae240b06cd3863c146290524ae1efdb71208e8d 04-Apr-2014 Jerome Poichet <jpoichet@google.com> Fixing NPE

b/13752247 | Item selected events not firing for SearchFragment
b/13767335 | Search crashes when launched from play store

Change-Id: Id89888101879038c4917f0ba03e60add2f01f013
earchFragment.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
owsFragment.java
8fac6554640f547c0efd98e67ca2d659172468bb 01-Apr-2014 Dake Gu <dake@google.com> stylize leanback padding etc, fix bug of top clipping.

The main purpose of the CL is to allow developer customize padding of
browse fragment by introducing a "browsePaddingXXX" theme attributes
that applies to different widgets. Fixed bug of top padding clip.

Also make rowsWidth browseRowsMarginStart browseRowsMarginTop
to be customizable if user are use our fragment in non-full screen case.

Change-Id: I2894a8e505d1025ecc637f038b141712115e11cd
rowseFragment.java
etailsFragment.java
b755101b56de0db47494910ea7e68d40243e3b9a 01-Apr-2014 Jerome Poichet <jpoichet@google.com> Protecting setExpand from NPE

When setExpand is called before VerticalGridView gets created then we
get an NPE.

b/13732096 - NPE when inflating view with SearchFragment

Change-Id: I7866cc33dd9bab179a88c20e7becf8091544a414
owsFragment.java
7f0ed3452a3378c851217cd300950ba2e03f2649 29-Mar-2014 Dake Gu <dake@google.com> BackgroundManager: make it foolproof to share manger instance

Introducing getInstance() that will return the same
BackgroundManager attached to internal fragment, thus activity
does not need save a BackgroundManager object as member and
expose getBackgroundManager().

When user/child fragment needs it, they can call
BackgroundManager.getInstance(activity) to get the associated
background manager.

Added check to avoid people create multiple BackgroundManagers
for the same activity if they still use the deprecated
BackgroundManager constructor and do not follow the single
instance per activity rule. This should never happen after
they switch "getInstance()".

Fixed NPE in BackgroundFragment.onDestroy() when fragment is
just restored by FragmentManager and goes to destroy state
without attached backgroundManager.

Change-Id: Ie051fbadca868f479e1c9a424e8771445ad1fb40
ackgroundFragment.java
ackgroundManager.java
2e2e91a93f6d03108a73e7b4a05d289589957a0e 27-Mar-2014 Craig Stout <cstout@google.com> Background fixes.

Ensure the service is updated on resume. Don't rely on the
activity to take any action on resume.

Bug: 13680476
Bug: 13703977

Change-Id: I21c4faec4f03b2426f04f94ff812f20fd25af34e
ackgroundFragment.java
ackgroundManager.java
3c2998d502e4e2586d0bfc52ff5d1f2725fa9e6d 28-Mar-2014 Jerome Poichet <jpoichet@google.com> Improvement to SearchFragment

new SearchFragment API
better handling of focus
slowly following red lines

Change-Id: Icb56af529f03c9535eba0d9859e71dc49eb99253
earchFragment.java
b70539172cdeb5672ed7128f69383d1fc1458ccb 28-Mar-2014 Dake Gu <dake@google.com> Fix fragment restore crash.

The nested fragment can be initialized by fragmentmanager in
restore case.
Tested with a touch screen device rotate.

Change-Id: I6c85a1bc8604196cfa6eeeb49694a9eeef6aee9a
ackgroundManager.java
rowseFragment.java
etailsFragment.java
earchFragment.java
baace7864a7d7e8fa4b118512d9ebf72a02af282 28-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Initial DetailsFragment for leanback apps." into klp-modular-dev
43fd7c31e66a8a3821a0272cf7dc1d01e3bed91b 27-Mar-2014 Andrew Wilson <anwilson@google.com> Fix disappearing search icon.

Change-Id: I8198d48e6854b7ec43af526a0f0a857d2dd9237d
rowseFragment.java
c3047aae5913bf0f79ed65e2d4b6b74ca38d53de 21-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Initial DetailsFragment for leanback apps.

This first version is just a simplified browse fragment. Future CLs
will include some details-specific functionality.

Change-Id: I79e978789160d157b57e246473eed7c96e9bcb6b
etailsFragment.java
a9a5262b09c09e83822236a18eb810991e01fea6 26-Mar-2014 Craig Stout <cstout@google.com> Merge "Fix focus switching to/from the search orb." into klp-modular-dev
81619fb7459d1caf6bfab07c8f5f406be95ff523 26-Mar-2014 Craig Stout <cstout@google.com> Fix focus switching to/from the search orb.

Change-Id: I2e84a33c85394c3e67767b83900254a64ca5dbaa
rowseFragment.java
9e8e482b545c9c7d8db82c05993850d2f9038c5b 26-Mar-2014 Dake Gu <dake@google.com> Merge "more javadocs about RowPresenter events and animations" into klp-modular-dev
1c33346ba79177e64fe33da70ee73547d7bb15f7 26-Mar-2014 Craig Stout <cstout@google.com> Fix docs.

Change-Id: Ia091709f44f1962b613dfa9c87ff3df2815122ea
ackgroundManager.java
rowseFragment.java
owsFragment.java
17993c442c26161f684d6c0c6867a746f3148548 19-Mar-2014 Craig Stout <cstout@google.com> Add support for backgrounds.

Change-Id: I6e1652a79d17f87e964836a729056dc78d67c7ca
ackgroundFragment.java
ackgroundManager.java
rowseFragment.java
owsFragment.java
earchFragment.java
42ded13505ce3e4300335e4cdeb24a677a71ed32 26-Mar-2014 Jerome Poichet <jpoichet@google.com> adding missing APIs to SearchFragment

Change-Id: If5f2cd125ceb3cb7ab43501cb8390c3f0358ae7f
earchFragment.java
3cc680daf97a77022b2e7d937c80c07991af19ed 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Update browse UX closer to spec." into klp-modular-dev
6f03a4e411825283e5fddac2ab29ee8a9de4c42b 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Update browse UX closer to spec.

Moved top overscan padding out to the outermost layout. Updated several
dimensions. Aligned the title icon and text centered vertically. Hid
the title icon if it is not set.

Change-Id: I33ea60b01b7c898ba2ecac03f58d6906dd79a85d
rowseFragment.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
rowseFragment.java
owsFragment.java
8f7f69e59ac59c0399c28a08a0fbec2eb4c065d1 25-Mar-2014 Andrew Wilson <anwilson@google.com> Merge "Don't request items at negative indicies." into klp-modular-dev
e2679e4ccab0ce75f701629c22c179165df4f15e 24-Mar-2014 Jerome Poichet <jpoichet@google.com> Search 'affordance' in title of BrowseFragment

Change-Id: Ifc2729489fcff597c8864ae8ac43d611d92e4b7a
rowseFragment.java
2f5fbc79d656fc4966119141aaef48161f08376f 25-Mar-2014 Andrew Wilson <anwilson@google.com> Don't request items at negative indicies.

Change-Id: Id932e91308bd12af8f35b45add359f8b4ebacff2
eadersFragment.java
7f96e4590bb25b2079fe395168f3c6b2117fb051 24-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Fix HeaderPresenter to use Rows not ListRows.

Now that Rows have HeaderItems and not just ListRows, we can cast the
items to Row.

Bug: 13626576
Change-Id: Ic0afede86a5af9cdf2e2c7b2b69fd37608a38720
eaderPresenter.java
5b882ac46cc2ee851de04dadbd9bdc8fe946d9da 22-Mar-2014 Andrew Wilson <anwilson@google.com> fix initial dim color

Change-Id: I4866dd2ca19bb964baca21c984c1e06ea7ad7d85
owsFragment.java
85c10faf654848a8aacd1e61760b3e24a1902a83 21-Mar-2014 Jerome Poichet <jpoichet@google.com> SearchFragment and SearchBar in support-leanback

Change-Id: Id958ad47462d9efd2b5b770c0391477190e0d66a
earchFragment.java
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
aseRowFragment.java
rowseFragment.java
eadersFragment.java
owContainerFragment.java
owHeaderFragment.java
owsFragment.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
aseRowFragment.java
owContainerFragment.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
eaderPresenter.java
owHeaderFragment.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
ackgroundParams.java
aseRowFragment.java
rowseFragment.java
rowseFrameLayout.java
eaderPresenter.java
owContainerFragment.java
owHeaderFragment.java
ransitionHelper.java