• Home
  • History
  • Annotate
  • only in /frameworks/support/v17/leanback/src/android/
History log of /frameworks/support/v17/leanback/src/android/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a5bdf8e4c360022cd211b2cb9f3807b7cf7b50a2 30-Jun-2017 Keyvan Amiri <keyvana@google.com> Fixed NPE in onAddFocusables

If the currently focused child is invalidated, findViewByPosition could
return null for valid focused child index. This caused onAddFocusables
crash when adding focusable views for the currently focused child.

Bug: 36738635
Test: Not reproduciable for now
Change-Id: I6c455f5b25fc8ce3cdd476fa5c6f19c76a302100
(cherry picked from commit d1c84431459c8f6196777617d8d32e3206b58412)
Merged-In: I6c455f5b25fc8ce3cdd476fa5c6f19c76a302100
(cherry picked from commit 1d3842a69a4a1ff5d3fc9e0f46b291e2ac5728ac)
upport/v17/leanback/widget/GridLayoutManager.java
5723e456309c09c31054d29187fd26b6e2b760ef 17-Jun-2017 Dake Gu <dake@google.com> DO NOT MERGE leanback: fix fastRelayout for extra views added in preLayout

Then in post layout pass, fastRelayout() should invalidate after
the item that position is inconsistent with Grid position.
Previously this was relying on didStructureChange(), it is now
no longer safe to do so when prelayout may add items before first
child.

Bug: 62727612
also no longer reproduce Bug 36738635 after this change
Test: testMoveIntoPrelayoutItems

Change-Id: If67f6697b21c132ed5934bdc0fc2790ac4aae32c
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
2d973a4fe4a42e14aed6278b14998964dd18f3c0 16-Jun-2017 Dake Gu <dake@google.com> DO NOT MERGE leanback: fix wrong insert view index in fastRelayout

Bug: 62451353
Test: testWrongInsertViewIndexInFastRelayout
Change-Id: I2e127650d9374a2f061aa18790ec366448d0a886
upport/v17/leanback/widget/GridLayoutManager.java
92fd72dacfea51814e05f24a092aaa2ae12c8449 15-Jun-2017 Dake Gu <dake@google.com> DO NOT MERGE leanback: clarify comments

And modify the test to be what exactly happened
in the original bug.

Bug: 62448243
Test: testLayoutWhenAViewIsInvalidated
Change-Id: Id4cfa3e97ad179474c172d6cfc45149b759097ae
upport/v17/leanback/widget/GridLayoutManager.java
5db6d414ed0329b4f5464a92d1a7f8e6d8bb1678 09-Jun-2017 Keyvan Amiri <keyvana@google.com> DO NOT MERGE Fixed fastRelayout when a view is invalidated

The views that are off the screen are cached and invalidated after a
layout. getAdapterPositionByView returns NO_POSITION for such views that
was causing crash in fastRelayout when getViewForPosition was called.
Now will skip laying out children when such a view is encountered.

Bug: 62448243
Test: testLayoutWhenAViewIsInvalidated
Change-Id: I5bb86682dba0bff6a4a5e77438b4735a2a720345
(cherry picked from commit e79b22a10835076150c04e96c52d8342b3af8409)
upport/v17/leanback/widget/GridLayoutManager.java
bb1f461f210836de67bc68980409c5112889299a 27-May-2017 Dake Gu <dake@google.com> leanback: better cordinate scroll and itemanimator

Instead of scroll jump for child size change, onLayoutChildren() will
start a new scroll animation if previous scroll animation
was going to stop at unaligned position due to child size / position
changes.

Bug: 38339297
Test: testSwapAfterScroll

Change-Id: I3a5174f3a76c7269bfa5a5f6f28b1ba3875433db
upport/v17/leanback/widget/GridLayoutManager.java
f6fe033e93e9635d4bf5ae0a666bf0c3edb34d70 26-May-2017 Wei-Hsin Chen <wwwllllfrank@google.com> Merge "leanback: Refactoring PlaybackTransportControlGlue and PlaybackControlGlue." into oc-support-26.0-dev
c50aca4940c8ae508393278aa7a9c77a3f93f87d 26-May-2017 Dake Gu <dake@google.com> leanback: fix predictive animation move

1. When move items out, we need use addDisappearingView to
tell recyclerview to slide them out and those views will
not be pruned by scroll pass. This is done by adding
scrapList views in post layout fillDisappearingItems()

2. When move items out, we need check if item is moving
out side old adapter's range, prelayout needs layout extra
space for these cases.

Bug: 38339297
Test: testDontPruneMovingItem testMoveItemToTheRight
testMoveItemToTheLeft

Change-Id: I6e2c4ffeb8befb62f060247bb6c5345dc8f6bab7
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/SingleRow.java
upport/v17/leanback/widget/StaggeredGrid.java
a4952dd9e1ddd678743f49d9d728b9b8c5fc7232 11-May-2017 Wei-Hsin <wwwllllfrank@google.com> leanback: Refactoring PlaybackTransportControlGlue and PlaybackControlGlue.

Created a base class PlaybackBaseControlGlue for PlaybackTransportControlGlue;
moved methods from PlaybackTransportControlGlue to base class except for the
seeking part.

Deprecated PlaybackControlGlue and created PlaybackBannerControlGlue that
extends the new base class.

Bug: 37748716
Test: PlaybackBannerControlGlueTest
Change-Id: I5dd9daa174e01d0e4c2cfd0dec29b2dfd5c3234a
upport/v17/leanback/media/PlaybackBannerControlGlue.java
upport/v17/leanback/media/PlaybackBaseControlGlue.java
upport/v17/leanback/media/PlaybackTransportControlGlue.java
134b0891c25facf14c53ef939846010284025ca9 20-May-2017 Dake Gu <dake@google.com> leanback: support predictive animation

1. supports predictive animation
2. no longer abort scrolling upon state.didStructureChange() is true.
So scroll animation will continue while item animation is running.

Bug: 38339297
Test: GridWidgetTest

Change-Id: If5b4a05e3dca9946395dd19204c2fcd59fa7a824
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/SingleRow.java
upport/v17/leanback/widget/StaggeredGrid.java
ce678995ede4a5e09486145727fe76f231a7c866 17-May-2017 Dake Gu <dake@google.com> leanback: add TYPE_TEXT_FLAG_NO_SUGGESTION for GuidedAction

For edit text, we have to explicitly disable the suggestion
or we might see a underline, discovered this on latest oc-dev
build. I didn't discover this before O. I haven't figured out
when the auto suggestion is activated.

Test: set the flag and rerun SupportLeanbackDemos.
Bug: 38355872

Change-Id: I5ecb6befcd9bee8614e67016c8cbccfaedfac826
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
e95cc698937673f3b41f9001f03a86f4e5092c6c 16-May-2017 Dake Gu <dake@google.com> Merge "leanback: fix Drawable not updated" into oc-dev
85b5869271426afffbc95e05591450ea18e336ed 16-May-2017 Dake Gu <dake@google.com> Merge "Fix constant in PlaybackControlGlue Actions." into oc-dev
6be5511d17efdbb935e2a025337834fc698ce723 16-May-2017 Dake Gu <dake@google.com> leanback: fix Drawable not updated

If setDrawble between onStart and enter transition
finishes, the Drawable is not scheduled to update
when LayerDrawable becomes FULL_ALPHA again.

Bug: 35669641
Test: delayDrawableChangeUntilFullAlpha
Change-Id: I53ac509d87063be5291ae946546349ae58c2e98d
upport/v17/leanback/app/BackgroundManager.java
946a01cfedb6838e98d7a37e30f64c39b603893d 12-May-2017 Dake Gu <dake@google.com> Fix constant in PlaybackControlGlue Actions.

The values are ment to be constant.

Bug: N/A
Test: N/A

Change-Id: I1ba306fe02beb52f837748c5af75d0c1fffea991
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/media/PlaybackControlGlue.java
upport/v17/leanback/media/PlaybackTransportControlGlue.java
upport/v17/leanback/widget/PlaybackControlsRow.java
18c79200bde99dcb8919935e40f2dc788e3bf9bc 12-May-2017 Dake Gu <dake@google.com> Merge "Leanback: fix javadoc of overriding child overlay." into oc-dev
b6dde2cfe2fbe3151c52d92e3754288aab11a3b1 05-May-2017 Dake Gu <dake@google.com> leanback: support preferring key line over edge

We have a requirement that for WINDOW_ALIGN_HIG_EDGE, when there are
limited items, we prefer the first item aligned to keyline instead
of last item aligned to bottom padding. Introduced two APIs:
setPreferKeyLineOverLowEdge and setPreferKeyLineOverHighEdge.
"prefer keyline over low" is by default false.
"prefer keyline over high" is by default true since keyline is
before high edge and user usually prefer align to lower side.

In current implementation, the scroll_max is always decided by the
last item align to edge of bottom padding.

When we prefer keyline over high edge, scroll max is no longer only
decided by last item, it will be decided by both the last item and
first item. So we will need updateScrollMin/Max altogether.

The CL also clean up GridLayoutManager code, no longer need concept
of mScrollOffsetPrimary.

Bug: 38036352
Test: testPreferKeyLine1 testPreferKeyLine2 testPreferKeyLine10000
testScrollSecondaryCannotScroll testScrollSecondaryNeedScroll

Change-Id: Ia1e03b3eb8f5d78255090380684e35e5434172bc
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/WindowAlignment.java
2f49fc87c3ae6d410162e7c28215d7ca859318c6 11-May-2017 Dake Gu <dake@google.com> Leanback: fix javadoc of overriding child overlay.

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

Bug: none
Test: none

Change-Id: I4e3b7623ae9a4b87bd5d677708126fbc63107bc8
upport/v17/leanback/widget/ListRowPresenter.java
128c9c1b32907fd5390eedf535ca91e2605a57d6 04-May-2017 Dake Gu <dake@google.com> Merge "leanback: Fix GuidedStepFragment greyed items" into oc-dev
163df90a6133c655cb84bbea89247496f157db6c 04-May-2017 Dake Gu <dake@google.com> Merge "leanback: fix GuidedStepFragment baseline alignment" into oc-dev
fa3662f76a0ed5591417144d866d511812667afd 04-May-2017 Dake Gu <dake@google.com> Merge "Adding support for launching GuidedAction in edit mode." into oc-dev
3a585b405904d1d8dc9c714ae06da4441a07382d 03-May-2017 Dake Gu <dake@google.com> leanback: fix GuidedStepFragment baseline alignment

Using FontMetricsInt does not consider the case that textView
can have extra space above the the text line. Switch to
use getBaseline()

Bug: 37947607
Test: manually change Guidance text view and Guided action text view
layout_height in style and inspect in sample app.

Change-Id: I312e19ff4dbedbd867f18c6b546a9bf78737928e
upport/v17/leanback/widget/GuidanceStylingRelativeLayout.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
df715f15ab54e487840c51f9fedd9a4409856096 03-May-2017 susnata <susnata@google.com> Adding support for launching GuidedAction in edit mode.

Currently, for editing actions in GSF we need to click on the title.
This CL allows us to set the edit mode on action which will launch
GSF directly in edit mode while showing the keyboard.

Test: None
Change-Id: If2c7eec194c20966e6e690db89eab9bf3e110592
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
66e932ebd959ffe318f0780c5f689bac29b09b50 03-May-2017 Dake Gu <dake@google.com> leanback: Fix GuidedStepFragment greyed items

Should save and cancel existing animator.

Test: manual test sample app
Bug: 35881764
Change-Id: Ia9b5822fc91380c7a4e981de0133b7b66070c1fc
upport/v17/leanback/widget/GuidedActionsStylist.java
87f6053302ff011864c8a050f7e527a7c4e90893 03-May-2017 Dake Gu <dake@google.com> Merge "leanback: fix Item alignment." into oc-dev
e6ab9ae6400adf9fccd1cfdcb58fd1d9cad70aeb 03-May-2017 Keyvan Amiri <keyvana@google.com> Merge changes I18a8d98f,I49d30980 into oc-dev

* changes:
Enabled customization of the arrow color in OnboardingFragment
Enabled setting start button text programmatically
bc6713f8e2fa9702675dc3827591ed401b539723 29-Apr-2017 Dake Gu <dake@google.com> leanback: fix Item alignment.

1. Add support of RTL case.

2. The existing rule of using offset negative/positive as indication
of start/end padding does not make sense, switch to use percentage,
when percentage is 0, we will use low padding, for percentage 100, we
will use high padding.
Although this changes behavior, existing apps all use low padding
and set percentage to 0, so this will not break existing apps.

Test: testItemAlignmentVertical testItemAlignmentHorizontal
testItemAlignmentHorizontalRTL
Bug: 37794661

Change-Id: I3fe4a05642fa959812f6079b335c707570c6761a
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
0cb1f577feba17baceb159ab7592e1050425bbad 02-May-2017 Keyvan Amiri <keyvana@google.com> Enabled customization of the arrow color in OnboardingFragment

Previosuly, we could customize the foreground color of the arrow but not
the arrow itself which was a PNG drawable. This CL uses ColorFilter that
is installed on the paint which draws the arrow. This enables setting
the bitmap color.
Also defined theme attribute for setting color. Programmatically setting
this color will supersede the theme attribute.

Bug: 37881573
Test: tested with a subclass of OnboardingFragment both setting the
color through the theme attribute as well as dynamically in onCreate().

Change-Id: I18a8d98f7fffe1c029a9116bbcd031ad67c6b10d
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/widget/PagingIndicator.java
60408831774854fa4b33dd70f72f7de0a58be885 01-May-2017 Keyvan Amiri <keyvana@google.com> Enabled setting start button text programmatically

The start button was set through the string resource
lb_onboarding_get_started and could not be set dynamically. This CL
enables setting it to any custom string.

Bug: 37856834
Test: tested on an app which subclasses OnboardingFragment and sets
this text to a custom string in onCreate().

Change-Id: I49d309805cc21d42aa9cda808cbd1b8bd6c60396
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
290cc49f6210525560e9d6c92fcca3789d28dd7c 29-Apr-2017 Dake Gu <dake@google.com> leanback: save events before attached to host

e.g. on buffering start was fired before glue is attached to host.
We should save the state and fire the event when attach to host.
Also updated embedded video playing sample: showing trailer initially
and switch to main video after purchase.

Bug: 37792058
Test: savePlayerAdapterEventBeforeAttachToHost

Change-Id: Ic5cd841cce2117f2d54eb0815c860d257f3c7fc9
upport/v17/leanback/media/PlaybackTransportControlGlue.java
c90b4456b4fa3d2b3a1ba5746a38883036103293 24-Apr-2017 Keyvan Amiri <keyvana@google.com> Merge "leanback: fix delayed data loading when HeaderFragment is disabled" into oc-dev
f89c67eeac3938f245c858774cc7c9f87fb7487d 22-Apr-2017 Dake Gu <dake@google.com> leanback: fix delayed data loading when HeaderFragment is disabled

Bug: 37580676
Test: BrowseFragmentTest#lateLoadingHeaderDisabled

Change-Id: I72443f61284ae014898e7673eaa7aa90aad70ae0
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
d296eb89993ae82628e82ae9528688f7b2620774 24-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: better support custom onSelectLevelChanged()" into oc-dev
58017eb70174f44dda3de761e3f6d5bc08c6d289 21-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: fix new errorprone warnings" into oc-dev
76c53f6a2152d31a255a36276ada145be5ec474a 21-Apr-2017 Dake Gu <dake@google.com> leanback: fix new errorprone warnings

Bug: none
Test: ./gradlew :support-leanback-v17:assmebleErrorProne
Change-Id: I519b67edae6e0f15cd1e97d79fc5478939a0940a
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
0b718eae67983ba0324e0fe7c64bcd9c443188fb 21-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: fix crash late assigning Adapter that has stable ids" into oc-dev
a23c768a1a61495852074869b244064cf535b4c1 21-Apr-2017 Dake Gu <dake@google.com> leanback: better support custom onSelectLevelChanged()

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

And add a complete test for shadow overlay container.

Bug: 37545125
Test: ListRowPresenterTest
Change-Id: I50dae625714ec122161d790de372c5b4b0833a81
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
c807587e03e775abb23f62894ad59bfb91cfbd97 20-Apr-2017 Dake Gu <dake@google.com> leanback: fix crash late assigning Adapter that has stable ids

We cannot assign a ItemBridgeAdapter to RecyclerView
and later RowsFragment.setAdapter() to change hasStableId
to true. RecylcerView will crash.

So BaseRowsFragment have to delay the
RecyclerView.setAdapter(itemBridgeAdapter)
until app pass in a adapter.

However, this has a side effect on FocusHighlightHelper.
setupHeaderItemFocusHighlight(VerticalGridView). We no longer
guarantee the VerticalGridView will have an ItemBridgeAdapter
assigned to it in onViewCreated(). So we have to introduce
new APIs to expose getBridgeAdapter() and let FocusHighlightHelper
use ItemBridgeAdapter.

Bug: 37515649
Test: HeadersFragmentTest#disableScaleInConstructor
RowsFragmentTest#changeHasStableIdToTrueAfterViewCreated

Change-Id: I1137b81ced68a9d9a8fb13ca689882b9a39d09c7
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/FocusHighlightHelper.java
4b04960568da761e318d06a8bc7740e540759bd0 20-Apr-2017 Dake Gu <dake@google.com> leanback: api renaming

Make it consistent with PlaybackGlueHost:
isFadingEnabled -> isControlsOverlayAutoHideEnabled

Bug: none
Test: connectedCheck, updateApi and generateDocs
Change-Id: I5a16dbc843a47aa5e9bcb4b80bde6c564ab7beef
upport/v17/leanback/media/PlaybackTransportControlGlue.java
e0243df5b46f4f198136683db3e14da0a382b237 20-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: make BaseFragment public" into oc-dev
49dff44ccf0cef8fc8130415fd1dae1a69e4c786 19-Apr-2017 Dake Gu <dake@google.com> leanback: make BaseFragment public

Follow the same rationale of ag/2132368.
If we dont want user subclass, make the constructor
package private, but make the class public so we have
less trouble in api/docs.

Bug: None
Test: generateDocs
Change-Id: I0de0b0651aa45aa8fcd794a320be38685410bd09
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
6ab60d4d0b40ff9d886132c3e76a6c91f50286dc 19-Apr-2017 Dake Gu <dake@google.com> leanback: add missing methods in package private BaseGridView

Make the BaseGridView public so the methods will appear in api file.
The constructor is kept package private so only support library can
subclass BaseGridView.
Minor javadoc improvement.

Bug: 37415980
Test: generateDocs and updateApi
Change-Id: I5be7c9cf51296564cfea2b5a2a612cd5bd3de4ec
upport/v17/leanback/widget/BaseGridView.java
3bcad88cbf4488e747d84893c35f2351b8f84afe 21-Mar-2017 Dake Gu <dake@google.com> leanback: new transport controls

PlaybackTransportRowPresenter is the new UX.

PlaybackTransportControlGlue extends from PlaybackGlue.
PlaybackTransportControlGlue is backed by PlayerWrapper.
PlaybackWrapper wraps underlying media player,
concrete example: MediaPlayerWrapper.

PlaybackSeekDataProvider defines the data interface that app
provides to leanback.
PlaybackUI defines seeking interaction between
PlaybackTransportControlGlue, PlaybackGlueHost and the presenter.

more:
- added progress bar support for media loading.
- fixed vertical video proportion and support video size change.

Test: PlaybackTransportControlGlueTest
PlaybackTransportRowPresenterTest.
Updated SampleVideoFragment.

Bug: 33751556

Change-Id: I1d39c6f65d04121f8cb9c25fb7ce103e32355190
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackFragmentGlueHost.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
upport/v17/leanback/media/MediaPlayerAdapter.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/media/PlaybackControlGlue.java
upport/v17/leanback/media/PlaybackGlue.java
upport/v17/leanback/media/PlaybackGlueHost.java
upport/v17/leanback/media/PlaybackTransportControlGlue.java
upport/v17/leanback/media/PlayerAdapter.java
upport/v17/leanback/media/SurfaceHolderGlueHost.java
upport/v17/leanback/widget/ControlBar.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowView.java
upport/v17/leanback/widget/PlaybackSeekDataProvider.java
upport/v17/leanback/widget/PlaybackSeekUi.java
upport/v17/leanback/widget/PlaybackTransportRowPresenter.java
upport/v17/leanback/widget/PlaybackTransportRowView.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/SeekBar.java
upport/v17/leanback/widget/ThumbsBar.java
1ae6582860b06cb81faaa2da0f6f24e13a349bc7 18-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: fix ProgressBarManager not shown" into oc-dev
1648a30a0177f30ad78d39c01abd2c5313b97114 17-Apr-2017 Wei-Hsin Chen <wwwllllfrank@google.com> Merge "Reuse PlayBackGlueHost when switching PlayBackGlue" into oc-dev
1853eab01f421268e2a1de76b660b5577260ce5d 15-Apr-2017 Dake Gu <dake@google.com> leanback: fix ProgressBarManager not shown

show() only works for the first time.

Bug: 37362000
Test: ProgressBarManagerTest
Change-Id: I82ca5d99d085baa3ace4b9a0a112d2a3b1e5bc1b
upport/v17/leanback/app/ProgressBarManager.java
8a058074df40beb07fe45c1eaae5baffd63f6a97 14-Apr-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Remove unnecessary casts on calls to findViewById" into oc-dev
5aaecbfe6da23cd622455e62402ab89f81458c92 14-Apr-2017 Keyvan Amiri <keyvana@google.com> Merge "Enabled dynamic setting of different colors in OnboardingFragment" into oc-dev
93cc83d6fffa2138aa0509f6fd70f1c02087683c 13-Apr-2017 Keyvan Amiri <keyvana@google.com> Enabled dynamic setting of different colors in OnboardingFragment

OnboardingFragment enabled setting the TitleView, DescriptionView
colors and background colors for dots and arrows through theme attributes.
This CL adds APIs to enable setting them programatically. When set
through the code, these colors will supercede the color values set
through theme attributes.

Test: manual test on an app with both theme attributes and programmatic
setting of different colors. The color from the API calls should take
over.

Change-Id: I859b73bbf104dad423fce4b4295d921bd155b278
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/widget/PagingIndicator.java
fa2e2acf79d791a90410025daad438968550d18c 31-Mar-2017 Alan Viverette <alanv@google.com> Remove unnecessary casts on calls to findViewById

Updates Android.mk where applicable.

Bug: 24137209
Test: make -j32
Change-Id: I04084b2d05ddd7afaa160a76efe0b0d0c8eb5f00
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/ListRowHoverCardView.java
upport/v17/leanback/widget/MediaNowPlayingView.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/picker/TimePicker.java
905bcd294a7351749c60382eab03aa0c679e08bb 13-Apr-2017 Alan Viverette <alanv@google.com> Un-suppress NewApi lint where applicable

Reduces scope where NewApi must be retained. Updates media compat
code to use BuildCompat directly rather than checking SDK_INT
against 26 (which is not a real SDK_INT on any devices yet).

Test: ./gradlew lint
Change-Id: I052641ae0540605559ad68132ef0470bc8dc3f22
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
c65ceae1251b35fbf4aa72df7b5d20e764bed9d2 12-Apr-2017 Wei-Hsin <wwwllllfrank@google.com> Reuse PlayBackGlueHost when switching PlayBackGlue

Bug: 37222175
Test: sharedGlueHost() in DetailsFragmentTest
Change-Id: Icdbbfe28c11ef456743cbd2290892e2136862c6a
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
21b95fb1468e567571a24d14b3eaf87c34788779 13-Apr-2017 Keyvan Amiri <keyvana@google.com> Merge "Added hooks for initial data loading to OnboardingFragment" into oc-dev
8d35a46f195c8e857d8d949e1d0996a268faf80c 12-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: set window background to null when use View as background" into oc-dev
0d27556e2176043aa19bb808a0795013856e7666 12-Apr-2017 Keyvan Amiri <keyvana@google.com> Added hooks for initial data loading to OnboardingFragment

Currently, OnboardingFragment will start entrance transition right after
the logo animation is complete. This prevents an app from having control
on when the entrance transition starts, e.g. an app that needs to
load data before the UI is displayed to the user.
Moved around different pieces and changed onLogoAnimationFinished
callback so it can be overridden for hiding logo view and starting
entrance transition.
Apps can now control when to start entrance transition in
onLogoAnimationFinished, e.g. after logo animation and data loading
is finished.

Test: tested on an app that overrides onLogoAnimationFinished which runs
an AsyncTask for some period of time (mimicing data loading) before
calling startEnterAnimation().

Change-Id: If84310ff4dbbea6b851b8900143458300f3adef4
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
4f30a89b26d64a98cddf8aa4a399f008fe5c2c4d 12-Apr-2017 Dake Gu <dake@google.com> Merge "leanback: switch to use getAdapterPosition() for accessbility node" into oc-dev
11e04bce2e1bf30011dff2ea2406c0dd89be83a3 12-Apr-2017 Dake Gu <dake@google.com> leanback: set window background to null when use View as background

Restored the code setBackground(null), but before O we will
need set a transparent drawable to workaround the activity
transition ghost problem.

Bug: 32952142
Test: Visually inspect SupportLeanbackDemos on N and O
Change-Id: I57256f7a652ba3ee2c6d415f1994301d558d02d7
upport/v17/leanback/app/BackgroundManager.java
e36e2ce16cbd6144ccd49e0b90ae4c587a08c8f3 10-Apr-2017 Dake Gu <dake@google.com> leanback: switch to use getAdapterPosition() for accessbility node

Disappearing ITEMs that were pushed out of the RV due to inserting
other items will crash when onLeftHiddenState changes
importantForAccessibility to yes. The item's viewLayoutPosition is
invalid, so we should use AapterPosition which will return -1 and
onInitializeAccessibilityNodeInfoForItem will bail out.

This bug will happen on any LM which does not support preLayout uses
viewLayoutPosition in onInitializeAccessibilityInfo.

Bug: 37096264
Test: testAccessibilityNodeInfoOnRemovedLastItem
testAccessibilityNodeInfoOnRemovedFirstItem
simulatesAccessibilityOfItemsBeingPushedOut
testAccessibilityOfItemsBeingPushedOut

Change-Id: I2804b5b55f2cbc917155cf8b902b9487f65b8e28
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
902cd5c04e05bd5d94b969698a5ce502f0d92180 12-Apr-2017 Chris Craik <ccraik@google.com> Merge "Work around android.view.animation.Animation bug prior to N" into nyc-support-25.4-dev
am: 678e6103ca

Change-Id: I707a85154bd35781ec4f65edb22c9cd107f8d5e5
678e6103ca1d3fd4ce95a5cd35c6e42a0ca9c88c 12-Apr-2017 Chris Craik <ccraik@google.com> Merge "Work around android.view.animation.Animation bug prior to N" into nyc-support-25.4-dev
c6dae16bdbaf9070358886a55b556bfc45025a83 11-Apr-2017 Chris Craik <ccraik@google.com> Work around android.view.animation.Animation bug prior to N

Fixes:36652953
Test: none

Prior to N, Animation#cancel() would cause an animation to infinitely
loop instead of stopping. Calling View#clearAnimation avoids the
problem, since it removes the Animation entirely.

Change-Id: Iabce4bbcfedcf6b2e1d87c742d859c174113b1ab
upport/v17/leanback/widget/BaseCardView.java
92d8453dfc8ee5153e5d207618c4555d0a14e8f7 31-Mar-2017 Kazuki Nara <kazuki.nara@gmail.com> Fix NPE if animation updated after manager released.

NPE occurs when onAnimationUpdate is called after
BackgroundManager has been released.
Cancel animation on BackgroundManager released.

Test: run support-leanback-demo
Bug: https://code.google.com/p/android/issues/detail?id=233511
Change-Id: I574747493a4f9d7ee1544190c30d2e1ed248b480
upport/v17/leanback/app/BackgroundManager.java
43d43155a4d311e79ce9cd49b4519c7697d41eae 31-Mar-2017 Dake Gu <dake@google.com> Merge "DetailsFragment: support switchToVideo in onCreate" into nyc-support-25.4-dev
am: 73a205fa58

Change-Id: I0aec780f5e2ab7769115572ab8a7c2865caaba09
89097f67f988ebba714a95e10369665280db0c27 25-Mar-2017 Dake Gu <dake@google.com> DetailsFragment: support switchToVideo in onCreate

Allows DetailsFragment to be put in intial video mode
and skip entrance transition and enter transition.

The DetailsFragment's state model is fairly complicated
including entrance transition, enter transition and
switchToVideo call. So reworked StateMachine and based
DetailsFragment on StateMachine, remove the PF_ flags used
before.

When switchToVideo is called in DetailsFragment.onCreate,
there is no video fragment yet, but we still fade out
cover drawable and create a pending flag once the video
fragment view is created will focus on to it.

Added support in GridLayoutManager to allow slideOut() when
there is no child, and layout the first pass out of
window.

switchToVideo is not allowed with entrance transition.
once prepareEntranceTransition is called, switchToVideo will
be ignored until entrance transition is finished. On the other
hand, calling prepareEntranceTransition after switchToVideo
will be ignored.

switchToVideo will clear activity enter transitions. Once
it is called in onCreate, we do not want the activity enter
transition to run.

Test: bunch of new tests in DetailsFragmentTest for all kinds
of scenarios
Bug: 36126851

Change-Id: Ic0279331b12b1e285507dffda3ad351245c01a1b
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/util/StateMachine.java
upport/v17/leanback/widget/GridLayoutManager.java
9e537f8a5bcc66a10280e3e34e866fd36790fcf8 28-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix alignment when appending to last item." into nyc-support-25.4-dev
am: 9522574131

Change-Id: I89426dc66090db41d768a57958860ded08c02e72
813b0740517a5b63f2c3744dfe3f011910a600b3 28-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix item listener for preteched row" into nyc-support-25.4-dev
am: 967dfaab04

Change-Id: I97eee01bfa9eaeffddda5454ccb2e5d412a630d1
9522574131186815d25cab54c0963bdbf2e5ac5d 28-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix alignment when appending to last item." into nyc-support-25.4-dev
b1f50ac6f9fa8a8140873cad549efb118d0baea9 28-Mar-2017 Dake Gu <dake@google.com> leanback: fix item listener for preteched row

leanback had assumption that items on a row was bound after row is
attached to window, row gets OnItemViewClickedListener when it
is attached to window. This assumption is broken when pretch a row.
The first few items of that row is bound before row is attached to
window at that time there is no OnItemViewClickedListener on the row.

Bug: 36665531
Test: RowsFragmentTest#prefetchChildItemsBeforeAttach
Change-Id: I8a88ad955773b533ef362b6e759ce4d88aa88037
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
af3606dbd00dd77a2b0d0950edf203247509ad4c 28-Mar-2017 Dake Gu <dake@google.com> leanback: fix alignment when appending to last item.

When append new item, it falls into fastRelayout() path
where LM didn't updateScrollMin/Max for the new item.

Bug: 32488200
Test: testAddLastItemHorizontal testAddMultipleLastItemsHorizontal
Change-Id: I660207a1fa48ff899e487b4ee457b57067ab4725
upport/v17/leanback/widget/GridLayoutManager.java
024d8ec187cf2adfe87963a64fc3dd24da6c85d2 23-Mar-2017 Dake Gu <dake@google.com> Merge "PlaybackControlGlue: remove dependency on PlaybackControlsRowPresenter" into nyc-support-25.4-dev
am: 61413c91f8

Change-Id: Ief9c20bb7c576d166a7dc9f75ef7cb8d4aefae05
61413c91f84747d4efdb5d8778437622db9604d6 23-Mar-2017 Dake Gu <dake@google.com> Merge "PlaybackControlGlue: remove dependency on PlaybackControlsRowPresenter" into nyc-support-25.4-dev
a207d6d23fe5e7c15e4a3dbc4832e732d884ad05 23-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: make Details embedded video more useful" into nyc-support-25.4-dev
am: 41533c6ca0

Change-Id: I63f3c58ce9db27801a2c1ac21c6677167746c7e7
a9a5c79da5845ec44d6eb129c590b68606260b15 23-Mar-2017 Dake Gu <dake@google.com> PlaybackControlGlue: remove dependency on PlaybackControlsRowPresenter

In some cases, app may wants to use its own presenter
instead of PlaybackControlsRowPresenter or subclass.

This CL deprecated API set/getControlsRowPresenter
and added new API set/getPlaybackRowPresenter.

Bug: 36557643
Test: PlaybackControlGlueTest

Change-Id: I0df80741e4f52e49799541f9283fa615ed357866
upport/v17/leanback/media/PlaybackControlGlue.java
f87eb1d84dfee2f1be9ea326754829b1eff4967f 22-Mar-2017 Dake Gu <dake@google.com> leanback: make Details embedded video more useful

The current implementation has assumption that
the PlaybackGlue is setup during onCreate() and there
is only one PlaybackGlue allowed. The restriction
makes some use cases impossible. This CL address this
by adding more flexibility of when a PlaybackGlue can
be assigned to DetailsFragmentBackgroundController.

1. allow setupVideoPlayback() later, this allows
app add a purchase flow before playing.

2. allow setupVideoPlayback() multiple times, so
a real video can replace trailer video after
purchase flow is done.

3. Fix bug of RecyclerViewParallax not running
parallax effect when there is no item, added
a onLayoutChangeListener so that DetailsParallaxDrawable
will set correct bounds when RecyclerView is assigned
a initial size (verified by test noInitialItem)

4. new API canNavigateToVideoFragment(), this allows
app to control when DPAD_UP can navigate to videos.

5. new API switchToVideo() so that app can switch to video
UI programmatically after a purchase flow finishes.

Bug: 36126851
Test: DetailsFragmentTest DetailsSupportFragmentTest

Change-Id: I7cd4084e71b85d8fd739d30a421746312bdb086c
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/widget/RecyclerViewParallax.java
51bde5dfa2070705a9ee1072f2f89bcd37040568 22-Mar-2017 Dake Gu <dake@google.com> Merge "Fix multiple bugs related with DetailsFragment:" into nyc-support-25.4-dev
am: 256abb7035

Change-Id: Idc97e0fea29eeba0223ba5fbaa1754a37890be3f
f2fdec90b07738a4a246aa1e5c75ce3a1d2ae4fa 22-Mar-2017 Dake Gu <dake@google.com> Merge "Leanback: fix regression caused by fixing error prone" into nyc-support-25.4-dev
am: 1973b350ba

Change-Id: Ic2d18bc55b895a1f1445beaec32b424661cc3731
256abb7035e1769e56ee440c3abdf3f673b6c885 22-Mar-2017 Dake Gu <dake@google.com> Merge "Fix multiple bugs related with DetailsFragment:" into nyc-support-25.4-dev
6525e063fbbd691a8553f4fc77f3960f93bea34d 22-Mar-2017 Dake Gu <dake@google.com> Fix multiple bugs related with DetailsFragment:

1. If onStart reinitialize the adapter, it may causes
BaseGridView.animateOut() being called when there is
no child which causes NPE in GridLayoutManager.slideOut()
2. In DetailsFragment.onStart() we should not requestFocus()
on vertical grid view if DetailsFragment already gains focus,
otherwise it will move focus out of embedded video playing.
3. remove support of DPAD_DOWN from playback to details ui.
The returning is done through BACK.
4. Fix the flaky DetailsFragment navigation tests.
5. Make PlaybackFragment internal variable package private
to remove potential generated stub method and easy to test.
6. Change DetailsFragmentTest to be "LargeTest" to skip
the TreeHug integration.

Bug: 36492114
Test: DetailsFragmentTest DetailsSupportFragmentTest

Change-Id: Ia437611c234565aa6a85709c897cdd436ff21cf9
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/widget/GridLayoutManager.java
985d0981d78f9ea1602e5562fda5f08a2fa8748c 22-Mar-2017 Dake Gu <dake@google.com> Leanback: fix regression caused by fixing error prone

Revert the round() change in fixing error prone warning.

Bug: b/36497651
Test: GridWidgetTest

Change-Id: I0d0c7e004ba2e6b265e5d956febafb486bef51cc
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
8e93f05e1730ebd537764f1e7680c3bdc0e1bddb 21-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix errorprone warnings" into nyc-support-25.4-dev
am: 27d7a9f884

Change-Id: I5894593e25e11ab6f44573e776cd959da814b8d7
27d7a9f8840a21da4ef3319a6930d192c1adb1cd 21-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix errorprone warnings" into nyc-support-25.4-dev
1c7e66cadf4bf4f59be8d3a46a0bcd37c26fe3ef 16-Mar-2017 Keyvan Amiri <keyvana@google.com> resolve merge conflicts of 063e78da31 to master

Original CL: ag/1998256

Test: Tested against an app that subclasses OnboardingFragment
Change-Id: Ic952929b5a4d8da4abc4fe43cf0c3a33bc426577
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
063e78da314f9151aa91ae6d2ac05aa932a397a3 18-Mar-2017 Keyvan Amiri <keyvana@google.com> Merge "Made OnboardingFragment more customizable" into nyc-support-25.4-dev
13dbc9db15b0ae0eb4e52fcb59e05c7094012d57 16-Mar-2017 Keyvan Amiri <keyvana@google.com> Made OnboardingFragment more customizable

Exposed moveToPreviousPage and moveToNextPage so subclasses
can define custom behavior e.g. auto-play vs. manual mode, and
call these methods directly.
Also created a listener to notify when views become visible.

Test: Used a subclass of this fragment within an app that can
work in both auto-play and manual mode. Tested for Talkback in both
N and O.

Change-Id: I739259e1ca249a58a766a8271a41c9dd3e3308e6
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
4f8e91cb517e7eb6e02400d9a72d6d37aa168af1 16-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: remove usage PersistentFocusWrapper" into nyc-support-25.4-dev
am: 28b952a462

Change-Id: I8ab23eb2d403aecd011eaec4db612ed57479885e
28b952a46223a08a7ed6dd555188d4191ab9fb0f 16-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: remove usage PersistentFocusWrapper" into nyc-support-25.4-dev
694edde99dc3782374977dab6d9aa34a16c13337 15-Mar-2017 Dake Gu <dake@google.com> leanback: fix errorprone warnings

Bug: 36252690
Test: N/A
Change-Id: I60a692554882a17d63789a689b4d4c3c37a00aed
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/util/StateMachine.java
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
upport/v17/leanback/widget/RowHeaderPresenter.java
6e1de7526676147778d7f3721d7f06743f924379 15-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix javadoc ArrayObjectAdapter#add" into nyc-support-25.4-dev
am: f51b77245e

Change-Id: Ic1bb8ed0de87e528fd1f52b589dacf91177de9d6
f702a22f32f169c18139d4047779f9da60b9158c 15-Mar-2017 Dake Gu <dake@google.com> leanback: fix javadoc ArrayObjectAdapter#add

Bug: 36259460
Test: N/A
Change-Id: I3dfd61e5e15cc5d4595d4e04b5f0f70006e1f663
upport/v17/leanback/widget/ArrayObjectAdapter.java
5c6d801d0e8ff28808a1a4b74db0519ebc22c317 14-Mar-2017 Dake Gu <dake@google.com> leanback: fix crash caused by wrong position
am: 5c4d5ee669

Change-Id: I294957d867fc1b6c79e436c975fcd1d30dc01336
5c4d5ee6697503c9c170fe240b0fe97792d83904 14-Mar-2017 Dake Gu <dake@google.com> leanback: fix crash caused by wrong position

When notifyDataSetChange() is called on Adapter that clears
its data and has stable ids, it will trigger a requestChildFocus()
in creating DISAPPEARING animation. At that time we should
use adapter position instead of view position. The adapter
position would be -1, so requestChildFocus() should do nothing.

Bug: 36139432
Test: GridWidgetTest.testRemoveLastItemWithStableId

Change-Id: Ief37156d58c2596c28002143cd14395ade24c6a5
upport/v17/leanback/widget/GridLayoutManager.java
695dafc28f3a6befa849f620021304b6f2344278 13-Mar-2017 Dake Gu <dake@google.com> lenback: fix flaky parallaxTest
am: 5feb286576

Change-Id: I49f3a6176f460cc88ae11ce065b219f9186c62a8
5feb2865769ac490ceeb1a77a96afe77a3efc24e 13-Mar-2017 Dake Gu <dake@google.com> lenback: fix flaky parallaxTest

Exclude transaltionY applied by recyclerview's ItemAnimator
animator.

Test: DetailsFragment.parallaxTest
Bug: 32022097
Change-Id: I92c247a79868ed1b91af6582a5e0610a307de485
upport/v17/leanback/widget/RecyclerViewParallax.java
6e28bd2903a19cd4560d94413161bd3fa36542e6 10-Mar-2017 Dake Gu <dake@google.com> leanback: remove usage PersistentFocusWrapper

Disable PersistentFocusWrapper and simplify the layout.
Now the ControlBar is responsible for persistent
the last focus index.

Test: ControlBarTest

Change-Id: Ie2766693cd10f198a17feede527eb2c372e8b0ba
upport/v17/leanback/widget/ControlBar.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
444128e61403b8a3aa27b1e6577b6ffbacd53482 10-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: Fix playback screen alignment" into nyc-support-25.4-dev
am: 0e9ccc9a9c

Change-Id: Ib814605326d3e3e69ca16aea81438a84a03355f5
5a4d3a98d681cc9042b28a923aa5a23a6b961998 09-Mar-2017 Dake Gu <dake@google.com> leanback: Fix playback screen alignment

Make playback row's bottom align to padding bottom.
Deprecate the paddingTop which isn't reliable since
playback row's height can change.

Add more test for playback fragment.

Bug: 36099789
Test: alignmentRowToBottom setupRowAndPresenterWithoutGlue
setupWithControlGlue

Change-Id: I202d31b897c2cc6ab8666842855623425ce70694
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
a92c8825a927763f0aafd562a1e61f10572aa1bd 09-Mar-2017 Aurimas Liutikas <aurimas@google.com> Merge "Fix IdentityBinaryExpression warnings in support library"
a72f890c0c52ea8531f39dccf48c3b06004b34c9 09-Mar-2017 Dake Gu <dake@google.com> Merge "leanback: fix initial selection of playback button" into nyc-support-25.2-dev am: 501d41cbc0 am: c39bc7d6d7
am: 9f8a37090d

Change-Id: I277e82adf3cd50d2dbe666e988c4841aa7c76dbf
3a880690aa4b202d38cd976ce7c7926caa0c8311 09-Mar-2017 Dake Gu <dake@google.com> leanback: fix initial selection of playback button

Because initially when Media is not ready we skipped
updatePlaybackState(), we have initially two buttons
thumbs up and thumbs down in the adapter.
The UI makes initially selection to #2.

And later play/ rewind / fastforward button is added when
hasValidMedia() becomes true, selection is still on
button #2.

This CL calls updateControlsButton during the setup
and add all play buttons even when media is invalid.

We no longer allow onStateChanged() to add/remove play related
actions, afaik no app is relying on this behavior.

Bug: 36071311
Test: PlaybackContrlGlueTest#testWithoutValidMedia

Change-Id: I36d9404ff8ee61d10d10f77ca6b9fdab3aa69d07
upport/v17/leanback/media/PlaybackControlGlue.java
22bdcb0886c8ce31d003457db9e5ebb734f11b5a 08-Mar-2017 Aurimas Liutikas <aurimas@google.com> Fix IdentityBinaryExpression warnings in support library

Error prone found these 2 bugs in our code.

Bug: 35965190
Test: ./gradlew assembleErrorProne
Change-Id: I97fba6f70dcdc979567e94f58ee1676e3736f0b3
upport/v17/leanback/widget/DetailsOverviewLogoPresenter.java
05944c3367279f44345963acc40674b1653f6418 08-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "A pass at fixing unchecked javac warnings."
d736f1f72bfdd129c0d2f7cac722e414b928b8ff 07-Mar-2017 Dake Gu <dake@google.com> leanback: announce play controls shown/hidden am: d2a999bfb1 am: f00e1c77df
am: 5d34bc55b3

Change-Id: I87d155346e808c7a1670e8d17b15563533f7fc2f
d2a999bfb1a2f9ca0e27e1bfdd4731abf35ab560 07-Mar-2017 Dake Gu <dake@google.com> leanback: announce play controls shown/hidden

Bug: 35213671
Test: Manually run demo app with talkback on.
Change-Id: I84ee919ae56439644755d5ce72e0737148ff5e9b
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
8d3e223e8023bbb0902a13745d5ab961e196540e 07-Mar-2017 Dake Gu <dake@google.com> resolve merge conflicts of ec6f358e25 to master

Change-Id: Idb5f4da1ddd439b0ae6d31799d5faef43a44ecc9
c298c564b70739d3c69cbc405815e5b21831a79b 07-Mar-2017 Dake Gu <dake@google.com> Merge "Parallax: API factorying and add direct mapping" into nyc-support-25.2-dev
11ca0f6ce6e4b22294c421f8fb43b50615a82491 06-Mar-2017 Dake Gu <dake@google.com> Merge "Missing implementation for TitleViewAdapter.setOnSearchClickedListener" into nyc-support-25.2-dev am: 14a1d5a894 am: 076beb4abb
am: 2a5614b332

Change-Id: I374a3b54243dbb5881799f629c3073888b6e79f3
bc744e9d0499d4af0cc12511ccce33ed283423db 06-Mar-2017 Dake Gu <dake@google.com> Missing implementation for TitleViewAdapter.setOnSearchClickedListener

Bug: 35996134
Test: TitleViewAdapterTest
Change-Id: Ibc1f8065897b779eae857c27502d88f5c8ac95d1
upport/v17/leanback/widget/TitleViewAdapter.java
bf4318c67254bc11307796601b9fb4a8bbfe67b2 21-Feb-2017 Dake Gu <dake@google.com> Parallax: API factorying and add direct mapping

Remove six classes from api file: Parallax.IntParallax,
Parallax.FloatParallax Parallax.IntPropertyMarkerValue,
Parallax.FloatPropertyMarkerValue, ParallaxEffect.IntEffect
parallaxEffect.FloatEffect.

Remove methods Parallax.verifyProperties ParallaxTarget.getFraction
from API file

The standard parallax mapping converts value of source
into 0~1 fraction then convert it back to target value.
This is not only inefficient but also causing rounding errors.
Added a concept of ParallaxTarget.isDirectMapping(). When
true, ParallaxEffect bypass the fraction calcuation and directly
passes value from source Property to
ParallaxTarget.updateValue(Number).

Now DetailsFragment uses direct mapping for changing
child drawable's bound.

Fix the bug that ValuesRule's type is unmodifiable.

Bug: 35933446
Bug: 32022097
Bug: 35632609
Test: DetailsFragmentTest.parallaxTest
ParallaxIntEffectTest.testDirectMapping
CompositeDrawableTest

Change-Id: Ibd89ba6621fc0804ea24cba099b6d2e6bf3fccc9
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/transition/ParallaxTransition.java
upport/v17/leanback/widget/DetailsParallax.java
upport/v17/leanback/widget/DetailsParallaxDrawable.java
upport/v17/leanback/widget/Parallax.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxTarget.java
upport/v17/leanback/widget/RecyclerViewParallax.java
27644c071b7fc0e1e4f91194f2a08b4aa2cf1465 05-Mar-2017 Aurimas Liutikas <aurimas@google.com> Remove unused imports in support library classes.

Test: ./gradlew assebmle assembleAndroidTest
Change-Id: I429f0abb742bfed9288f84a7d6a3208063068f23
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/util/MathUtil.java
upport/v17/leanback/widget/AbstractMediaListHeaderPresenter.java
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/ForegroundHelper.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedDatePickerAction.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ItemBridgeAdapterShadowOverlayWrapper.java
upport/v17/leanback/widget/OnChildViewHolderSelectedListener.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/SearchEditText.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaticShadowHelper.java
upport/v17/leanback/widget/StreamingTextView.java
upport/v17/leanback/widget/TitleViewAdapter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
abc73958d264e1eed7fd401a18be1d9ede8304eb 06-Mar-2017 Aurimas Liutikas <aurimas@google.com> A pass at fixing unchecked javac warnings.

Add types where needed.
Suppress places where we intentionally skip types.

Test: ./gradlew assemble still works
Change-Id: If1350e896948c7e27c212cf7b1a94f08b9131193
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/Action.java
2656ae585662d63454ca757c2f33336fa58062fa 06-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Re-enable lint enforcement, fix remaining lint issues"
c69882cb9b130902c1554ef5d3e3b06d776cd796 05-Mar-2017 Alan Viverette <alanv@google.com> Re-enable lint enforcement, fix remaining lint issues

Bug: 29630077
Test: ./gradlew lint
Change-Id: Ied1e4b1c33ba158d6bfab5439497ee4fc8284a8f
upport/v17/leanback/app/FragmentUtil.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
ee2249ba014169e1bf03bab5ba628de35d625685 05-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add all missing @Override annotations."
e2104f4b5c8e3ad63570306a25e61502dfe4c418 05-Mar-2017 Aurimas Liutikas <aurimas@google.com> Add all missing @Override annotations.

Historically, we could not add @Override for certain methods due to
using older SDKs to build support library. That is no longer the case
so we can add @Override everywhere now.

Test: ./gradlew assemble assembleAndroidTest still works
Change-Id: I85e3c1157f0e253e3eab7584189f3bf95cf030e9
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/widget/RowContainerView.java
93f9a8fd25341dd983b4fa44d55723dcc21d62dd 04-Mar-2017 Dake Gu <dake@google.com> leanback: fix bad state of mFocusPosition am: b484ccb63d am: 88c7e86803
am: 85f9458aab

Change-Id: I207564714db1075f20af22e67d7fe1bc6eed5a2a
b484ccb63d546196c4b39f9a86a9c714006cfdc3 04-Mar-2017 Dake Gu <dake@google.com> leanback: fix bad state of mFocusPosition

When smoothScroller starts, the target position is cropped by adapter
size, leanback doesn't adjust its internal mFocusPosition, which
causes unable to focus to a child in onRequestFocusInDescendants().

The launcher could fix this by double check the position before pass
to setSelectionSmooth().

Bug: 32118060
Test: testSmoothScrollerOutRange
Change-Id: I5c4ea3b3b4776971f511b0d689e4f9c66bb5ae47
upport/v17/leanback/widget/GridLayoutManager.java
9e9fa070c89cd4bf63d0e0becfb8bf3896547f6f 03-Mar-2017 Chris Craik <ccraik@google.com> Fix prefetch item count naming am: d6696c2abe am: fe945f9863
am: 0ecce1716e

Change-Id: Ie3fe498c6f51a52bf91987d9c2bc69d800f6a33c
d6696c2abea2771acd000c2269cf9113acc6c0a9 02-Mar-2017 Chris Craik <ccraik@google.com> Fix prefetch item count naming

Fixes: 35855437
Test: adb shell am instrument -w -r -e debug false -e size small android.support.v17.leanback.test/android.support.test.runner.AndroidJUnitRunner
Test: adb shell am instrument -w -r -e debug false -e size small android.support.v7.recyclerview.test/android.support.test.runner.AndroidJUnitRunner

Change-Id: Ifa5afd2260b4705aa9f7b8771cc35b4cb3fc2363
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
3600c90d8cd4c048574e5ce27c9463c176db4943 24-Feb-2017 Dake Gu <dake@google.com> Merge "Suppress layout handling during animateOut()" into nyc-support-25.2-dev am: 06ce76214e am: e887776d2c
am: 25f055493f

Change-Id: Id34b275429dc0f84631fa244ca1ee0d950e41985
5c05fc026b77c6387917560f8dbbbd4bff13bbf9 23-Feb-2017 Dake Gu <dake@google.com> Suppress layout handling during animateOut()

When playing video, data change of rows will automatically
pulls row in. This CL suppresses layout when animateOut()
until a specific animateIn() is called.

Bug: 35399351
Test: testAnimateOutBlockLayout testAnimateOutBlockSmoothScroll
testAnimateOutBlockScrollTo
Change-Id: Ie91137687e96f0d48a674c410041b9412c8945d6
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
83f91e3fe2c3e265e8b1ef937ea5cfe9ed0e597c 23-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Added the default format and ordering of columns for TimePicker" into nyc-support-25.2-dev am: ab90877071 am: 9a09efcbee
am: 6a42c47d9d

Change-Id: I94c1b4f935c7b5c90d58f5e7aa4f7e624a64170a
6a6f2481fd4d80846a9527339a8fd2f29533f4d0 23-Feb-2017 Keyvan Amiri <keyvana@google.com> Added the default format and ordering of columns for TimePicker

TimePicker used 12 hour format by default, if not explcitly set by
the user. It now retrieves the 12 vs 24-hour mode from the context
based on the user preference.
Also used a more reliable method to find the ordering of AM/PM column
w.r.t the other fields for API 18 and above.

Test: See the ordering of AM/PM column for Korean which should come at
the beginning.

Change-Id: I8817c1db991877e74cb50d175ca94f3c2b6a3e04
upport/v17/leanback/widget/picker/TimePicker.java
9c6e3b7efd131555af309968f3043878e69446af 18-Feb-2017 Dake Gu <dake@google.com> resolve merge conflicts of d27354038a to master

Change-Id: I67d5c7af137b92a0cb7b1f6988e30529319d2784
b4eaf7c503a5cd93c46f1c9147bff92bcf2795fc 18-Feb-2017 Chris Craik <ccraik@google.com> Merge "Support nested prefetch in leanbacklib's gridviews" into nyc-support-25.2-dev am: dfd191344d am: 788a8ed795
am: 5997a1df80

Change-Id: I6b4d84ceca447d876428b334561f2a19fa168058
9869eb38607552105baa88a0fcba610461045eb5 16-Feb-2017 Dake Gu <dake@google.com> DetailsFragment: move navigation actions out of focusSearch

Move the showTitle and slideOut actions from focusSearch()
method to when focus actually changed.

Doing actions in focusSearch is generally a bad idea, wont work
with talkback which completely bypass the focusSearch() senario.
This is first step toward supporting talkback.

Refactored DetailsFragmentTest and added script to generate
DetailsSupportFragmentTest.
Added Test of navigation between video/rows/title using
requestFocus and DPAD.

Test: DetailsFragmentTest DetailsSupportFragmentTest
Bug: 35437018

Change-Id: I01f51c07675dc6858fbc1a83ea23921294fb48ac
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/BrowseFrameLayout.java
dfd191344d980025695f3c3e96f7097f33c19a29 17-Feb-2017 Chris Craik <ccraik@google.com> Merge "Support nested prefetch in leanbacklib's gridviews" into nyc-support-25.2-dev
dac5dcf32af1e67c9ee09991b600bbb55976a653 17-Feb-2017 Chris Craik <ccraik@google.com> Support nested prefetch in leanbacklib's gridviews

Fixes: 32981813
Bug: 35443218
Test: GridWidgetPrefetchTest passes

Includes minor workaround for attached, non-drawing RecyclerViews

Change-Id: Icf34bf8db941b4d03d23230d19676da03d5e990e
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
acb3523a1af65a3a3440d720d4712d187c1ae32b 17-Feb-2017 Dake Gu <dake@google.com> Merge "leanback: Fix BaseGridView.animateIn()" into nyc-support-25.2-dev am: a1ee39dad4 am: 549ba57e73
am: 51f0998eda

Change-Id: I78c374683300dcd8ca03774958ce18ebf05547b2
8e06d698aa47dfdea344d2529f2879489eb4610f 16-Feb-2017 Dake Gu <dake@google.com> leanback: Fix BaseGridView.animateIn()

We dont need animateIn() since layout manager will slide in
items when user refocus or scroll to the item.
What is nicer is that the refocus logic already handles the
half way slide back. It is wrong that animateIn() slides a
fixed distance.

Also added support for animateOut for HorizontalGridView.

Add missing implementation of smoothScrollToPosition()

Bug: 35399351
Test: testAnimateOutResetByScrollTo testAnimateOutResetByFocusChange
testHorizontalAnimateOutResetByScrollTo testHorizontalAnimateOutRtl

Change-Id: Ia24c10ecf812cc1609acfa529b226ad87bf8da3a
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
de39cf8662d98652c9a029dab83fccfb8fc0c773 15-Feb-2017 Dake Gu <dake@google.com> Merge "cleanup life cycle issue of PlaybackGlue in PlaybackFragment." into nyc-support-25.2-dev am: e1189fdd45 am: 262496792f
am: d898cf23cb

Change-Id: I0d537747709095f1c17ef230a074508cfcf3234e
f37579e64940bfdd642cc315f6347d60b5addd69 15-Feb-2017 Dake Gu <dake@google.com> cleanup life cycle issue of PlaybackGlue in PlaybackFragment.

onDetachedFromHost should be called in onDestroy. A PlaybackGlue
should survive onDestroyView for the case setRetainInstance(true).
When configuration change, we should not need recreate PlaybackGlue.
Add a VideoFragmentTest.

Refactoring Tests to use SingleFragmentTestBase and remove
lots of redundant test Activity classes and layout files.

Changed test mp4 to be h264 Baseline profile so it can play
on API 19.

Bug: 35364233
Test: added VideoFragmentTest VideoSupportFragmentTest

Change-Id: I93bd8cbf449ac0fea4b6b76d10dc611c538283e8
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/media/PlaybackGlue.java
f39758b427e3996bcc2b87538d045dbc27f65c40 14-Feb-2017 Dake Gu <dake@google.com> Merge "MeidaPlayerGlue: Fix unable to play music, ..." into nyc-support-25.2-dev am: 4a10797200 am: 63a56ea680
am: bd280d7339

Change-Id: I9e1f39e483c933406c59f86cb8a2d36b70afc0d7
3961cea270f51c29433a7eb21ec5f8c9ca7bd7d7 13-Feb-2017 Dake Gu <dake@google.com> MeidaPlayerGlue: Fix unable to play music, ...

... Playback state loss problem in Activity.onStop, and
leaking in enableProgressUpdate.

1. MediaPlayerGlue enableProgressUpdate() does not remove
previous Runnable, causing a leak.

2. MediaPlayerGlue.setMediaSource() does not call
prepareMediaForPlaying() and the prepare is relying on
SurfaceCreated being called. So it fails to play music.

3. onSurfaceDestroy/onSurfaceCreate should not reset player
which causing state loss in activity onStop().

Test: MediaPlayerGlueTest
Bug: 35318285 35246768 35319588

Change-Id: I254630c47199b813c13904787795ee8d4d896bd4
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/media/PlaybackControlGlue.java
0800a58729f5fdc6e399cbd299fbbc7442dbdb38 13-Feb-2017 Aurimas Liutikas <aurimas@google.com> resolve merge conflicts of 3be4cef3e4 to master

Change-Id: Ib5e4df4aba3637a51777ee167eed5bb9a8d99913
44ece5ceaaee232f9139ccbde40ac4a5e642bdee 12-Feb-2017 Christophe Beyls <software@digitalia.be> Fixed various it's -> its typos in comments and documentation

Test: None
Change-Id: I25617e1cfe26cdeacaa54040676a7abff475478e
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/media/PlaybackControlGlue.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/ViewsStateBundle.java
fb82bb8228e355585d4131d73e3a67b0a9c3b128 11-Feb-2017 Dake Gu <dake@google.com> Merge "Call onDetachedFromHost when closing PlaybackFragment" into nyc-support-25.2-dev am: a13aca9d17 am: 0aa1e534f3
am: 9e0b08fb9d

Change-Id: If87081aee503a524bcf7dd32da80ce45b26a73bf
a13aca9d17198c7cd10110bed8b00c6665442f00 11-Feb-2017 Dake Gu <dake@google.com> Merge "Call onDetachedFromHost when closing PlaybackFragment" into nyc-support-25.2-dev
5de710d1797653c540391f7cd8572d36012b28dc 11-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "TimePicker widget for Leanback" into nyc-support-25.2-dev am: b1917de2ef am: 335bc4ff5f
am: 6c233a41b1

Change-Id: I1d9bb32f9d10818ea47d1666e33088a66c640151
b1917de2ef088586d66986d641d6b1a196bda3d4 11-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "TimePicker widget for Leanback" into nyc-support-25.2-dev
d34f4eb6802453f26a0df113017bc5792fc19868 10-Feb-2017 Dake Gu <dake@google.com> Call onDetachedFromHost when closing PlaybackFragment

Fix our sample leaking MediaPlayer.

Bug 35246768
Test: PlaybackFragmentTest PlaybackGlueTest

Change-Id: I8ed0755e2ea2df3cb6b5e7a9e8d6bf9cd56495a1
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/media/PlaybackGlue.java
upport/v17/leanback/media/PlaybackGlueHost.java
38615b20560ddb3041bb399ebf70b1dbf92554e4 10-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Made unfocusable views in RecyclerView visible when using key navigation" into nyc-support-25.2-dev am: 55becad93e am: 9ebac94fa3
am: 72554bade3

Change-Id: Ic8cabe59b1b07feeb5b705bdf5eb23b52b5b7d8c
1d43a78a12bd32b07d299123f3e4f0df19c71f52 07-Feb-2017 Keyvan Amiri <keyvana@google.com> TimePicker widget for Leanback

A spinner type VerticalGridView based picker widget for displaying time
according to the current system locale. The picker can be customized to
work in 2 modes based on xml attribute: 24-hour and 12-hour mode.
In 12-hour mode, AM/PM will be displayed next to the selected time.

Bug: 33751452
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.widget.TimePickerTest

Change-Id: I220d9b7e0183c5938cf04d1c751179397ae554fa
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/PickerConstant.java
upport/v17/leanback/widget/picker/PickerUtility.java
upport/v17/leanback/widget/picker/TimePicker.java
9c0ad7d5adfbe51d85adcbc056b6183095d8aaed 29-Nov-2016 Keyvan Amiri <keyvana@google.com> Made unfocusable views in RecyclerView visible when using key navigation

This CL handles the new scrolling strategy for unfocusble views in 2
major scenarios:
1. When using DPAD navigation, the unfocusable views that went
out-of-bounds never became visible again. This was because RV relied on
requestChildFocus callback from framework, which wasn't triggered for
unfocusable items.
2. if the scrolling distance between two consecutive focusable items
was greater than a third of a page, the scrolling got stuck.
This change increases this distance to at least one full page.

All LayoutManagers' onFocusSearchFailed are reimplemented to handle the new
logic.

Fixes: 33117253
Test: ./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.LinearLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.GridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.StaggeredGridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.ViewBoundsCheckTest

Change-Id: I0c4dd4ab3ee51ff99f30e1a4de11bda6920dab43
upport/v17/leanback/widget/GridLayoutManager.java
0232fc4f79f077b132266642a24739754555aaa9 10-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Fixed visibility of inactive columns in Leanback Picker widget" into nyc-support-25.2-dev am: 330cb0338a am: ed6a211fd2
am: 74573cb2ed

Change-Id: I38e50f077fc6fe7c3f74ecc9b628af06473c763b
330cb0338aaa640c6bb0124b65ecc8377700143e 10-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Fixed visibility of inactive columns in Leanback Picker widget" into nyc-support-25.2-dev
080fbf6c232360b58a76ab85ba891506042a2ed4 09-Feb-2017 Dake Gu <dake@google.com> DetailsFragment: coordinate transition and PlaybackGlue am: 01f4dd4a9b am: 0ad23d2bd7
am: 9b0b6e25ae

Change-Id: I61c328f1b03356c5e0816465b0b7a17ed83df82d
7041ebbfa7b73695f5c8e831fa6f14233c95d9ef 09-Feb-2017 Keyvan Amiri <keyvana@google.com> Fixed visibility of inactive columns in Leanback Picker widget

When the picker widget is activated and the column size grows, the
picker items were not rebound. Thus the views that were cached by the
RecyclerView and just get laid out could hold an outdated alpha.
This is because views' alphas get updated in either during binding
or a focus change.
This for example created a problem when setting dates for an
inactive picker, and later activating it. The inactive columns
could still display unselected rows.

Bug: 35179122
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.widget.DatePickerTest#testInvisibleColumnsAlpha

Change-Id: Ib343f1a4ebcbb9e6a8caa81cc673a1026d873225
upport/v17/leanback/widget/picker/Picker.java
01f4dd4a9bc3b80d3ddecc0264facbf6abfc1cc3 07-Feb-2017 Dake Gu <dake@google.com> DetailsFragment: coordinate transition and PlaybackGlue

1. Exclude SurfaceView from transition because
it's quite a big hit on performance and unknown consequence
if we force the color format to be RGBA8888.
Disabled setTransitionVisibility() which causes
visual flickering even view is not running
transition. We will see the SurfaceView disappears
immediately after activity return transition is finished.

2. DetailsFragment will postpone setHost on PlaybackGlue until
all three conditions satisfied:
- onStart() is called
- activity enter transition is finished
- entrance transition is finished
It is tricky to query if enter transition will run. We did
this by checking if there is enter transition started after
200ms of data loading.

3. When DetailsFragment execute return transition:
- call DetailsBackgroundVideoHelper.disableParallax()
to avoid auto-play video when detailsFrame is
running a slide transition to bottom.
- if video is not playing: immediately remove VideoFragment
so we wont see a dark SurfaceView during return transition.
- if video is playing: Let the Video continue playing when
running return transition. (Because it's much better to
pops out VideoFragment at end than in the middle of running
transition).

4. removed 1 sec CROSSFADE_DELAY between play() and fade out
background drawable, this seems unnecessary after we have
the onPlaybackReady() callback.

Bug: 32987665
Test: leanback tests (and there is no way to test activity transition
in ActivityTestRule)

Change-Id: I2ecee0276aa6ffc7963b92cd2104bb1ca62b01cd
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/widget/VideoSurfaceView.java
59cf2273a0e710d86020aa60ac69e985a63c4315 08-Feb-2017 Keyvan Amiri <keyvana@google.com> Fixed focus transfer for GridLayoutManager and Leanback picker widgets am: b0818cc234 am: 3a433fd50f
am: c63014a86c

Change-Id: Ia2eda1b1455b5c188f87d910a39e0afd84a8a510
fe51566cb2c0f37eab9001e39eec6adce57ddd74 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Made unfocusable views in RecyclerView visible when using key navigation" am: 613079c6ec am: 56041a79eb
am: 413850ea47

Change-Id: I4edc12f52ba0c0dcab02ccd945eddb87dae7ddde
b0818cc234e9df4312732f95fd6849922bfa0fa1 30-Jan-2017 Keyvan Amiri <keyvana@google.com> Fixed focus transfer for GridLayoutManager and Leanback picker widgets

GridLayoutManager continued focus search even if the parent blocked the
focus delivery to its children. Also, Picker widget did not have the
right focus logic for the containing view and its child text views in
activated/deactivated modes. This CL fixed these 2 issues.

Bug: 34814581
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.widget.DatePickerTest
./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.app.wizard.GuidedDatePickerTest

Change-Id: I90d4b9f870ae3f16c4591fd0b1e085a568ca4c7d
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/picker/Picker.java
56041a79eb0f2217fd7edf5a57d8ce8e04a690cd 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Made unfocusable views in RecyclerView visible when using key navigation"
am: 613079c6ec

Change-Id: Ibbd1b0098e2d209e30475c4d956b6fc50f60f5b9
ab6fca26c2a12abd8aea629660021c108618ebbe 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Merge "Revert "Made unfocusable views in RecyclerView visible when using key navigation"" into nyc-support-25.2-dev
b804ed74c4594ea647822db5b90ca6af389fe657 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Fixed focus transfer for GridLayoutManager and Leanback picker widgets" am: 4346be85d3 am: e0953a9262
am: 4b62f934d1

Change-Id: I7b0791c3685700f4af8febfd138619a358f6bbba
e0953a926299be69247aac67c50089f89bce30c1 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Fixed focus transfer for GridLayoutManager and Leanback picker widgets"
am: 4346be85d3

Change-Id: I8bd5c6d1255bf67969a7a97bac55e54573bb8670
613079c6ece985c910852456fbff5dc9532df646 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Made unfocusable views in RecyclerView visible when using key navigation"

ag/1865310 caused tests to start flaking.

This reverts commit 530bca4dc2f96336c1169d993384b7884238d71e.

Bug: 33117253
Change-Id: I0b7522f1abc6d9574e98bc6062a407d3418c37d0
upport/v17/leanback/widget/GridLayoutManager.java
004e15ce37409d77fb5b5beaf1766850be2695ac 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Merge "Revert "Fixed focus transfer for GridLayoutManager and Leanback picker widgets"" into nyc-support-25.2-dev
4346be85d3250c5c7b6498445c01c2f1fea7b49a 08-Feb-2017 Aurimas Liutikas <aurimas@google.com> Revert "Fixed focus transfer for GridLayoutManager and Leanback picker widgets"

ag/1864147 breaks tests.

This reverts commit a2b8c1ba43e061620043eee7a4749b7f2e364570.

Bug: 34814581
Change-Id: I2cae846e33529975e93d31e709270fd8e0803f1e
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/picker/Picker.java
60861380527324c294eb3bde83832b682672d2f5 07-Feb-2017 Dake Gu <dake@google.com> Leanback: fix late selection of BaseRowsFragment am: 514b6d101c am: ffda6b9b6f
am: 4fae16d02c

Change-Id: I42a82acc75b87f5ce41a01c1458a1ac7fbe36764
98f91cfb42ba7a6ac215556944270252e99631c9 07-Feb-2017 Keyvan Amiri <keyvana@google.com> Fixed focus transfer for GridLayoutManager and Leanback picker widgets am: a2b8c1ba43 am: 31416ae350
am: f5492dc4c8

Change-Id: I9b4c805663a5e86256182696f9cb9d35ae9d65ba
ffda6b9b6f0c3c85dab93b98041e2c72015b369c 06-Feb-2017 Dake Gu <dake@google.com> Leanback: fix late selection of BaseRowsFragment
am: 514b6d101c

Change-Id: Ia95b90191895c94e6dcb841b05eeab20dc709504
473c3eeeab47696c5a8563a934a33dd4425a01ad 06-Feb-2017 Dake Gu <dake@google.com> Merge "Leanback: fix late selection of BaseRowsFragment" into nyc-support-25.2-dev
31416ae350a91cef9e382bb9e51a1bbf92b1f6a8 06-Feb-2017 Keyvan Amiri <keyvana@google.com> Fixed focus transfer for GridLayoutManager and Leanback picker widgets
am: a2b8c1ba43

Change-Id: Ied1bc430b273f17c9b9fe86a4ba200c7bcfafd76
182466f9292cfb12c3810733c2b43f7f40ecbf8a 06-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Fixed focus transfer for GridLayoutManager and Leanback picker widgets" into nyc-support-25.2-dev
514b6d101c6b7d4b7151cf8789424bde66fab511 06-Feb-2017 Dake Gu <dake@google.com> Leanback: fix late selection of BaseRowsFragment

If view was layout before adapter gets data, mSelectedPosition
will be overwritten by onChildViewHolderSelected() event with -1.
The test was only failing on 4.4 and 5.0 because those platform
seems has extra layout pass at beginning. Added manual
requestLayout to test the situation.

Bug: 34777164
Test: RowsFragmentTest RowsSupportFragmentTest

Change-Id: I7e2c78a32a1074586024c52f4a67427393a550e6
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
a2b8c1ba43e061620043eee7a4749b7f2e364570 30-Jan-2017 Keyvan Amiri <keyvana@google.com> Fixed focus transfer for GridLayoutManager and Leanback picker widgets

GridLayoutManager continued focus search even if the parent blocked the
focus delivery to its children. Also, Picker widget did not have the
right focus logic for the containing view and its child text views in
activated/deactivated modes. This CL fixed these 2 issues.

Bug: 34814581
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.widget.DatePickerTest
Change-Id: Id9d186a5363bed37d0df2e98940bea14aa70ad60
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/picker/Picker.java
4e5c2c53d0e9a686bacd584813d4d88707acac27 06-Feb-2017 Keyvan Amiri <keyvana@google.com> Made unfocusable views in RecyclerView visible when using key navigation
am: 530bca4dc2

Change-Id: Ib3030e93c3557c9460303752e67e3660e32c4b36
860182f510b5c568420c16459b1a1863f1b52454 06-Feb-2017 Keyvan Amiri <keyvana@google.com> Merge "Made unfocusable views in RecyclerView visible when using key navigation" into nyc-support-25.2-dev
72074ef20ed29a8932fc4d9e60fcaf8e119076ea 06-Feb-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs. am: 377357a8c2 am: 66661646cd am: ffdc985523
am: f561ce7830

Change-Id: I05aea32153b56dc1799c8ccd7fca42f9053c2dc7
66661646cdd05821e19a1ed470a351cb86fba12a 06-Feb-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs.
am: 377357a8c2

Change-Id: Ic6047fb6dd05e4eaad24e72ae973be353496af25
530bca4dc2f96336c1169d993384b7884238d71e 29-Nov-2016 Keyvan Amiri <keyvana@google.com> Made unfocusable views in RecyclerView visible when using key navigation

This CL handles the new scrolling strategy for unfocusble views in 2
major scenarios:
1. When using DPAD navigation, the unfocusable views that went
out-of-bounds never became visible again. This was because RV relied on
requestChildFocus callback from framework, which wasn't triggered for
unfocusable items.
2. if the scrolling distance between two consecutive focusable items
was greater than a third of a page, the scrolling got stuck.
This change increases this distance to at least one full page.

All LayoutManagers' onFocusSearchFailed are reimplemented to handle the new
logic.

Fixes: 33117253
Test: ./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.LinearLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.GridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.StaggeredGridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.ViewBoundsCheckTest

Change-Id: I1d1fb0fa5e3d274840a1907e604749c6a1dbd447
upport/v17/leanback/widget/GridLayoutManager.java
8f25dd858240e8b86dffc4c1af54307bb462052a 29-Nov-2016 Keyvan Amiri <keyvana@google.com> Made unfocusable views in RecyclerView visible when using key navigation

This CL handles the new scrolling strategy for unfocusble views in 2
major scenarios:
1. When using DPAD navigation, the unfocusable views that went
out-of-bounds never became visible again. This was because RV relied on
requestChildFocus callback from framework, which wasn't triggered for
unfocusable items.
2. if the scrolling distance between two consecutive focusable items
was greater than a third of a page, the scrolling got stuck.
This change increases this distance to at least one full page.

All LayoutManagers' onFocusSearchFailed are reimplemented to handle the new
logic.

Fixes: 33117253
Test: ./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.LinearLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.GridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.StaggeredGridLayoutManagerTest
./gradlew support-recyclerview-v7:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v7.widget.ViewBoundsCheckTest

Change-Id: I1d1fb0fa5e3d274840a1907e604749c6a1dbd447
upport/v17/leanback/widget/GridLayoutManager.java
d1f8db58a3100b6a6e9238425033d5a75fb7fbca 02-Feb-2017 Dake Gu <dake@google.com> resolve merge conflicts of 60b5f34d83 to master

Change-Id: I1ff2ef4837844005acba12869bfbb3fff1975ce0
19c341d9d00f3ca713d9e72d7942ff0e25a47e0c 02-Feb-2017 Dake Gu <dake@google.com> Add option to allow customize HeadersFragment
am: 50cf9ada93

Change-Id: Ie4959ecb9b551ee87c8688dd7b45aded253ecd48
7ef820722f902c6ab3d2a65a42b7090d8a5552a7 02-Feb-2017 Dake Gu <dake@google.com> Merge "Add option to allow customize HeadersFragment" into nyc-support-25.2-dev
50cf9ada93e50e906f20f5edf595234ada196d45 28-Jan-2017 Dake Gu <dake@google.com> Add option to allow customize HeadersFragment

To support enable/disable focus scale of HeadersFragment,
Refactored BaseRowFragment and Presenter to allow retaining
the same ItemBridgeAdapter when wrapped Adapter changes or
Presenter changes. So user can set up FocusHighlight
on the ItemBridgeAdapter without worrying it was overwritten
when recreating the ItemBridgeAdapter.
Added BrowseFragment.onCreateHeadersFragment() for user to
override HeadersFragment.

Added more test in RowsFragmentTest, Added HeadersFragmentTest.

Bug: 34777164
Test: RowsFragmentTest RowsSupportFragmentTest
HeadersFragmentTest HeadersSupportFragmentTest

Change-Id: Id3fbc9cb0b5b0a3c637d9bc789bb1104fbaa21f3
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
51ddbc55b0bd52e6e9f1848ab4e680e383f0b0f3 01-Feb-2017 Dake Gu <dake@google.com> leanback: expose SearchFragment.getRowsFragment() am: 1888d79550
am: 5eecdb98d6

Change-Id: I16c4583cf3d26148dc1286582305eef980048d08
377357a8c26c8c54ba8cb876ae775265635a8448 24-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in support docs.

Change-Id: I7acb3d14dee5227ac4d87710453f018c9d0f1b9d
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/picker/PickerColumn.java
1888d795506c51d5b779a88a6bf0008401014e36 30-Jan-2017 Dake Gu <dake@google.com> leanback: expose SearchFragment.getRowsFragment()

Bug 34808344
Test: N/A

Change-Id: I63ce8357a7289d2e55d2944681bc95789056655f
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
28f32a294cf077dd4c681f24581b3eec902ec633 30-Jan-2017 Dake Gu <dake@google.com> Leanback: parallax and details video API refactoring
am: e1cde4d4ac

Change-Id: I9f1111e1e895087430cede7607aebf488c159b0e
f3ecc26dc721487179ea927094c9c0083c42eeff 30-Jan-2017 Dake Gu <dake@google.com> Merge "Leanback: parallax and details video API refactoring" into nyc-support-25.2-dev
e1cde4d4ac42a6e9e16aad2b4df970c7c7d0771c 21-Dec-2016 Dake Gu <dake@google.com> Leanback: parallax and details video API refactoring

There are too many new concpets introduced when we create
multiple building blocks around parallax. This CL tries to
get rid of some classes.

1. Remove class ParallaxSource, integrated into Parallax.
So there is no more setSource()/getSource().

2. Replace DetailsParallaxManager with DetailsParallax. It is no
longer a manager pattern but DetailsParallax is a direct
subclass of Parallax.

3. Replace DetailsBackgroundParallaxHelper with
DetailsParallaxDrawable which is a direct subclass of
CompositeDrawble. No more helper concept.

4. remove the glue creation API from DetailsFragment, those
are not necessary and app can do it on the side.

The summary of new classes:
1. Parallax, tracks multiple UI events and perform multiple
ParallaxEffects on ParallaxTargets. RecyclerViewParallax is a
subclass of Parallax that monitors RecyclerView child positions.

2. DetailsParallax is a subclass of RecyclerViewParallax,
DetailsFragment holds the DetailsParallax object and is responsible
to attach it to VerticalGridView and sync with Transition animation.
DetailsParallax is shared by both background bitmap and video.

3. Created a DetailsFragmentBackgroundController class responsible
for parallax background and embedded video playing.

Bug: 33750080
Bug: 33751156
Test: all existing leanback tests

Change-Id: Iec81a444d5d4fbeb675f16222b09b407acf007a2
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsBackgroundVideoHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentBackgroundController.java
upport/v17/leanback/app/DetailsFragmentVideoHelper.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragmentBackgroundController.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
upport/v17/leanback/transition/ParallaxTransition.java
upport/v17/leanback/widget/DetailsParallax.java
upport/v17/leanback/widget/DetailsParallaxDrawable.java
upport/v17/leanback/widget/Parallax.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
upport/v17/leanback/widget/ParallaxSource.java
upport/v17/leanback/widget/ParallaxTarget.java
upport/v17/leanback/widget/RecyclerViewParallax.java
644fbaef953b506f8c10bea17c240fb376eb411c 27-Jan-2017 Chris Craik <ccraik@google.com> Initial prefetch support for leanback's GridLayoutManager
am: cf2ed161d0

Change-Id: I5ef95abbd2ff063515c088f935ba3384537a6412
cf2ed161d09de8af108dfa9775b2d4449d46306a 25-Jan-2017 Chris Craik <ccraik@google.com> Initial prefetch support for leanback's GridLayoutManager

Bug: 32981813
Test: new tests passing

Prefetch 1 row/column, without nested support yet.

Change-Id: I7bd467e5176791d68002c98d663ee637b5e0d3d9
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/SingleRow.java
ec167bc9a53f77bea267491ab8c11c3dcf4aa746 19-Jan-2017 Dake Gu <dake@google.com> leanback: Support single RowHeaderView with no id case am: 33c8bbc497
am: 3a477d211a

Change-Id: Id3ef3c977e65473b8372909ff1454af8c6858a5f
3a477d211aa2c5a8585f281a0a2f028a4b128e62 19-Jan-2017 Dake Gu <dake@google.com> leanback: Support single RowHeaderView with no id case
am: 33c8bbc497

Change-Id: I0ee85df047aee34b91ead8523a291099d6eef1bd
2fb5cd6986b0f8b06a8cf7d9786a9ddc513607c2 18-Jan-2017 Dake Gu <dake@google.com> Leanback: unhide PlaybackFragment select listener
am: e7176d7875

Change-Id: Ic307236d49cbcc7d588d561efe0e0da115dbd4a1
1fbee09925eddc21b01204f4673713fafa73f313 18-Jan-2017 Dake Gu <dake@google.com> Merge "Leanback: unhide PlaybackFragment select listener" into nyc-support-25.2-dev
33c8bbc49708facb096e30a98b82a743c898bdd3 18-Jan-2017 Dake Gu <dake@google.com> leanback: Support single RowHeaderView with no id case

This fixes testcase when the view does not have id.
In next release we should explicitly specify the id in java doc.

Bug 34282002
Test: leanback tests
Change-Id: I82d21982cf88692c437b12abad891fcad4639fa6
upport/v17/leanback/widget/RowHeaderPresenter.java
7b0f25f8662a0922ef6a0ba2a3ef469463c76ecc 14-Jan-2017 Dake Gu <dake@google.com> resolve merge conflicts of 2452cde3b8 to master

Change-Id: I6bb5bbda882fa55a49ea894ec1d2247f99e30257
2452cde3b8d7cbe62f6eb2fbcbcf9a02448d6891 13-Jan-2017 Dake Gu <dake@google.com> Switch from getActivity() to getContext()

In case we host the fragment outside activity.

Bug: 34276716
Test: leanback unit tests and SupportLeanbackDemo app

Change-Id: Ic8e16c038a8590c3359533d00b41f80dca917092
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/FragmentUtil.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoSupportFragment.java
e7176d78750894c5792fa815a9977fe8a4b05959 09-Jan-2017 Dake Gu <dake@google.com> Leanback: unhide PlaybackFragment select listener

Bug: N/A
Test: N/A
Change-Id: I4324b581b567767b3ece5de0de250eeb447f54e8
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
1280c97a74d8f7ffce277030916541af96090f3f 06-Jan-2017 Dake Gu <dake@google.com> Fix ListRowDataAdapter notifyItemRemoved
am: 09cc61cbcf

Change-Id: Ib1d4f4b1151ac993423b667bd82ce7fba8a08279
09cc61cbcf87063fb5f540a1f2e6c52773ca2cb2 06-Jan-2017 Dake Gu <dake@google.com> Fix ListRowDataAdapter notifyItemRemoved

Bug: 34114032
Test: itemRangeChangeRemove
Change-Id: If9f2a7ef4d65486a5c45bc757a24c0129b3dfb11
upport/v17/leanback/app/ListRowDataAdapter.java
ea4a7d47b3295423826ca9dfa41440b495360e48 06-Jan-2017 Dake Gu <dake@google.com> BrowseFragment: fix ListRowDataAdapter ArrayIndexOutofBound
am: 5d19666305

Change-Id: I79fe0984d24651a0a3417b089d694e8a7b03adfe
5d196663056735d8f1453ed3aeab75e8d922a159 06-Jan-2017 Dake Gu <dake@google.com> BrowseFragment: fix ListRowDataAdapter ArrayIndexOutofBound

When it re-calculate the last visible Row, it should
handle the case of visible row does not exist.

Bug: 34070375
Test: ListRowDataAdapterTest
Change-Id: I3d04d4eab3e9975c7c3527e2010f0879856e1b6d
upport/v17/leanback/app/ListRowDataAdapter.java
ff6dae3b13293d8c2aecd1765b42413d68730cc3 04-Jan-2017 Dake Gu <dake@google.com> RowsFragment: use default alignment if setAlignment() not called am: 5083c1eeb9
am: fa32b49111

Change-Id: I89bebe8d300d4705d5316b2acbbc4de28257f4bd
5083c1eeb9cea04354f7ad4cea84a6d27ce985dd 03-Jan-2017 Dake Gu <dake@google.com> RowsFragment: use default alignment if setAlignment() not called

Some apps expects default alignment, a regression in support lib
25 will make RowsFragment rows to align to top of screen by default.

Bug 33279341
Test RowsFragmentTest RowsSupportFragmentTest

Change-Id: I2a8c78ac1c40fe6c0b12b624ab99bb6ced06a8ee
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
1e0d6ff0ff4d23aefa73594440a84d5354ec9bc2 29-Dec-2016 Dake Gu <dake@google.com> DetailsFragment: fix regression of missing title View am: 5bcc058bb1
am: d980edc50d

Change-Id: I8e7f2c3043bc862c4b95c9926fed8ac73a126ed1
5bcc058bb1aed2e88b38009e83084554cf2cd86b 29-Dec-2016 Dake Gu <dake@google.com> DetailsFragment: fix regression of missing title View

When title view and VideoFragment both exist, title view becomes
display only. When there is no VideoFragment, user can focus
to title view and do search, that is backward compatible with
behavior in 25.0.0

Bug: 33839988
Test: SupportLeanbackDemos DetailsFragmentTest

Change-Id: I52156993914a427d52b658ea10cd815632ca4fe3
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
138a3b4073591eaa0c31489f869f873bd30646d1 29-Dec-2016 Keyvan Amiri <keyvana@google.com> Added missing selected listener to the new playback fragments am: 4c9758b250
am: fd7600e1c3

Change-Id: Ie87d4d660ad56d651599684f8e118172df87d0df
4c9758b25091b36c0fd55bf422188e5ac9314da4 22-Dec-2016 Keyvan Amiri <keyvana@google.com> Added missing selected listener to the new playback fragments

BaseOnItemViewSelectedListeners were missing from the new
PlaybackFragment and PlaybackSupportFragment. This listener is invoked
once the focus changes across different items of a PlaybackControlsRow or
external rows of a playback fragment.
Also created test suites for both PlaybackFragment and
PlaybackSupportFragment with selected and clicked listener tests.

Fixes: 33779048
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.app.PlaybackFragmentTest
./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.app.PlaybackSupportFragmentTest

Change-Id: Ia6ee8e14b19f7ff81d8c1cfb87d8e3fca84f963c
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
ed918ff3eeb361dd61e22e4e2e707ced7a94833a 16-Dec-2016 Dake Gu <dake@google.com> GuidedStepFragment: continue fix subActions am: 0cbb8adab5
am: 45c6400076

Change-Id: I1044f43e5eb18b64b5b1eb1b8f4213b12158da3a
0cbb8adab5ffa9ea87a070ff7b0de5bf3d84756f 16-Dec-2016 Dake Gu <dake@google.com> GuidedStepFragment: continue fix subActions

Last CL didn't consider both subActions Adapter
and actions Adapter share the same GuidedActionStylelist.
When we call setActions on subActions, we shouldn't
collapse subActions.

Bug: 32858270
Test: GuidedStepFragmentTest on API 19 and O/master

Change-Id: Ib6e2a0eafd32c8fb8be6bac5b86bdfa36d9976df
upport/v17/leanback/widget/GuidedActionAdapter.java
f3f1bb8b3c8051b74ffab1d71245e9091b3ab25e 16-Dec-2016 Dake Gu <dake@google.com> GuidedStepFragment: fix replacing actions when subActions expanded am: a51a405279
am: fe4b61187c

Change-Id: I809894051bfb622346cced88578cb88c701fcdcb
a51a405279fb81135abbb7c25ba431842582c8c8 15-Dec-2016 Dake Gu <dake@google.com> GuidedStepFragment: fix replacing actions when subActions expanded

Bug: 32858270
Test: GuidedStepFragmentTest#setActionsWhenSubActionsExpanded
Change-Id: I98ad2b08ec9199751b93727e6438c9081860f9a1
upport/v17/leanback/widget/GuidedActionAdapter.java
d0d6a4830381add2ec45edded1008dd03482b460 15-Dec-2016 Keyvan Amiri <keyvana@google.com> Fixed playback row callback not notified in updateRowMetaData am: 8f2df00092
am: e1959588e3

Change-Id: I5f39bdd7138c5ce783a4c7e4e29b9cc2af582bc9
8f2df00092bacbb31c883023b242bc5738bea36f 14-Dec-2016 Keyvan Amiri <keyvana@google.com> Fixed playback row callback not notified in updateRowMetaData

onRowChanged callback was originally called from updateRowMetaData() in
PlaybackControlGlue. After switching to the new host, this callback was
not triggered if developers didn't use the new glue host.
This resulted in the playback row UI not being updated (e.g.
progress bar missing, no updates to media title).
Now triggered onRowChanged callback for PlaybackGlueHostOld and
PlaybackSupportGlueHostOld.
Also, updated the demo app to simulate preparing a media item and
checking whether the UI is propery updated.

Change-Id: I55b14b88a2d8e9c68af34b775c4eb7a93ee84da6
Fixes: 33559090
Test: ./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.app.PlaybackControlGlueTest#testOnRowChangedCallback
./gradlew support-leanback-v17:connectedCheck
-Pandroid.testInstrumentationRunnerArguments.class=android.support.v17.leanback.app.PlaybackControlSupportGlueTest#testOnRowChangedCallback
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
192a6630d56f5b7b41929f894dfce489339259df 12-Dec-2016 Dake Gu <dake@google.com> leanback: make description view GONE for empty text am: 16cb98dc4b
am: 916aec98ab

Change-Id: I4a414b590e2214354bf39c056326ea036e2c4239
16cb98dc4b7af5eae092a25446a0aa5133f1f5eb 09-Dec-2016 Dake Gu <dake@google.com> leanback: make description view GONE for empty text

Bug: 33484449
Test: testRowHeaderPresenter
Change-Id: I352c13b9085d6ea3cc040ce313b18d26fe6ff1c7
upport/v17/leanback/widget/RowHeaderPresenter.java
ccbf5928973bedf3a1ac50ddb7dea8b9588e92bb 08-Dec-2016 Dake Gu <dake@google.com> Fix PlaybackOverlayFragment sample not work.
am: ef05d5494f

Change-Id: Ifc4003000f810b1726ae5cffc92d548d13b2f9e4
ef05d5494fac2cc80f95d2627e1ec31615de360d 07-Dec-2016 Dake Gu <dake@google.com> Fix PlaybackOverlayFragment sample not work.

Restore the old PlaybackControlGlue code that bypass onItemViewClicked
if action is proceeded. This isn't a problem for new PlaybackControlGlue
which doesn't expose onItemViewClicked event.

Also add missing call to onCreateSecondaryActions.

Restore sample code for PlaybackOverlayFragment.

Bug: 33415386
Test: PlaybackControlGlueTest

Change-Id: Ic3747aee2adca0f056f610fb35261ef005f65fe1
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/PlaybackFragmentGlueHost.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/media/PlaybackControlGlue.java
e22ae93397361d1bd5568fa51d82e2f7553712e1 08-Dec-2016 Alan Viverette <alanv@google.com> Remove unnecessary @TargetApi annotations

Bug: 33412815
Test: ./gradlew assemble
Change-Id: I0be3358fb97d6e637357c253f3f43f39355a643a
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/transition/ParallaxTransition.java
62ff5d95c37aa76ab28449ae2f099b5370073727 07-Dec-2016 Alan Viverette <alanv@google.com> Perform API backwards compatibility check as part of support checkApi

Works around Doclava API check limitations in Snackbar and v17 classes.
Removes @removed code. Restores GuidedActionsStylelist API that was
removed without prior deprecation. Adds 26.0.0 to work around
non-binary-compatible changes that have been OK'ed by API Council.

Bug: 30434567
Test: ./gradlew checkApi
Change-Id: I58c8a869f4e620d2aca8765a73105c95c185c791
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/widget/GuidedActionsStylist.java
828c29b2f6aadc7710cc4f1d265345f06bb5d336 03-Dec-2016 Dake Gu <dake@google.com> leanback API review: hide methods in PlaybackFragment
am: 793d036863

Change-Id: I0674df6016ec2ff17aede0edfff2855c3af2c7d9
0d8a0661044d0595a6d4c868df8a77ec73f7a000 03-Dec-2016 Dake Gu <dake@google.com> API review: move PlaybackGlue classes into media package
am: 95ac470f2b

Change-Id: I2142802e1ebeec63750f13919a5da67a19578c3b
793d03686352d708fae86bb69d3c72d4df0a4329 02-Dec-2016 Dake Gu <dake@google.com> leanback API review: hide methods in PlaybackFragment

Hide all unused methods.

Test: None
Bug: 33245024

Change-Id: Ia2f9ff1381bcca75786de7680859437da811b932
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
95ac470f2bbea06114a64906d95c0da7d9412db0 29-Nov-2016 Dake Gu <dake@google.com> API review: move PlaybackGlue classes into media package

Move PlaybackGlue, PlaybackControlGlue to new media package.
Move inner class PlaybackGlueHost to top level.

keep/deprecate old class PlaybackControlGlue, and make it
extends from the new media.PlaybackControlGlue class.

Renamed HostLifeCycleCallback to HostCallback.

Refactoring method name of media.PlaybackControlGlue:
createControlsRowAndPresenter -> onCreateControlsRowAndPresenter
createPrimaryActions -> onCreatePrimaryActions
added onCreateSecondaryActions.
The old methods still exist the app.PlaybackControlGlue.

Lots of javadocs.

Bug: 33002776
Test: PlaybackOverlayFragmentTest, SupportLeanbackDemos

Change-Id: Ic8fa29dd2191222977f663773d3cde038345109a
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentVideoHelper.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/MediaControllerGlue.java
upport/v17/leanback/app/MediaPlayerGlue.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackFragmentGlueHost.java
upport/v17/leanback/app/PlaybackGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/app/SurfaceHolderGlueHost.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
upport/v17/leanback/media/MediaControllerGlue.java
upport/v17/leanback/media/MediaPlayerGlue.java
upport/v17/leanback/media/PlaybackControlGlue.java
upport/v17/leanback/media/PlaybackGlue.java
upport/v17/leanback/media/PlaybackGlueHost.java
upport/v17/leanback/media/SurfaceHolderGlueHost.java
b441a88e99f734a6d6699972c963080548bcf4ea 30-Nov-2016 susnata <susnata@google.com> Fix for unexpected IllegalArgumentException in ListRowDataAdapter.
am: 1a7f5e94fb

Change-Id: Ie44472e5e3967a4a0d02212ff93854978bfc3ece
1a7f5e94fb0f7183151be193ff0106ea19b65749 30-Nov-2016 susnata <susnata@google.com> Fix for unexpected IllegalArgumentException in ListRowDataAdapter.

Bug: 32423612
Test: None
Change-Id: Ibfc4bd5d7f2b6e226eacd4c2c7ed0e28454871be
upport/v17/leanback/app/ListRowDataAdapter.java
b80a0e089f199454727a2061f56e816407e92a5c 29-Nov-2016 Dake Gu <dake@google.com> leanback: hide BoundsRule
am: bc97de4b58

Change-Id: I65c1b163040752340370cbf812508a722f7ccc08
bc97de4b587ef0a53a88400c346ac959b4746702 29-Nov-2016 Dake Gu <dake@google.com> leanback: hide BoundsRule

Fix build.

Change-Id: I7d4aaa3155b5e6979a62eb687714821a3d780ab3
upport/v17/leanback/graphics/BoundsRule.java
055b24afc59927f0b6c2776ea9e11d76c7557b5f 29-Nov-2016 Dake Gu <dake@google.com> leanback: hide embedded video, parallax, CompositeDrawable
am: fe4317c9f0

Change-Id: I77405b36e88bd33320fdd867c8ec27cd6eaa87f3
fe4317c9f0492c67e2ee48e3d135f649f5f1fc5c 29-Nov-2016 Dake Gu <dake@google.com> leanback: hide embedded video, parallax, CompositeDrawable

Hide the new classes/methods before finalizing APIs.

Change-Id: I3b6660a60457821f9e5e7aa40b5e98f16fb0baff
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentVideoHelper.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
upport/v17/leanback/widget/Parallax.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
upport/v17/leanback/widget/ParallaxSource.java
upport/v17/leanback/widget/ParallaxTarget.java
a02828c9746e2f84d1f1ddba12048063098b80aa 17-Nov-2016 susnata <susnata@google.com> Adding support for app icon in OnboardingFragment.

Also, allowing developers to customize default enter animations.

Change-Id: Ifdd9a1132eab0888e3abc6861a0579f3d370ae15
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
77d397d533d04dfec663939692f2e048a072ee5b 23-Nov-2016 Alan Viverette <alanv@google.com> Perform API backwards compatibility check as part of support checkApi

Works around Doclava API check limitations in Snackbar and v17 classes.
Removes @removed code. Restores GuidedActionsStylelist API that was
removed without prior deprecation.

Bug: 30434567
Change-Id: I58c8a869f4e620d2aca8765a73105c95c185c791
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/widget/GuidedActionsStylist.java
00834368f8f1ad9bae181b5b34ff65ac572dae2e 21-Nov-2016 Aurimas Liutikas <aurimas@google.com> resolve merge conflicts of 8e10080 to master

Change-Id: I48e02631e7622097e9c556602485a7cdf96dcf21
5f39e7d6ab66782c180079750130d0aadedde424 21-Nov-2016 Aurimas Liutikas <aurimas@google.com> Merge "Move from GROUP_ID to LIBRARY_GROUP annotations" into nyc-support-25.1-dev
8e10080c914d1ad0784394fa3026b85535535847 18-Nov-2016 Aurimas Liutikas <aurimas@google.com> Move from GROUP_ID to LIBRARY_GROUP annotations

- GROUP_ID was deprecated in favor of LIBRARY_GROUP.
- Fix import order in touched files.

Test: ./gradlew assemble assembleAndroidTest
Change-Id: I2a774e93215090f42262fb86cf8e841f2a546a4f
upport/v17/leanback/animation/LogAccelerateInterpolator.java
upport/v17/leanback/animation/LogDecelerateInterpolator.java
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/PermissionHelper.java
upport/v17/leanback/system/Settings.java
upport/v17/leanback/transition/LeanbackTransitionHelper.java
upport/v17/leanback/transition/ParallaxTransition.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/util/StateMachine.java
upport/v17/leanback/widget/BackgroundHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseRowsFrameLayout.java
upport/v17/leanback/widget/DividerPresenter.java
upport/v17/leanback/widget/FocusHighlightHandler.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionItemContainer.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/InvisibleRowPresenter.java
upport/v17/leanback/widget/MediaNowPlayingView.java
upport/v17/leanback/widget/PagingIndicator.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/ScaleFrameLayout.java
upport/v17/leanback/widget/Util.java
upport/v17/leanback/widget/picker/DatePicker.java
95fb34acb44350da0ebd18689c302a67ffb32926 17-Nov-2016 Dake Gu <dake@google.com> Dont set windowBackground to null

If windowBackground is null, during activity transition
we might see ghost b/32952142

Test: SupportLeanbackDemos
Change-Id: I5d910ae04c54b0eec73fc190693e2056910bc10d
upport/v17/leanback/app/BackgroundManager.java
34b46f02a89224481777e7de93d6e22e45e41e96 08-Nov-2016 Dake Gu <dake@google.com> Support parallax in transition and fix alpha performance

Add ParallaxTransition class to perform ParallaxSource.updateValues()
on every frame. DetailsFragment sets ParallaxSource as a View tag during
setup.

Changed details parallax effect to reduce overdraw, now bitmap's bottom is
matching top of details_frame, solid_color's top is matching bottom of
details_frame. Their bounds will change during enter/exit transition.

Switch details_background_view to non overlapping rendering view to avoid
creating expensive layers in alpha animation.

Bug: none
Test: DetailsFragmentTest and visually inspect SupportLeanbackDemos

Change-Id: Iaac20e6c733a0e42e5f8eeef2b912b0e26e2f606
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/transition/ParallaxTransition.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
upport/v17/leanback/widget/ParallaxSource.java
b21aa0b72a6800f694a3b2ba513a187deb28f252 16-Nov-2016 Dake Gu <dake@google.com> Fix BrowseFragment NPE

Bug: 32932465
Test: Run demo app
Change-Id: Iee5afa78b7af80e8a6de84b1cd722b6ac91e6bb9
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
b655650666d7bd317c41c7a5be229e3a80dd2692 11-Nov-2016 Dake Gu <dake@google.com> leanback: Lint fixes

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

Bug: 32831641
Test: existing LeanbackTests
Change-Id: I50ea555a3aabf77dcfe6f88754cec75faa3233a5
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/NonOverlappingLinearLayoutWithForeground.java
upport/v17/leanback/widget/PlaybackControlsRowView.java
0908efd712e79f77e0cf9307bd5c32753c855561 04-Nov-2016 Dake Gu <dake@google.com> Details Background improvement:

Add ParallaxManager.setRecyclerView() to allow create ParallaxManager
before fragment view is created. Updated sample app to setup
Parallax background/video effects in DetailsFragment.onCreate()

Add onCreateParallaxManager() for customize.

Clean up some unused code in BackgroundManager.

Bug: none
Test: SupportLeanbackDemos
Change-Id: I9945e4d893a12f4f2f48d44175d6e27a4f1d287d
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
a6d291e599ce68740855b50e08d5cb9604b92256 07-Nov-2016 Dake Gu <dake@google.com> Leanback: fix testSetSelectedPositionDetached

Leanback restores focus inside onLayoutChildren().
Due to the nature of leanback, it needs extra steps
to do the alignment inside layout. So there is no
need to run extra recycleView save/restore focus
logic.

This change "fixes" testSetSelectedPositionDetached on
TV, however the problem for phone/tablet still exists.
Because leanback always maintains a "selectedIndex".
When RV is detached and reattached, it will reselect
the same child. This is not true for a general RecyclerView
which does not maintain a "selectedIndex" and the
focused child will lose focus when detached.

This behavior can either be a WAI for general recyclerview. Or
recyclerView in general can behave similar to leanback
to maintain the selectedIndex.

Bug: 32673710
Test: GridWidgetTest
Change-Id: I05942c7c1c3e437d4a71c1f925e023280cd31b38
upport/v17/leanback/widget/BaseGridView.java
181c8847d5a1169e26755ed690131333b7fff7e9 28-Oct-2016 Dake Gu <dake@google.com> Rework background manager and add TestCases

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

Bug: 32415435
Test: BackgroundManagerTest

Change-Id: I93a026d3e1437c93e22cf0a2fa456d0b3e5f15b7
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
aa49439ba6276137f94fcdc1bf4f69b78833dad6 01-Nov-2016 susnata <susnata@google.com> Adding VideoFragment sample to SupportLeanbackDemo app.

Test: None
Change-Id: I1841fa357825bf7ab719a236b47e04aa21a72e6b
upport/v17/leanback/app/DetailsFragmentVideoHelper.java
upport/v17/leanback/app/MediaPlayerGlue.java
upport/v17/leanback/app/PlaybackGlue.java
upport/v17/leanback/app/SurfaceHolderGlueHost.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
c2168ad5902b189f3c634e47cd956f99df17fbab 20-Oct-2016 susnata <susnata@google.com> Fixing the background color issue on PlaybackOverlayFragment.

Change-Id: Iead87bb57c9ecfd0f6d633cb6268441dae971b35
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoSupportFragment.java
61d1128c062df38a10217b1de3922d233b39ae4d 27-Oct-2016 Dake Gu <dake@google.com> leanback: Use weareference for details transition timeout task am: 2056c3e524 am: 18f26b71f8 am: 9ea0501864
am: 81db5b459d

Change-Id: Ic3b5069375ded491da94adf8471281f9aea22701
18f26b71f804b4a32a5b18b2bf9c9c589a56f045 27-Oct-2016 Dake Gu <dake@google.com> leanback: Use weareference for details transition timeout task
am: 2056c3e524

Change-Id: I9b3b74bf057142c578a42f2d9585651166c0cc52
33d6a4df689e82c62edf900e36bcc696b5a17bac 26-Oct-2016 Dake Gu <dake@google.com> Fix "null" in content description am: 259e5377e4 am: 233fad1a4f am: fe2a8918ab
am: 6a3d426cdb

Change-Id: I20d37d1851fab1a99bb41f5721311fefe089c0f8
2056c3e52465864d60f6f64c16a0a27629ba5fd8 26-Oct-2016 Dake Gu <dake@google.com> leanback: Use weareference for details transition timeout task

Makes holding reference to activity shorter.
Bug: 32352643
Test: SupportLeanbackDemos

Change-Id: Ida5a806dd72cccad37a0a5b7d72a32267becec2f
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
259e5377e4a79f1060b16b7307a66fdd99530589 25-Oct-2016 Dake Gu <dake@google.com> Fix "null" in content description

Bug: 32407867
Test: Manually run SupportLeanbackDemos with null description
Change-Id: Ic2a8394a8cedeac49d6b56880539c32cc8f7430b
upport/v17/leanback/widget/GuidanceStylist.java
16fc62b4abedcadbd422892a590199011972ef8b 19-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add checkstyle:off flag"
cc671dd3caac1d0cbf3f6999ab063c9ff1f297b2 18-Oct-2016 Dake Gu <dake@google.com> Add checkstyle:off flag

Test: None
Bug: 32243836

Change-Id: I5c28ee5b4623e25126518ceb99f17b5ee384cb76
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
c07514b78d5c6836b25c308094dd3bd7f6871d21 17-Oct-2016 susnata <susnata@google.com> Fixing variable names in PlaybackFragment.

Test: None
Change-Id: I622cb929969d5bb4b3f3bb9a122b88101e1758b4
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
b4f2c7ed1cc75e3f6b846dab5f98da4a52b2fd90 15-Oct-2016 Dake Gu <dake@google.com> Merge "Fix regression NPE in PlaybackControlGlue"
c77fd8f165e27374a0bbc2f1a23291c61494ccc4 15-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix for NPE in PlaybackOverlayFragment (sample app)."
70de1cf05e0a682e37b73a671bf5a1481eebc026 15-Oct-2016 Dake Gu <dake@google.com> Fix regression NPE in PlaybackControlGlue

Bug: 32183455
Test: PlaybackControlGlueTest
Change-Id: I6aaf2ea73bac20acf88914e6457c82763bbb3105
upport/v17/leanback/app/PlaybackControlGlue.java
2582363a9197a4f30277557330177e45b2aa0cd5 15-Oct-2016 susnata <susnata@google.com> Fix for NPE in PlaybackOverlayFragment (sample app).

Test: None
Change-Id: I29c4766c543f5ec50c2bc15352fa4d6e14822ba1
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoSupportFragment.java
6f5495baf9acf7b275839e4a1eea091781fd112b 14-Oct-2016 Susnata Basak <susnata@google.com> Merge "Adding video player to DetailsFragment."
e5bf7f32e6f2957e41fc7794b49ed10108171261 14-Oct-2016 Dake Gu <dake@google.com> Fix NPE of BrowseFragment setSelection

Fix NPE When setSelection runnable is scheduled after View destroyed.

Test: BrowseFragmentTest
Bug: 32159583
Change-Id: I1ad68d8969484b0437a9fa2feaeb5234df49efaf
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
4702556bfd15c9819a7b2af759aee0f719cd631f 11-Oct-2016 susnata <susnata@google.com> Adding video player to DetailsFragment.

Added VideoFragment for rendering videos to DetailsFragment.
Video playback will be configured by DetailsFragmentVideoHelper.
Parallax functionality will continue to be configured by
DetailsBackgroundParallaxHelper. ParallaxManager will be shared
between the helpers for running animations based on the position
of DetailsOverview view.

Updated LeanbackSupportDemo(NewDetailsFragment) sample code to
use the video player.

Test: None
Change-Id: Iaeee2caf3b7f3567e4a53ad76574db9adaa32ba0
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsFragmentVideoHelper.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/MediaPlayerGlue.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackFragmentGlueHost.java
upport/v17/leanback/app/PlaybackGlue.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/app/VideoFragment.java
upport/v17/leanback/app/VideoFragmentGlueHost.java
upport/v17/leanback/app/VideoSupportFragment.java
upport/v17/leanback/app/VideoSupportFragmentGlueHost.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
f131f9b21327a6bb77e6d716bf44cd9a02f3cb97 23-Sep-2016 Keyvan Amiri <keyvana@google.com> Updated support for animator in MediaNowPlayingView pre-Lollipop

propertyValuesHolder is not supported pre-L which was causing crash for
API 21 and below. Moved all the animation for the MediaNowPlayingView
inside the code.

Test: MediaNowPlayingViewTest
Bug: 31687045
Change-Id: I139bdc61841b64f26f4ed9b719605d9f86feab7a
(cherry picked from commit a49ace0cc347f152d2847ca1290d9150a0413b31)
upport/v17/leanback/widget/MediaNowPlayingView.java
e9eef25bc438d03ac56dad97bf18bf928f4c1016 11-Oct-2016 Dake Gu <dake@google.com> Merge "Fix some flaky test"
21ac4a7e2cc753b4e4eeaa7edb9696add157ebf8 08-Oct-2016 Dake Gu <dake@google.com> Fix some flaky test

Use onLayoutCompleted() callback to wait layout.

Bug: 31771962
Test: GridWidgetTest

Change-Id: I30b72ed046bf2b7d24db7c6cd920e6b5825d5593
upport/v17/leanback/widget/GridLayoutManager.java
450fe7ab2d8a911ecdc335d55c60dfbae70f2407 07-Oct-2016 susnata <susnata@google.com> Fixing the bug (cloning) with CompositeDrawable.

We were not copying the boundsrule while cloning
child drawables inside CompositeDrawable.

Test: CompositeDrawableTest
Change-Id: Idd320792473509050b9da2fc6443b446cffc2fe7
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/CompositeDrawable.java
8131b0dee1e85a1b68f34d1734dcded49512d5cf 06-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "leanback: Remove support fragment for BackgroundManager"
02bc902b96bc014f9242205f195cf62e1482e84f 06-Oct-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "leanback: switch to use standard TraceCompat"
be542c8fdb736143369ea8b2ca5cb9ab76282e04 04-Oct-2016 Dake Gu <dake@google.com> leanback: Remove support fragment for BackgroundManager

The fragment is just used for life cycle, so we can safely use
framework fragment for hosting background in FragmentActivity.

Test: run SupportLeanbackDemos
Bug: None

Change-Id: Ifa49707230030b87995126dac7889d54b3290920
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.java
bbc48593794ced540ed3d5fd798251be06876642 04-Oct-2016 Dake Gu <dake@google.com> leanback: switch to use standard TraceCompat

Remove the class introduced before TraceCompat

Test: unit tests
Bug: None

Change-Id: Ie411092fc6e2b053472399bc320ee1fbf1969718
upport/v17/leanback/os/TraceHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
03eae4e82fccd027e003a8d1544d3e9023404b14 03-Oct-2016 Dake Gu <dake@google.com> leanback: dont clearFocus in layoutInit

clearFocus() triggers unecessary focus search.

Test: added two test cases and run against all widget test
Bug: none
Change-Id: I78bad294d70b79d9d28c7d9015db8dca11081dfb
upport/v17/leanback/widget/GridLayoutManager.java
738deb3f9c75ea32dff1bf335753703e40e87f39 28-Sep-2016 Dake Gu <dake@google.com> lenaback: Fix Details parallax on different screen resolution

DetailsFragment is using absolute value for aligning overview row.
Make parallax also use absolute value.
Fix NPE in CompositeDrawable Property when get() is called before set().
Fix NPE in DetailsTestFragment delayed handler.

Test: passed unit test on API 19, API 23, API 24 with different
resolutions
Bug: 31771962

Change-Id: Id97c0649f7c851cf9906c42aa607ecc55ce4ef20
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/graphics/CompositeDrawable.java
6938d8b565a9ab42c7741262049e0c86138c55e0 27-Sep-2016 Dake Gu <dake@google.com> Rename attribute dotRadius to avoid conflicts with wear am: 13c7d89d1f am: 919024c751
am: 218b9557ec

Change-Id: Iccdfdc26c259b49d2aea879f04db3d107722aace
13c7d89d1f64bdb782bddd2a6e8cdb81b7e77886 27-Sep-2016 Dake Gu <dake@google.com> Rename attribute dotRadius to avoid conflicts with wear

Test: with SupportLeanbackDemo app
Bug: 30104998
Change-Id: I80f191416b260da4c33e93803977d0ecb8ba3d92
upport/v17/leanback/widget/PagingIndicator.java
180dc4030628425a8081fe058bdc1d529c505ae8 26-Sep-2016 susnata <susnata@google.com> Revert "Revert "Refactoring DetailsBackgroundParallaxHelper.""

This reverts commit 6eebd92660979650cbde3b9d303099cff3015a23.

Test: DetailsFragmentTest, DetailsParallaxManagerTest
Change-Id: I86a3ef75b862a60f7dcef037e7d4eebcaa488785
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
d28c4182e0dd46d83027fcf9e5f43aa669c7514c 26-Sep-2016 Aurimas Liutikas <aurimas@google.com> Merge "Revert "Refactoring DetailsBackgroundParallaxHelper.""
6eebd92660979650cbde3b9d303099cff3015a23 26-Sep-2016 Aurimas Liutikas <aurimas@google.com> Revert "Refactoring DetailsBackgroundParallaxHelper."

ag/1459549 broke support library test builds:
https://android-build.googleplex.com/builds/submitted/3301972/support_test_apks/latest/logs

This reverts commit d7ba0d89531101088939239bb0339658dbe6c85b.

Change-Id: Ia60f9696e2bce6952e46763c645151f0b93a126e
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
2a9b6dfcc745e9ebe3697b590d7f5cdd116b0c3f 24-Sep-2016 Dake Gu <dake@google.com> Fix Crash when Fragment is removed after startEntranceTransition

Bug: 31398332
Test: VerticalGridFragmentTest.immediateRemoveFragment
VerticalGridSupportFragmentTest.immediateRemoveFragment

Change-Id: If40fa401f985e44436f9c9c62002a5d817e7413a
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
9daa79a86eb2f50966ee5277b1faa03c72f6ef8c 24-Sep-2016 Susnata Basak <susnata@google.com> Merge "Refactoring DetailsBackgroundParallaxHelper."
b85fd42e997d3c1a276e916f5f966761b3834ded 23-Sep-2016 Keyvan Amiri <keyvana@google.com> Merge "Updated support for animator in MediaNowPlayingView pre-Lollipop"
d7ba0d89531101088939239bb0339658dbe6c85b 19-Sep-2016 susnata <susnata@google.com> Refactoring DetailsBackgroundParallaxHelper.

Test: added DetailsParallaxManagerTest and existing unit tests pass.
Change-Id: I6c06ac944da6ffc62875c03edfa6f4fb21e5fee5
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsParallaxManager.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
a49ace0cc347f152d2847ca1290d9150a0413b31 23-Sep-2016 Keyvan Amiri <keyvana@google.com> Updated support for animator in MediaNowPlayingView pre-Lollipop

propertyValuesHolder is not supported pre-L which was causing crash for
API 21 and below. Moved all the animation for the MediaNowPlayingView
inside the code.

Test: MediaNowPlayingViewTest
Bug: 31687045
Change-Id: I139bdc61841b64f26f4ed9b719605d9f86feab7a
upport/v17/leanback/widget/MediaNowPlayingView.java
14f18a8b79804950fe4a16b85d2b7f18b614adba 22-Sep-2016 Dake Gu <dake@google.com> leanback: workaround VideoView forcing focus problem am: fd62284fa4 am: 1fa0780a09
am: 3744729903

Change-Id: I5b8bfcc99876b0485fc8e8998019c26cbb3ac93c
fd62284fa44d88adf06deee44f4d0114ba5dec45 21-Sep-2016 Dake Gu <dake@google.com> leanback: workaround VideoView forcing focus problem

Bug: 31002837
Test: Unit test will be in a separate CL

Change-Id: I68de22cc4bbf82249ff58c8bcf910700fd85f246
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
5d926e60b034b2e4d1404c6ac088a13b9c91ee3e 21-Sep-2016 Dake Gu <dake@google.com> Leanback: adding missing functions in SearchSupportFragment

The files are auto generated.

Change-Id: I958f07f3d82759f33fd88be356d1f2db8cc6fdbb
upport/v17/leanback/app/BackgroundSupportFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
3103f63e99d47573823957f7aa34308555873221 20-Sep-2016 Aurimas Liutikas <aurimas@google.com> Fix all operator wrapping issues in leanback library.

Test: code still compiles, there should be no code/logic changes.
Change-Id: I6e97e2ba429c323022055263540c3fb6d0003822
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepRootLayout.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
upport/v17/leanback/system/Settings.java
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewLogoPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/HorizontalHoverCardSwitcher.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/MediaItemActionPresenter.java
upport/v17/leanback/widget/PagingIndicator.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
upport/v17/leanback/widget/ParallaxSource.java
upport/v17/leanback/widget/PersistentFocusWrapper.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/ResizingTextView.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/ScaleFrameLayout.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/TitleHelper.java
upport/v17/leanback/widget/WindowAlignment.java
ab58fec924f8503e34cab5a9a7e40871a250aa51 20-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix Leanback NPE: Add getConstantState().newDrawable() support"
def88bf62957a74d3257dd26bd50214e5ef1c610 20-Sep-2016 Dake Gu <dake@google.com> PlaybackControlGlue: MEDIA_PAUSE does not pause FF/RW am: 39d30689d7 am: 858561f9c1
am: 69f2783849

Change-Id: Idad3e6abae12d4eae3c20294118dde02d2565da7
00f780c9e3cca0b2e364c61e936147e09877c43f 14-Sep-2016 Dake Gu <dake@google.com> Fix Leanback NPE: Add getConstantState().newDrawable() support

Added getAlpha() support.
Also removed accidentally exposed member variable from API.

Test: added

Bug: 31468977

Change-Id: I20197d580141b191758dc37efbbc1213cb469e11
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
39d30689d76388f0d025a4fc751c6b4cbe54c492 16-Sep-2016 Dake Gu <dake@google.com> PlaybackControlGlue: MEDIA_PAUSE does not pause FF/RW

Test: added
Bug: 31489271
Change-Id: Ia4af86769dfb3ccc1bdd6a5f08f9ab32f246b45a
upport/v17/leanback/app/PlaybackControlGlue.java
cd13b9ea8225b182bb136e69f45d8f6e993d2fe8 13-Sep-2016 Zhen Sun <zhensun@google.com> Added methods setting search orb color in SearchFragment

Added methods to set listening/not-listening state color of search orb
in SearchFragment.java and SearchBar.java.
Made corresponding changes in SearchOrbView.java.

Fixes: 31344410
Change-Id: Id4a882ad97d168cbf218f1344e160d3bfc0823a3
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SpeechOrbView.java
7fa3b7eb3a75783fac168bccb2ee9745a319b491 10-Sep-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "resolve merge conflicts of 7243922 to master"
9480eb4e94e429726b07eba133ffbc6450b8d795 09-Sep-2016 Alan Viverette <alanv@google.com> resolve merge conflicts of 7243922 to master

Change-Id: I34d800e77c4b1a440eb67191b4697213a2e6239e
4f83ddcec012a1de3ba38b3e573fdff7d054c54e 08-Sep-2016 Zhen Sun <zhensun@google.com> Changed time setter/getter type to long

PlaybackControlsPresenter.java
--Added two member variables of type long to keep track of current/total
time.
--Used ratio instead of raw time in ms to show progress bar.
--Made corresponding changes to setters/getters and formatTime().
--Added necessary long type setters/getters.

PlaybackControlsRow.java
--Added long type version of setters/getters of current/total time.
--Made corresponding changes of two listeners' parameter.

PlaybackControlsRowPresenter.java
--Changed type of parameters of two listener methods overriding
PlaybackControlRow.java.

*Added MathUtil.java to use similar method Math.toIntExact() that is only
available in Java 8.
*Also updated api file corresponding to my changes.

Change-Id: I77317fcaf79da55e1f5b3d2b4e4050386d16acb1
Bug: 27694135
upport/v17/leanback/util/MathUtil.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
c39d9c75590eca86a5e7e32a8824ba04a0d42e9b 25-Aug-2016 Alan Viverette <alanv@google.com> Add @RestrictTo(GROUP_ID) annotations to match @hide docs annotations

Also removes some unnecessary @hide annotations on classes that wouldn't
have shown up in docs anyway due to package/private visibility or NO_DOCS.

Bug: 27937193
Change-Id: Iab127a5a3ce57a2d61965d3cef782621eb3859f5
upport/v17/leanback/animation/LogAccelerateInterpolator.java
upport/v17/leanback/animation/LogDecelerateInterpolator.java
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepRootLayout.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/PermissionHelper.java
upport/v17/leanback/os/TraceHelper.java
upport/v17/leanback/system/Settings.java
upport/v17/leanback/transition/LeanbackTransitionHelper.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/util/StateMachine.java
upport/v17/leanback/widget/BackgroundHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseRowsFrameLayout.java
upport/v17/leanback/widget/DividerPresenter.java
upport/v17/leanback/widget/FocusHighlightHandler.java
upport/v17/leanback/widget/GuidanceStylingRelativeLayout.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionItemContainer.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/InvisibleRowPresenter.java
upport/v17/leanback/widget/MediaNowPlayingView.java
upport/v17/leanback/widget/NonOverlappingLinearLayoutWithForeground.java
upport/v17/leanback/widget/PagingIndicator.java
upport/v17/leanback/widget/PersistentFocusWrapper.java
upport/v17/leanback/widget/PlaybackControlsRowView.java
upport/v17/leanback/widget/ResizingTextView.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/ScaleFrameLayout.java
upport/v17/leanback/widget/Util.java
upport/v17/leanback/widget/picker/DatePicker.java
bb97551549241c4adff4dc246de80def40aad744 26-Aug-2016 Dake Gu <dake@google.com> Fix BaseCardView

Bug 28746430 The flip flop visiblity issues.

Deprecated setExtraVisibility() since BaseCardView never looked
at that value, internally it uses value of setInfoVisibility().
Decouple setActivated() and setSelected(), setSelected() is no
longer considered dependant on setActivated.
Fixed many other issues related with animation.

Created several test cases.

Change-Id: I93a973a014c20cbd4de03fcc7c6cbd5da775dc13
upport/v17/leanback/widget/BaseCardView.java
e5d263725fb60aa6a24f2221548afb20d0dc46e1 08-Sep-2016 Dake Gu <dake@google.com> Fix GuidedStepDatePicker NPE before API 21

When going through the "without transition" code path, we didn't
check if it has subaction.

Bug 31348799

Change-Id: I347d4fb3b1175e9941262083e1f5744ef2d5eeb0
upport/v17/leanback/widget/GuidedActionsStylist.java
7bda08a942394e11774c8f8d1cb3fc7498a11fd3 07-Sep-2016 Dake Gu <dake@google.com> Fix drawing order when shadow is not applied am: b8e4d4a19d am: 19fe32bbf9 am: cd9465d236
am: ac106cf5a9

Change-Id: Ic1c3e3cbc7e2c8acb8c52ac8d0a84a84bdd956f5
b8e4d4a19d98ce742eff0eca5520fc3b591d7e21 07-Sep-2016 Dake Gu <dake@google.com> Fix drawing order when shadow is not applied

Bug 31340316

Change-Id: Ibbdd61d5b918e680becb13fac810220940f5b50f
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
950179cd525ceeebaf7c3e588d158863d6f2d2e8 06-Sep-2016 Dake Gu <dake@google.com> BrowseFragment: fix bug of opening HeadersFragment. am: 2dda16536f am: 1b4d3fcb8b am: 7ed49c44eb
am: 6e07a728c3

Change-Id: Iafda338917f4922b287b810d853770a45660059e
62a7677a4a03aaada6ec36b73919ba418e0c886a 06-Sep-2016 Aurimas Liutikas <aurimas@google.com> resolve merge conflicts of 7373090 to master

Change-Id: I72c42608cc4b6cd214023caf42a213404f3b9e0a
1b4d3fcb8b02271684249cd258da3d98773caf6f 06-Sep-2016 Dake Gu <dake@google.com> BrowseFragment: fix bug of opening HeadersFragment.
am: 2dda16536f

Change-Id: I39bc93d914cdebe9f3b2cc61ee9a740c3b37b37a
e16c356299d286e6d84fc4cd66abe3a35f48726b 06-Sep-2016 Aurimas Liutikas <aurimas@google.com> Remove all the extra accessor methods added by javac in support-leanback.
am: 99ec8b0cb3

Change-Id: I5c519d8e5a9eea6e2b5492de322c83f826942b13
57f501d3ffc9c93e3946b08fc42cccee2ad6c7d3 06-Sep-2016 Dake Gu <dake@google.com> Merge "BrowseFragment: fix bug of opening HeadersFragment." into nyc-support-24.1-dev
829605a1b1373e26525463220f85c3bbeb1a348a 06-Sep-2016 Aurimas Liutikas <aurimas@google.com> Merge "Remove all the extra accessor methods added by javac in support-leanback." into nyc-support-24.1-dev
2dda16536f0cc543f52abf53b18d6c1327031142 03-Sep-2016 Dake Gu <dake@google.com> BrowseFragment: fix bug of opening HeadersFragment.

FragmentAdapter.setExpand() may does nothing and OnPreDrawListener
is not triggered. Add invalidate() to always trigger the flow.

Bug 31273085

Change-Id: Ie29a5db36e0ba41fc3dd0043c47b1e8e2bf8a231
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
fd07caad75ffa82a9ab8cf18441e2278968dfed9 27-Aug-2016 Keyvan Amiri <keyvana@google.com> Leanback support: Fixed focus wraparound when hitting DPAD_RIGHT on last
view of a row

TitleHelper was incorrectly returning the root view in
GridLayoutManager when there's no TitleView. This caused the focus to
wrap around back to the first view when hitting DPAD_RIGHT on the last
view of a row. This fixes the playlist focus issue in Play Music app and
Showcase app.

Bug: 31090232
Change-Id: I7f879d1677d859ec82a3dd7421d1599e576909b6
(cherry picked from commit 4931f89139d52164327a2878a6cfa50d24c257e2)
upport/v17/leanback/widget/TitleHelper.java
0921a20dbf4c9bc8ac8a94f9304aaa58636bac7a 29-Aug-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback support: Fixed focus wraparound when hitting DPAD_RIGHT on last view of a row"
4931f89139d52164327a2878a6cfa50d24c257e2 27-Aug-2016 Keyvan Amiri <keyvana@google.com> Leanback support: Fixed focus wraparound when hitting DPAD_RIGHT on last
view of a row

TitleHelper was incorrectly returning the root view in
GridLayoutManager when there's no TitleView. This caused the focus to
wrap around back to the first view when hitting DPAD_RIGHT on the last
view of a row. This fixes the playlist focus issue in Play Music app and
Showcase app.

Bug: 31090232
Change-Id: I7f879d1677d859ec82a3dd7421d1599e576909b6
upport/v17/leanback/widget/TitleHelper.java
99ec8b0cb375f7e5577ea3ec9f09e6ff7a95de0d 25-Aug-2016 Aurimas Liutikas <aurimas@google.com> Remove all the extra accessor methods added by javac in support-leanback.

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

This CL saves 469 methods in our jar.

Bug: 31075707
Change-Id: I68c8152d060c9f35c72a2d78c608a9bccd12c86e
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/ListRowDataAdapter.java
upport/v17/leanback/app/MediaControllerGlue.java
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/ProgressBarManager.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/os/TraceHelper.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/util/StateMachine.java
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/BackgroundHelper.java
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ForegroundHelper.java
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/GuidedDatePickerAction.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/PagingIndicator.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/StaticShadowHelper.java
upport/v17/leanback/widget/StreamingTextView.java
upport/v17/leanback/widget/TitleHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.java
upport/v17/leanback/widget/WindowAlignment.java
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
39da5d9a905a8fecf85a26f4eb12cb016d5504a3 24-Aug-2016 susnata <susnata@google.com> Fixing NPE crash in BF. am: 35d7a6c316 am: 7f6acb9d36 am: 79d88519e4
am: bf82d63ae5

Change-Id: Ib8bb5678046d9a5f1bcd9a484d2a3b63f36d5c3d
35d7a6c31606ed4ca38deda3cacae080a95c95c9 22-Aug-2016 susnata <susnata@google.com> Fixing NPE crash in BF.

Change-Id: I1bfb77865b6eb6e64814309ecf43e8bf1b7faa77
BugFix: 31011043
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
99c19b51762938cb55f16bc676f2e5a9f6b1dfab 23-Aug-2016 Dake Gu <dake@google.com> Leanback: Disable 9-patch shadow on API-19 am: b7c09c22aa am: 678e5f8d10 am: 4fef705fbf
am: 6fcc85a4f9

Change-Id: Ifd0e74aa897927965c7ca516afc81bcd0e1d8da0
0940b0810d4055d652d3b45c27e33ddcd229a0b3 23-Aug-2016 Dake Gu <dake@google.com> Merge changes I3009e1d1,I0b38de24 into nyc-support-24.1-dev

* changes:
Fix BrowseFragmentTest
leanback: fix NPE caused by late loading main fragment.
dc21f7e02936d3bf1f8e69137393814cefd9846a 20-Aug-2016 Dake Gu <dake@google.com> leanback: fix NPE caused by late loading main fragment.

When main fragment is not created, pressing RIGHT will NPE.
Also fixed sendKey in test.

Bug 30943877

Change-Id: I0b38de24c06a2b13206c9eede0fda857d3ab25fb
(cherry picked from commit 489c9a861b7cde47efcd5cf6351bc9696786ae41)
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
b7c09c22aa6e2edf28335894e5fff4f2b7a30175 23-Aug-2016 Dake Gu <dake@google.com> Leanback: Disable 9-patch shadow on API-19

There is a double applied delta issue in optical-bounds
causing a negative measured size.

Bug was fixed in API-20 and after:
https://googleplex-android-review.git.corp.google.com/#/c/431321/

Bug 30943877

Change-Id: I82f48f3c2b73884854691a4a67673a08ebed0594
upport/v17/leanback/widget/StaticShadowHelper.java
4be37f97cd7708136e09e5606d3e0ac3c7636a8a 22-Aug-2016 Dake Gu <dake@google.com> Merge "leanback: fix NPE caused by late loading main fragment."
afd999aba1b74d876ea2620775ba9157e6df7102 16-Aug-2016 susnata <susnata@google.com> Creating a new PlaybackFragment.

This will be used to deprecate the old PlaybackOverlayFragment.
We will use it in DetailsFragment to render the controls when
in fullscreen video mode.

Change-Id: I646ae5f64323c569aefb9cb039e16f6035a8eee4
upport/v17/leanback/app/MediaControllerGlue.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/PlaybackFragment.java
upport/v17/leanback/app/PlaybackFragmentGlueHost.java
upport/v17/leanback/app/PlaybackGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragment.java
upport/v17/leanback/app/PlaybackSupportFragmentGlueHost.java
upport/v17/leanback/widget/BaseOnItemViewClickedListener.java
upport/v17/leanback/widget/OnActionClickedListener.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/PlaybackRowPresenter.java
489c9a861b7cde47efcd5cf6351bc9696786ae41 20-Aug-2016 Dake Gu <dake@google.com> leanback: fix NPE caused by late loading main fragment.

When main fragment is not created, pressing RIGHT will NPE.
Also fixed sendKey in test.

Bug 30943877

Change-Id: I0b38de24c06a2b13206c9eede0fda857d3ab25fb
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
ae746be7c46297b910a99c07697e33e3a5fd7fac 04-Aug-2016 Dake Gu <dake@google.com> GuidedStepFragment: support BACK for drop down list

Added onChildViewHolderSelectedAndPositioned when Child of GridView
is being laid out, that is required to adjust the expanded focus
item view vertical position in *one* layout pass for fragment
transition to properly run.

Add BACK key interception for sub actions list
and action with hasEditableActivatorView() (e.g. Picker)

Removed mSelectedIndex from GuidedStepFragment since we already
save/restore index in view state.

Show case in SupportLeanbackDemo NewPaymentFragment to use
setTargetFragment to pass result back to second fragment.

Bug 29901385

Change-Id: Ib856b776bc02c8cc01bf3379aa7562285c9bd41c
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidanceStylingRelativeLayout.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionsRelativeLayout.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/OnChildViewHolderSelectedListener.java
f5f386abee45f9256980e99d910c80922f1865e7 04-Aug-2016 Dake Gu <dake@google.com> Merge "leanback: Refactoring ParallaxSource to use Property"
db3e36adea8ddbe9abf5bc61fe0ce3e3b3e366bb 03-Aug-2016 Susnata Basak <susnata@google.com> Merge "Fixing RowHeaderPresenter unit test."
50d7840691afde416a8ce3dc8060da1adab687a1 03-Aug-2016 susnata <susnata@google.com> Fixing RowHeaderPresenter unit test.

Change-Id: I259ffd432a97eff855787fec6235ef504222fec2
upport/v17/leanback/widget/RowHeaderPresenter.java
e69a2947597f18adc1926364d7f53b4254f78299 02-Aug-2016 Dake Gu <dake@google.com> leanback: make picker item height shorter

Use spacing between picker item instead of defining a tall item.
Bug 30566120

Change-Id: I6685a02d9cb4a8d0f69a6159c3268bac8ccded3b
upport/v17/leanback/widget/picker/Picker.java
10ebe639de989274907bd12e0a2c642a2e8f7fa8 02-Aug-2016 Dake Gu <dake@google.com> Merge "leanback: use android attr vertical/horizontalSpacing"
ef4e1b371215f9fffa9245159250740b611dfb4d 01-Aug-2016 Dake Gu <dake@google.com> leanback: use android attr vertical/horizontalSpacing

Follow the name convension of android, call the space between grid
item "verticalSpacing" and "horizontalSpacing". Deprecate the old
customized attribute verticalMargin and horizontalMargin.

Change-Id: Id5a1efdb9ce2f1062abd62d501869d2b0310a5c9
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/SingleRow.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
00bd96ea980b06fca48f4605a260a36e35495c40 01-Aug-2016 Susnata Basak <susnata@google.com> Merge "Adding description field in HeaderPresenter (BrowseFragment)."
48cbca8d2f412611a09e4f231055f10573a1f45a 29-Jul-2016 susnata <susnata@google.com> Adding description field in HeaderPresenter (BrowseFragment).

Change-Id: If306cd60f91dfb6edccdfc63960fd40e26174445
upport/v17/leanback/widget/HeaderItem.java
upport/v17/leanback/widget/RowHeaderPresenter.java
f17f812773522c20ff67ac3ac5c19f3ae285e48b 01-Aug-2016 Keyvan Amiri <keyvana@google.com> Merge "Support library: Updated API docs for media item presenter" into nyc-support-24.1-dev
78be4412362eafffe14b60a20b7ddd4bf86a515b 23-Jul-2016 Keyvan Amiri <keyvana@google.com> Support library: Updated API docs for media item presenter

Unexposed MediaNowPlayingView and MediaRowFocusView from the public docs.

Bug: 30088038
Bug: 30088617
Change-Id: I3e9f004821cf5716651a30c5069dec6ac8529c3c
(cherry picked from commit 1dcc356c7c60f493010d69ded3d8e8f92f54217d)
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/MediaNowPlayingView.java
3778c4eaa62895085d33965ee391c8b21783cffa 29-Jul-2016 Dake Gu <dake@google.com> leanback: Refactoring ParallaxSource to use Property

Removed "Variable", replaced with "Property", move the
stored int/float values into ParallaxSource. Property contains
an index to retrieve value from ParallaxSource.

Let the ParallaxRecyclerViewSource to subclass Property
to add definitions of how to track a view position on screen.

Bug 30476379

Change-Id: Id442f32177edfbcd21eb98a98d2b6ed8021d666b
upport/v17/leanback/app/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/graphics/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/widget/Parallax.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
upport/v17/leanback/widget/ParallaxSource.java
8be7e7b0b81450f406354f4672d0e0cf7138e127 30-Jul-2016 Dake Gu <dake@google.com> fix doc build

Change-Id: I3e3c80cfa03db0c5bc2e774a2cd3c58d85983846
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
0be638553b1db92cf3aa818241da3fd510c7e0af 29-Jul-2016 Susnata Basak <susnata@google.com> Merge "Remove unused files from leanback graphics package."
ae737d014a839329353b8055bcf0d49424e92430 29-Jul-2016 susnata <susnata@google.com> Remove unused files from leanback graphics package.

Change-Id: Ida9206971a1c28c18a8087d11597012b364f3caf
upport/v17/leanback/graphics/ColorRegionDrawable.java
upport/v17/leanback/graphics/RegionDrawable.java
2f5097e7d28adbf0fbf02991731c07ddf555a7d5 28-Jul-2016 Susnata Basak <susnata@google.com> Merge "Fixing build by updating broken link in javadoc."
15c3f439b0dad70925e5fec0508a17976b881dab 28-Jul-2016 susnata <susnata@google.com> Fixing build by updating broken link in javadoc.

Change-Id: Ib0be84acff6f32ce1cbeb2006de442a9bfe398b7
upport/v17/leanback/graphics/CompositeDrawable.java
fd52a3ee07fd7f15dfdf75e61bc1bd73a6352aaf 28-Jul-2016 Susnata Basak <susnata@google.com> Merge "Providing a generic way to define the parallax behavior in DF."
935b033edfd9d03129fce6a5b7a1d3a327b74f91 28-Jul-2016 susnata <susnata@google.com> Providing a generic way to define the parallax behavior in DF.

Change-Id: I89afcec08425dbf1c20f12b0d5112d7dfa2d1ac2
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/graphics/DetailsBackgroundParallaxHelper.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
upport/v17/leanback/widget/ParallaxRecyclerViewSource.java
39cd1462e1d9e3c8f890db8964a6b0a93f58bd3f 28-Jul-2016 Dake Gu <dake@google.com> leanback LM: Fix unnecessary prepended when there is margin am: 5642066d79 am: af4d015ff4 am: e5a24e3e02
am: 4bcc360dcf

Change-Id: I59bdbeab77821a8ac46f0faec3ec75ba89c946cd
9dec1dcc3eb7f51760fde49fb3fa07c80772eaed 27-Jul-2016 Susnata Basak <susnata@google.com> Merge "Fixing build breakage (adding missing public api)"
e464e5647326c000d2bd48e7d4369a279894f360 27-Jul-2016 susnata <susnata@google.com> Fixing build breakage (adding missing public api)

Change-Id: I854e5c91cb7f27d3394f87061b08385f3a8095d5
upport/v17/leanback/graphics/CompositeDrawable.java
3ff524750533d864c02b0e018b39d346bae30a7d 27-Jul-2016 Susnata Basak <susnata@google.com> Merge "Fix bug with non-linear update in ParallaxTarget."
46ae6eb27de10f019258fe197c794cf2234abe5d 27-Jul-2016 susnata <susnata@google.com> Fix bug with non-linear update in ParallaxTarget.

By default ObjectAnimator uses accelerateDeccelerate interpolator,
which causes issues with our parallax behavior. This fix sets
LinearInterpolator as the default interpolator in ObjectAnimator.

Change-Id: I747df4616b6c453f2dec2412b51b6654270a7efa
upport/v17/leanback/widget/ParallaxTarget.java
07b2ae3d8ce3f1e7c9960b837fddc0cfd9c1f22f 27-Jul-2016 Susnata Basak <susnata@google.com> Merge "Refactoring CompositeDrawable to support any child drawable."
3d9017263a760990ba79d5ebf3d1b6587e0bd311 22-Jul-2016 susnata <susnata@google.com> Refactoring CompositeDrawable to support any child drawable.

Following the pattern in LayeredDrawable, I created a wrapper
class to hold the drawable objects and used CompositeDrawable
as a pass through mechanism to it's child drawables. This way
will allow us to use any drawable object in CompositeDrawable.

Change-Id: I25719dca55b9a11223ae65742af6730be2948530
upport/v17/leanback/graphics/BitmapRegionDrawable.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/FitWidthBitmapDrawable.java
5642066d798fb95368c66e78bcd70644552a98b2 26-Jul-2016 Dake Gu <dake@google.com> leanback LM: Fix unnecessary prepended when there is margin

Also converted Grid test cases to use AndroidJUnit4.

Bug 30404474

Change-Id: Ia4a5b2d625a445ebb4db847a2ba5fcca9d47a9c1
upport/v17/leanback/widget/Grid.java
fbb762e7daf56d6ddd576c3388cd54bffedde028 26-Jul-2016 Dake Gu <dake@google.com> GuidedStepFragment: fade out drop down list background in transition am: fa4d2cddf2 am: 9404dcebb9
am: d3fb164b68

Change-Id: I60c22e11d0c4e63f143e10677c131c3b6b9d4c3e
fa4d2cddf2cb9619088153a1fe07d09203d792fa 26-Jul-2016 Dake Gu <dake@google.com> GuidedStepFragment: fade out drop down list background in transition

Instead of slide the drop down list background to the left,
Make the background a separate view so we can run a different fragment
transition animation to fade it out.

Bug 30308816

Change-Id: I68078e97afb7502808dfa98c5be43352ba4f1ab3
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionsStylist.java
c415c3f8c4a1f56ecc3bd30e8dac483a8ac7dd53 25-Jul-2016 Keyvan Amiri <keyvana@google.com> Merge "Support library: Updated API docs for media item presenter"
1dcc356c7c60f493010d69ded3d8e8f92f54217d 23-Jul-2016 Keyvan Amiri <keyvana@google.com> Support library: Updated API docs for media item presenter

Unexposed MediaNowPlayingView and MediaRowFocusView from the public docs.

Bug: 30088038
Bug: 30088617
Change-Id: I3e9f004821cf5716651a30c5069dec6ac8529c3c
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/MediaNowPlayingView.java
upport/v17/leanback/widget/MediaRowFocusView.java
29d63109a6afe055561d46350f987a1874d7409f 25-Jul-2016 Dake Gu <dake@google.com> resolve merge conflicts of 6672d7d to master

Change-Id: Ib9075a3204a2ee95aacb9b2a603465980f0129f6
00c679cbba786f9788451e87995daf7dac4115f1 22-Jul-2016 Dake Gu <dake@google.com> Fix broken ff/rw action text.

The FF/RW action should has "numSpeed + 1" items where the extra
first item is for start FF/RW.

Bug 30162199

Change-Id: I22840bfcfd6715daa680ed278450db1b9474ffa8
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/widget/PlaybackControlsRow.java
31d8cc05669785f1693aa2f321391df6aeed9dae 20-Jul-2016 Dake Gu <dake@google.com> Merge "Make Parallax working and add Parallax Tests"
770847c0c8424175f0619026615b11fef50ca269 19-Jul-2016 Dake Gu <dake@google.com> Make Parallax working and add Parallax Tests

Change-Id: I8909a090a8648e50faf84f3c4c5a3a0d6840da56
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxSource.java
593ec4cfef942692c9b3faf91f1f72ea43536e68 20-Jul-2016 Susnata Basak <susnata@google.com> Merge "Revert "Revert "Creating a generic drawable class that will be used for parallax effect."""
df64e524a2bad079e6b0aa2d22c287f2c62aed82 15-Jul-2016 susnata <susnata@google.com> Revert "Revert "Creating a generic drawable class that will be used for parallax effect.""

This reverts commit 31986ef8ab6ed7fb902aee7fd836542f78f8bae2.

Change-Id: Ie9d1980f538ecf6e3067986906dc4197b4b41f4d
upport/v17/leanback/graphics/BitmapRegionDrawable.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/ColorRegionDrawable.java
upport/v17/leanback/graphics/CompositeDrawable.java
upport/v17/leanback/graphics/RegionDrawable.java
0f54322103fed4bd9ad8a5090d90214062fb0012 16-Jul-2016 Dake Gu <dake@google.com> fix doc build

Change-Id: I1a4e8b9345e599ece46c5e08b88a48a515ed5f43
upport/v17/leanback/widget/ParallaxSource.java
db8d0fcf61f9be959c9f2edf95dbcd33f022d41c 15-Jul-2016 Susnata Basak <susnata@google.com> Merge "Revert "Creating a generic drawable class that will be used for parallax effect.""
a05086d028daf2dd83243024038809b9b05b671f 15-Jul-2016 Dake Gu <dake@google.com> Merge "Add Parallax support"
05de4b68e45fc22c867d49ab88e2bdfd599bf7cc 30-Jun-2016 Dake Gu <dake@google.com> Add Parallax support

Parallax includes three parts:
1. ParallaxSource which tracks a list of changing Variable values
typically retrieved from position of foreground UI elements.
2. ParallaxTarget which performs a update(float) operation on
another target (e.g. background view)
3. ParallaxEffect includes a list of KeyValues used to compute
the fraction from current Variable values in ParallaxSource.
Then it will call update() on target.

ParallaxSource is the abstract class to be implemented. For example
app can define a ParallaxRecyclerViewSource to tracking child view's
positions on screen.

ParallaxTarget is backed by PropertyValuesHolder, it supports
arbitrary Property of different types: float, int, Rect, etc.

Change-Id: Iaa0c2354619ae6d2ddc6bfd0a1929714dd991fde
upport/v17/leanback/widget/Parallax.java
upport/v17/leanback/widget/ParallaxEffect.java
upport/v17/leanback/widget/ParallaxSource.java
upport/v17/leanback/widget/ParallaxTarget.java
31986ef8ab6ed7fb902aee7fd836542f78f8bae2 15-Jul-2016 Susnata Basak <susnata@google.com> Revert "Creating a generic drawable class that will be used for parallax effect."

This reverts commit 7928d0f20ec72b748413cf643687012c202336be.

Change-Id: I3446b137053d649a53ad9a768ceb78fea0185823
upport/v17/leanback/graphics/BackgroundDrawable.java
upport/v17/leanback/graphics/BitmapRegionDrawable.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/RegionDrawable.java
upport/v17/leanback/graphics/SolidRegionDrawable.java
7928d0f20ec72b748413cf643687012c202336be 13-Jul-2016 susnata <susnata@google.com> Creating a generic drawable class that will be used for parallax effect.

Parallax effect will be implemented by updating the background
drawable for a fragment/activity. This CL provides us a way to
represent the background drawable and to update it when the ui
state changes.

Change-Id: I650773537039031ec41a1a88ae4c635d5cdeec5e
upport/v17/leanback/graphics/BackgroundDrawable.java
upport/v17/leanback/graphics/BitmapRegionDrawable.java
upport/v17/leanback/graphics/BoundsRule.java
upport/v17/leanback/graphics/RegionDrawable.java
upport/v17/leanback/graphics/SolidRegionDrawable.java
ede5a73279dd5496b6c1bfc3be3dd39e4563123a 27-Jun-2016 Susnata Basak <susnata@google.com> Merge "Switching from ActivityInstrumentationTestCase2 to ActivityTestRule."
d447d1a3819bd66e2ab8c93c6947e982feb11bf7 22-Jun-2016 susnata <susnata@google.com> Switching from ActivityInstrumentationTestCase2 to ActivityTestRule.

Leanback instrumentation tests are currently using deprecated
ActivityInstrumentationTestCase2 class. This CL replaces the deprecated
class with the recommeded approach - using ActivityTestRule.

We will have to make similar changes for other tests.

Change-Id: I647b1e5e1382f5cac96c7ccd56305ead3ffa721d
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
3e355b8c9e1dee489089459c1bcdea7a28448aeb 23-Jun-2016 Susnata Basak <susnata@google.com> Merge "Need to re-calculate size for custom adapters."
0cba959de28af08fdce8f974024718a188398aa6 22-Jun-2016 Dake Gu <dake@google.com> leanback: should wait pending data change in select am: 05984a273d am: 739a283009
am: e42ee703d6

Change-Id: I318a033ed064f714a8626db909f375414d91f01b
739a28300971509d87f03a7d0924985ae8783841 22-Jun-2016 Dake Gu <dake@google.com> leanback: should wait pending data change in select
am: 05984a273d

Change-Id: I71dffae1870f17dca26d189996639d6690fabe38
1f55c2c933d1085a097b00598aef18de029fe0d2 22-Jun-2016 susnata <susnata@google.com> Need to re-calculate size for custom adapters.

Change-Id: I45f51c22772aeda403f36b38a4abe557b0b09c7b
upport/v17/leanback/app/ListRowDataAdapter.java
05984a273dc5f596a3e8abbffe90c68d050630b9 21-Jun-2016 Dake Gu <dake@google.com> leanback: should wait pending data change in select

Bug 29279610

Change-Id: I9f6dd736d8b52bee90b90c1ac8d3982ab4d99d84
upport/v17/leanback/widget/BaseGridView.java
f5214d235d0702e75c1a85f68666a35da06209ad 21-Jun-2016 Dake Gu <dake@google.com> GuidedStepFragment: Fix focus bug when cancel IME am: 71afae9a0c am: bf4fb6d430
am: 2e51015e8e

Change-Id: I0fbe7cdf8062882dc2729afd5aa37b5172b7a673
2e51015e8e78c37be4e96a88609e1c4f787e4159 21-Jun-2016 Dake Gu <dake@google.com> GuidedStepFragment: Fix focus bug when cancel IME am: 71afae9a0c
am: bf4fb6d430

Change-Id: Id730c37f8cbe6a31fdc9b2696884ef67a8a017c9
0ae4e0a355b8fb8b8c1f46f829e6f81d6a6f0b6b 21-Jun-2016 Dake Gu <dake@google.com> GuidedStepFragment: Fix focus bug when cancel IME
am: 71afae9a0c

Change-Id: Ia9457f847d6e452e159186506b2dca1de2f95db2
71afae9a0c4fd555c16a8e0a9727ba8c21bc39a8 21-Jun-2016 Dake Gu <dake@google.com> GuidedStepFragment: Fix focus bug when cancel IME

Bug 29395093

Change-Id: I6d84f02ae3d063fddcd812a1f1fc1cbb7a7cd092
upport/v17/leanback/widget/GuidedActionAdapter.java
16be61b99ced164c4b7253068ad57c76b892219f 21-Jun-2016 Dake Gu <dake@google.com> Merge \\\"leanback: SearchOrbView should not show when no listener is set\\\" into nyc-dev am: 2cb2e5ee7f am: 595851cb18
am: 3bcc75a87c

Change-Id: Ie2feb834259f9a4cbe68c788cd8387ca0f7d523b
595851cb186991e76d86918c9e28c8241a471870 21-Jun-2016 Dake Gu <dake@google.com> Merge \"leanback: SearchOrbView should not show when no listener is set\" into nyc-dev
am: 2cb2e5ee7f

Change-Id: I1106a0a0e88beb4cbc49c0d8984ecb53e5ca0fbd
0674181fa96779197f965dd4efc47bfd90cd085e 21-Jun-2016 susnata <susnata@google.com> Forcing full data refresh when using custom object adapter.

Change-Id: I721ee032aece7109518583d836b29f621fc24b77
upport/v17/leanback/app/ListRowDataAdapter.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/SparseArrayObjectAdapter.java
368a366a9559fab61cb243d7c221fdd416d5d624 18-Jun-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback playback: Added support to flip between different views for each media item row depending on the playback state"
7adf7fdd0c2978bb0a87096c89d6356e4e26ad98 11-Jun-2016 Keyvan Amiri <keyvana@google.com> Leanback playback: Added support to flip between different views
for each media item row depending on the playback state

The first view of each media item row can now flip between different
views. A default layout is provided by the AbstractMediaItemPresenter or
the user can set a theme attribute that defines a custom layout for
different playback states.
In the default layout, a 3 peak meters animation is provided when a
media item is playing.

Change-Id: Ibcc8d995a9d46cf089afc998980c815948609371
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/MediaNowPlayingView.java
977f0610fcfc783a9ed91ccb08387472b743ce63 17-Jun-2016 Dake Gu <dake@google.com> leanback: SearchOrbView should not show when no listener is set

This is a regression caused by customize TitleView in 24 release.

Bug 29108300

Change-Id: I7455c6a561a31d479d99e28c61dd59f865c8b160
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/TitleView.java
a5b9d50bc2c5b9577f217e48bf68dc028198a6b9 17-Jun-2016 Susnata Basak <susnata@google.com> Merge "Handling the notification for custom ObjectAdapter case."
b84ed59ccba5fb8ebe3fe4316690d313234e035d 16-Jun-2016 susnata <susnata@google.com> Handling the notification for custom ObjectAdapter case.

Change-Id: Ifc3c09aefce1409bb31c0fb5f564db6d704ffae5
upport/v17/leanback/app/ListRowDataAdapter.java
f7ad2708ca82d44810cbcf4c23133193930c97af 16-Jun-2016 Susnata Basak <susnata@google.com> Merge "Fixing bugs in ListRowDataAdapter(multiple non-visible rows)."
dbac8f49866ec226152849e7d3ace3e8263de1e4 15-Jun-2016 susnata <susnata@google.com> Fixing bugs in ListRowDataAdapter(multiple non-visible rows).

Change-Id: I92602af9214d3ca8522064c3ed7f372417c8a788
upport/v17/leanback/app/ListRowDataAdapter.java
e10477d91fbb3827f0f57740206308236e39ce93 10-Jun-2016 Dake Gu <dake@google.com> GuidedStepFragment: support compute theme from argument or savedInstance

Bug 29221563

Change-Id: Ic843f3fbeff6d8e4abaed2d01900213785f677ee
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
d65bb09424446ea7a577149a640d436d20e8827f 09-Jun-2016 Susnata Basak <susnata@google.com> Merge "Fixing scrolling behavior in BrowseFragment."
b3756c53c5be55e8c8a2f6e2cda264407be84881 08-Jun-2016 susnata <susnata@google.com> Fixing scrolling behavior in BrowseFragment.

When we have a non-visible row at the end of RowsFragment,
it tries to scroll to it, realized there's nothing to display
and then jump back to the previous element. This CL addresses
that by filtering out non-visible items from the end.

Change-Id: I45e9e70343066b008e036c7701f4f1301f7bb40c
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/ListRowDataAdapter.java
88c1cf67c6437e5e0f386b65b9e79605a111bd03 31-May-2016 Dake Gu <dake@google.com> GridLayoutManager: call focusableViewAvailable() inside layout pass

Onboard fragment layouts VerticalGridView, then starts a transition.
focusableViewAvailable() is called in a post runnable, causing a
scroll animation run together with transition.

Move focusableViewAvailable() call into layout pass, if framework
focuses to the view, gridview will align to the view in layout pass,
avoids extra scroll animation.

Bug: 28274171

Change-Id: Id348746c4d93a23527e7e829801e0a63e4622d77
upport/v17/leanback/widget/GridLayoutManager.java
c9a859537b0871f84afeeb706a5b425fe3f2b4dd 25-May-2016 Aurimas Liutikas <aurimas@google.com> Fix a random assortment of spelling errors.

Fix spelling errors found by Android Studio.

Change-Id: I121c79029f4e323da4ff2f44891e25480c44ebbc
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewLogoPresenter.java
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/NonOverlappingLinearLayoutWithForeground.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/ShadowOverlayHelper.java
upport/v17/leanback/widget/StaggeredGridDefault.java
upport/v17/leanback/widget/StreamingTextView.java
upport/v17/leanback/widget/VerticalGridPresenter.java
upport/v17/leanback/widget/VerticalGridView.java
upport/v17/leanback/widget/picker/Picker.java
98a593b56048f6ffcc3557d38ee654dc781798d4 24-May-2016 Keyvan Amiri <keyvana@google.com> Merge "PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in & fade-out" into nyc-dev am: 93c2b64d5c am: 5c823c2808
am: ed005ef588

* commit 'ed005ef58841f887c564067ce2166da10e33dbbe':
PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in & fade-out

Change-Id: Ic8e9d775ed08ad821b4dc18cb27e07a390431f3a
5c823c2808b4aa18348951887c1b5b05c04ef6a6 24-May-2016 Keyvan Amiri <keyvana@google.com> Merge "PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in & fade-out" into nyc-dev
am: 93c2b64d5c

* commit '93c2b64d5c75b9e7f0dd6ae3fa8f4b082a446e78':
PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in & fade-out

Change-Id: Iff69940c38e2fc86f8efe1a63b648c3d9b8e92a8
93c2b64d5c75b9e7f0dd6ae3fa8f4b082a446e78 24-May-2016 Keyvan Amiri <keyvana@google.com> Merge "PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in & fade-out" into nyc-dev
794711994b16b276a7d952303a90fd4da2288362 24-May-2016 Keyvan Amiri <keyvana@google.com> PlaybackOverlayFragment: fixed the wrong focus behavior after fade-in &
fade-out

When a song starts playing, PlaybackOverlayFragment fades out
all the components. After a user pressed a DPAD button however,
the focus shifted to the media player
while the highlight selector still remained on that row.

Now after a fade-out, the focus remains at the same
location as it was if a media item row is clicked.
If the focus was on the media player before fade-out, the focus
resets to the play button after fade-in happens.

Bug: 28916752
Change-Id: I1584a8a96687ed36b740aa033f253f23c89364a9
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
15375aa6fd54b036f97f99229aefab2822c8a1c9 24-May-2016 Aurimas Liutikas <aurimas@google.com> Add missing @Override annotations in support library code.

Change-Id: Ifcc3a20b54d6a14b0a14aa0f48e642cf7e8c0e70
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/picker/DatePicker.java
9a6ea44991261dc55eda2af7247f01ba4d775bf8 23-May-2016 Chris Banes <chrisbanes@google.com> Merge "Null check listener before dereferencing for callback." am: 27b9913521
am: 4747e2b9cc

* commit '4747e2b9cc49d27e7c67fa637b32ba997706d269':
Null check listener before dereferencing for callback.

Change-Id: I2d353b2f44a4d68eba0a98a4bc38a1106dcb874c
27b991352168daf986809f5c01e3f3013892134f 23-May-2016 Chris Banes <chrisbanes@google.com> Merge "Null check listener before dereferencing for callback."
dc819e77b4095005a4b77ca615b3e1e3cc9c1edf 10-May-2016 Dake Gu <dake@google.com> Merge "PlaybackOverlayFragment: allow fadeOut when fadeEnabled is false" into nyc-dev
f86c4e016cb4ea82c337223893b56335e0b213a8 09-May-2016 Dake Gu <dake@google.com> PlaybackOverlayFragment: allow fadeOut when fadeEnabled is false

PIP needs to setFadingEnabled(false) and hide the controls. But when
calling setFadingEnabled(false), the control will be faded in, then
fadeOut() is ignored.

Bug 28667137

Change-Id: Iee6febc9491d0ca0b1bb0431ddcd40aca889357f
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
c1ec7d7eff002329b245a4edb1b87da2f3b5e006 09-May-2016 Dake Gu <dake@google.com> BrowseFragment: fix RTL

Bug 28671940

Change-Id: I2fefe0c667ada922635d961b28b46f808a594f8f
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
3f19c1616ed2749a70ecc764dccb467ec96aa1f4 09-May-2016 Dake Gu <dake@google.com> BrowseFragment: fix NPE when setAdapter in onActivityCreated()

Bug 28451581

Change-Id: Ic2f2169758be7735f509dc7498b45bccb5af1248
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
08b235bf23a8ca8e68aa678d598b6af8fd8a8ddf 07-May-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback media-list support: Added optional customizable actions" into nyc-dev
4fe538f2d65eefc57f618887ccb1226ec1a9741d 28-Apr-2016 Keyvan Amiri <keyvana@google.com> Leanback media-list support: Added optional customizable actions

AbstractMediaItemPresenter now supports arbitrary number of optional
custom actions. Each media item row can consist of multiple, separately
focusable views where each component is highlighted through an animated
drawable.

APIs are provided for capturing click events on media item details or
actions, and dynamically altering the contents of the details or
action views.

Also changed the attribute names to "media items" to make them more
generic for any media item list usage (e.g. music app, podcast, etc.).

Bug: 28636413
Change-Id: I167fc15c3961dec4280a77c1356f1bf571525650
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/AbstractMediaListHeaderPresenter.java
upport/v17/leanback/widget/MediaItemActionPresenter.java
upport/v17/leanback/widget/MediaRowFocusView.java
upport/v17/leanback/widget/MultiActionsProvider.java
3ba1d10e9fb4969b92c324307a9d19d5484de360 05-May-2016 Susnata Basak <susnata@google.com> Merge "Making SearchOrb optional in TitleView." into nyc-dev
b92376f5be24ddee5c6cd7c23b7c7e8e5c2cda68 29-Apr-2016 susnata <susnata@google.com> Making SearchOrb optional in TitleView.

Users are able to provide custom TitleView components. Consequently
we need to make SearchOrb optional inside their TitleView.

Bug: 28471869
Change-Id: I65e3ddf0bf2d1330e547cdcb5d29d88faeb6e000
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
4a978d3d3c1163179ca7b387abcaf572a9a14889 04-May-2016 Chulwoo Lee <chulwoo@google.com> Merge "Run the animators together" into nyc-dev
5740176a71133eeafeed3733c28470fbb590aac7 02-May-2016 Chulwoo Lee <chulwoo@google.com> Run the animators together

Change-Id: Iffd3fd9f81347fb147572cbf97adf0ba5214555a
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
a471ba40d52cde2d5a0afeded68c9d915f76183b 30-Apr-2016 Dake Gu <dake@google.com> BrowseFragment: allow page fragment to delay loading data

When first row of BrowseFragment is a page fragment,
startEntranceTransition() is called when BrowseFragment's adapter is
ready. It is also when page fragment is just created from first
Row of BrowseFragment. But page fragment can take another second
to load its own data, so startEntranceTransition() cannot start
transition immediately, it needs wait the current fragment's data
to be ready.

Added new API for page fragment to notify data is ready, this doesn't
apply to fragment implemented RowsFragmentAdapter because in that case
the fragment is sharing the same adapter of BrowseFragment.

Bug 28471536

Change-Id: Ie9fd475868e0f7cc530b38769d31c0f71d1a2c6c
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
d231d521d71262ff0394a36c47c62fa99a73d945 26-Apr-2016 Susnata Basak <susnata@google.com> Merge "Fixing styling issue with GuidedStepFragment." into nyc-dev
63c6ac5434dd9e6d0f497bc35588b20bf9fb1849 26-Apr-2016 Susnata Basak <susnata@google.com> Merge "Adding support for mapping multiple rows to header items." into nyc-dev
409bbdbd9aa5e8748461b96cae05881a3e3ad75b 26-Apr-2016 Dake Gu <dake@google.com> Merge "GuidedStepFragment: no longer slide content on IME open" into nyc-dev
34c66772dedda7e80513d92084d5189ed469ffc9 26-Apr-2016 Dake Gu <dake@google.com> Merge "leanback: fix choppy main fragment switching" into nyc-dev
c6c8abcf06a958b8d1249d2d966daa8d267dca66 26-Apr-2016 susnata <susnata@google.com> Fixing styling issue with GuidedStepFragment.

GuidanceStylist relies on onPredraw() callback to reposition
child views. This interferes with fragment transition (enter).
To avoid it, we're using custom relative layout to position
the child views in the layout pass thereby avoiding any interference
with transition.

Bug: 28381660
Change-Id: I9ec5188f4b746108a42afb354a151bb3747f5931
upport/v17/leanback/widget/GuidanceStylingRelativeLayout.java
upport/v17/leanback/widget/GuidanceStylist.java
b9fd330aaaede57fd2ff0ac1289429aab7a3cf42 25-Apr-2016 susnata <susnata@google.com> Adding support for mapping multiple rows to header items.

Bug: 28377671
Change-Id: I29b67547378611f64f29ea839c97afda9d554404
upport/v17/leanback/widget/ListRowPresenter.java
cb60a4567ebaf69b87395764e8744fbaee408a09 25-Apr-2016 Dake Gu <dake@google.com> GuidedStepFragment: no longer slide content on IME open

Since key line offset was moved to above center of screen.

Bug 28381660

Change-Id: I89e552d15b58d3864b7d8b05e8c5a21f6453139e
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
9736403e3fbc99ca47b6a45ebab094ecef971f30 23-Apr-2016 susnata <susnata@google.com> Fixing NPE issue with GuidanceStylist.

Bug: 28366486
Change-Id: I690c5c96a5484e74ac69e5506e04671b067261bc
upport/v17/leanback/widget/GuidanceStylist.java
44786b86f4ccb5127d8809ceb9e696f01b08892f 23-Apr-2016 Susnata Basak <susnata@google.com> Merge "Switching from Adaptable to Provider interface." into nyc-dev
d78de5e10e8426beff2ec22a3e3e0967a6b3d557 22-Apr-2016 susnata <susnata@google.com> Switching from Adaptable to Provider interface.

Following the recommendation from API councel team, we are tigheting
the scope of our classes by adopting explicit provider pattern.

Bug: 28271067
Change-Id: Ib39b5255445b7bf71b56ed548ddaecfb491af0ec
upport/v17/leanback/app/Adaptable.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
009c666bbd09f54e9a7a5786d22bfd3135117277 22-Apr-2016 Susnata Basak <susnata@google.com> Merge "Fixing styling issue with GuidedStepFragment." into nyc-dev
041a037dbeb68c17322e62e729ec5ece6c7f5b20 22-Apr-2016 Dake Gu <dake@google.com> leanback: fix choppy main fragment switching

When headers fragment is scrolling, delay switching main fragment
until scroll stops.

Bug 28343973

Change-Id: I6f05778f1d7e9902ade6d6f3638bc5cb203e65d4
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
f7bdb2b37497128b8a9108eea43c17ea544c957a 22-Apr-2016 Alan Viverette <alanv@google.com> Merge "Clean up deprecation tags in support libraries" into nyc-dev
d805095048f6be52cddbd572ee343c4639ba8187 22-Apr-2016 Alan Viverette <alanv@google.com> Clean up deprecation tags in support libraries

Also fixes renderscript and recyclerview docs builds.

Bug: 28339627
Bug: 28073702
Change-Id: I0f38cf82fe260de4488660c87aaed8d26265eeba
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRow.java
50c611b216a4b2c8eb2bbd2a2848bb6da34677be 21-Apr-2016 susnata <susnata@google.com> Fixing styling issue with GuidedStepFragment.

Change-Id: Ia2780de5c44925872d9d5a0996dd99caefdfece1
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
a373804d10f93a9488adc35cf6ce44dce09b3778 21-Apr-2016 Dake Gu <dake@google.com> leanback: allow customize title view branding

Added theme attribute browseTitleViewLayout to customize layout
for title view. The theme attribute is shared across all
BrandedFragment subclasses including BrowseFragment, DetailsFragment,
VerticalGridFragment and ErrorFragment.

Custom layout can provide a customized widget which implements
TitleViewAdapter.

Expose hidden base BrandedFragment class to public in API, this fix
issues of API generator does not handle public methods in
hidden base class.

Refactored ErrorFragment to use BrandedFragment.

Bug 28297243

Change-Id: I355a0a12a1d994b6bb0a63745a0754557a5f4b20
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/TitleHelper.java
upport/v17/leanback/widget/TitleView.java
upport/v17/leanback/widget/TitleViewAdapter.java
16ab389e0bd11594059f8164a1477045ee625154 20-Apr-2016 Dake Gu <dake@google.com> Leanback: Add onGuidedActionCanceled

onGuidedActionEdited() was called for the cancel case and confirm case,
which was very confusing.
Now deprecate this method and introduce onGuidedActionCanceled() method.

Bug 28279231

Change-Id: I000491611b78a7aaba11ed61a5196ac34d7babd6
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionsStylist.java
8ff4c54cdaf5e8164fba7eac999c1ceafc462fc8 16-Apr-2016 Dake Gu <dake@google.com> HeadersFragment tweaking

support two lines header
support divider
support unfocusable section header

Bug 28270725

Change-Id: I41f97e0ccca390db6e440e26567b18faa029e492
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/DividerPresenter.java
upport/v17/leanback/widget/DividerRow.java
upport/v17/leanback/widget/InvisibleRowPresenter.java
upport/v17/leanback/widget/PageRow.java
upport/v17/leanback/widget/PageRowPresenter.java
upport/v17/leanback/widget/Row.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/SectionRow.java
600d0c97c2a40f2477ad844742432dd6945806b1 19-Apr-2016 Dake Gu <dake@google.com> leanback: workaround RV focusSearch() issue.

CL "RecyclerView focus search improvements" breaks the scenario
to keep focus within RV when regular FocusFinder fails.

Returning same focused view in onFocusSearchFailed() is no longer
working since RV.isPreferredNextFocus() rejects it.

This workaround moved logic from onFocusSearchFailed to
onInterceptFocusSearch.

Bug 28246268
Bug 28256038
Bug 28270709

Change-Id: Iabe4b981c40f0282ef0d8d370669692ca612d727
upport/v17/leanback/widget/GridLayoutManager.java
bfa933a3e3aecab19ee507f7425342275381eec1 19-Apr-2016 Susnata Basak <susnata@google.com> Merge "Adding support for customization of TitleView." into nyc-dev
7350fc450e5850b7a3dddff6d63fb87bd24886dd 19-Apr-2016 susnata <susnata@google.com> Adding support for customization of TitleView.

Following the Youtube model, we are adding the ability for page
fragments to control the visibility of TitleView.

Bug: 28269880
Change-Id: I5153f51ff155aeac3186156f79f2ddc0ab34cb42
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/widget/TitleView.java
1df69817819b7432780b242dd18f86f7b60834aa 15-Apr-2016 Dake Gu <dake@google.com> Merge "BrowseFragment: fix bug when MainFragment is initialized early" into nyc-dev
69381509eace8e71ba4886e9e1e78cda62b66516 15-Apr-2016 Dake Gu <dake@google.com> BrowseFragment: fix bug when MainFragment is initialized early

If MainFragment was restored before BrowseFragment's adapter,
the HeadersFragment is empty and user may opens empty HeadersFragment
when pressing LEFT or BACK key.

This change prevent LEFT or BACK at the first place. We cannot
prevent BACK from pop backstack: so in the BACK case,
re-add the stack entry.

Change-Id: I112e746ddd9ac5c2dcc34dec461dce4c65f26f2d
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
d0fc2e48059f718676a531af06a31849f54c1ca9 15-Apr-2016 susnata <susnata@google.com> Fixing the animation issue with TitleView.

Change-Id: I61d3084a95625865f17718022bc0c638d5d0cf17
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
b082c7277cff057bdff19e411e345c3d6fea2e12 14-Apr-2016 susnata <susnata@google.com> Fixing NPE issue in BrowseFragment.

Change-Id: Ia614fca4c5ee39d1346a3b46246191139b1b5161
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
15b0b8fd4f2608c2c12d386f2d2416d02c90b484 15-Apr-2016 Susnata Basak <susnata@google.com> Merge "Revert "Fixing the animation issue with TitleView."" into nyc-dev
3c633c99ead9855d70594f50345d19ac8c56146b 15-Apr-2016 Susnata Basak <susnata@google.com> Revert "Fixing the animation issue with TitleView."

This reverts commit b10ba3b01290ce801180a3d5dc992825af8cb3ab.

Change-Id: I1b401f0d82ff164d99d741e2aea0cb25a352e38e
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
1f370867d60588565cb75212c7827f99f6853630 15-Apr-2016 Dake Gu <dake@google.com> Merge "Add contentDescription for ListRow, HeaderItem and fast lane" into nyc-dev
5410782838dc6c765995bf1442ed8e7f0809faef 14-Apr-2016 Susnata Basak <susnata@google.com> Merge "Fixing the animation issue with TitleView." into nyc-dev
b10ba3b01290ce801180a3d5dc992825af8cb3ab 13-Apr-2016 susnata <susnata@google.com> Fixing the animation issue with TitleView.

Change-Id: Iced7b29e6eb3e0b2f0e36277393a1034696848ed
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
ac30644710e427c77b9d1f20ae385590bdac6c60 14-Apr-2016 Dake Gu <dake@google.com> Add contentDescription for ListRow, HeaderItem and fast lane

This allows app to

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

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

3. Announce when entering "navigation menu" of BrowseFragment

Change-Id: I3006a91c4e8e9bcd72ed0114394ba93b7f3c0295
upport/v17/leanback/widget/HeaderItem.java
upport/v17/leanback/widget/ListRow.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowHeaderPresenter.java
7709986aa43e891046183168a29f3e78d05abcc5 13-Apr-2016 Dake Gu <dake@google.com> Merge "GuidedStepFragment: differentiate clicking confirm button and cancel IME" into nyc-dev
9050c0fc8fbcd8ffe794915375efd5d2b96a0b2d 02-Apr-2016 Dake Gu <dake@google.com> GuidedAction: Add save/restore support

These cases will be saved automatically when autoRestore
is not turned off on GuidedAction:

1. editable none password title
2. editable none password description
3. checked status
4. DatePicker's current selection

Bug 27978256

Change-Id: If52f09e440538fb1d70a697eb69db371f02fd63f
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedDatePickerAction.java
bcc19824dc43bc2e1bf23bccb1263f8de87ac013 13-Apr-2016 Dake Gu <dake@google.com> GuidedStepFragment: differentiate clicking confirm button and cancel IME

It used to call same onGuidedActionEditedAndProceed().
We now call different methods
onGuidedActionEdited()
onGuidedActionEditedAndProceed()

Bug 27989656

Change-Id: If71352e86238a3a37845da3dd39256c518f4bf76
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
dc1492d3655550b7a9c861aae1bd538410c7324d 12-Apr-2016 Dake Gu <dake@google.com> Fix NPE of null FragmentHostImpl

Change-Id: I0e9a6808cb2e0d1df8c7e7b1ed49f95cb5e3e333
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
044783ff434328501a53ed38773cbdc42c89857b 12-Apr-2016 Dake Gu <dake@google.com> Merge "Revert "Fix NPE calling FragmentHost.notifyViewCreated"" into nyc-dev
7560f1efed0774bc6fe0c5cf7030feba51010645 12-Apr-2016 Dake Gu <dake@google.com> Revert "Fix NPE calling FragmentHost.notifyViewCreated"

This reverts commit 185aab211d9c2d889e0fa9cc106da89edb27e567.

Change-Id: I2b69753cfb3ea162d3d5061a3efd26ddd15dea87
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
afc9b9fe07e5d7b1575d1337381ab91276a74a60 12-Apr-2016 Dake Gu <dake@google.com> Merge "Fix NPE calling FragmentHost.notifyViewCreated" into nyc-dev
185aab211d9c2d889e0fa9cc106da89edb27e567 12-Apr-2016 Dake Gu <dake@google.com> Fix NPE calling FragmentHost.notifyViewCreated

When RowsFragment is restored from savedInstanceState, onViewCreated()
is launched before BrowseFragment setFragmentHost on MainFragmentAdapter.

Change-Id: Iaccda53080bcd91b4991df6d0e63868d221c8204
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
24e53dc0c9e5fd32556eaa9265b9f1dec48c3989 12-Apr-2016 Susnata Basak <susnata@google.com> Merge "Adding support for displaying TitleView inside page/rows fragments." into nyc-dev
6fd4441435b14669deced90a05097dd5fe459ace 06-Apr-2016 susnata <susnata@google.com> Adding support for displaying TitleView inside page/rows fragments.

Currently, BrowseFragment shows titleview when we scroll to the
top row and hide it when we scroll away. But when we move into
the content section, we don't show the titleview. This Cl will
allow clients to show titleview inside their fragment.

Change-Id: I81489e25165135d71acb376248ba2a000788413f
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
a749f750d38ef6123d0299805436a1290db7d9e3 12-Apr-2016 Susnata Basak <susnata@google.com> Merge "Fixing the issue with progress bar." into nyc-dev
6bab657cffc32270d494ab47f469658f14e17c56 12-Apr-2016 susnata <susnata@google.com> Fixing the issue with progress bar.

If we call hide() before the progress bar is actually shown,
the hide request is ignored. This cl takes care of the pending
hide request.

Bug: 28040656
Change-Id: I0c18ee3040620f55c62c5bb4f9a244c3a9f9b0aa
upport/v17/leanback/app/ProgressBarManager.java
6a8b0fd35afda4d204e3f46d192bf20f510185d9 08-Apr-2016 Chulwoo Lee <chulwoo@google.com> Support customization of paging indicator dimensions

Bug: 26024822
Change-Id: I24238f46d30e9b289cc24adfd8ae01c2c59d37ba
upport/v17/leanback/widget/PagingIndicator.java
4ec5f7292678de5949e76c9076bee4465a139962 02-Apr-2016 Dake Gu <dake@google.com> Merge "GuidedStep: Fix addAsRoot() restoring problem" into mnc-ub-dev
am: 2634f01

* commit '2634f01e2cd3ec949cd4c3b566cb3e96b3b130c3':
GuidedStep: Fix addAsRoot() restoring problem

Change-Id: I0cdba20ec44676c44aeab8796a763cfdd0d96842
68a94e5c24b85f071fb57727954510fff0224d9c 01-Apr-2016 Dake Gu <dake@google.com> GuidedStep: Fix addAsRoot() restoring problem

Should only add fragment when savedInstanceState is not null.
Since Activity.onCreate(savedInstanceState) will restore
the FragmentManager and Framgnets.

This CL dumps a warning and skip creating fragment when detected
duplicated fragment.

Bug 27972030

Change-Id: Iaa3177b0b70877ffea25e49d44f5be778a734a55
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
34cbdda09048e72ba91bbb123f3a0c57a4e34b93 01-Apr-2016 Dake Gu <dake@google.com> GuidedStep: Add back the focus in onResume
am: 5b20ee9

* commit '5b20ee9a8d24e70f5e9f2d134440885241a00586':
GuidedStep: Add back the focus in onResume

Change-Id: Ic25cf0f371ef01b1a39e66e6f44cbe5891769253
5b20ee9a8d24e70f5e9f2d134440885241a00586 01-Apr-2016 Dake Gu <dake@google.com> GuidedStep: Add back the focus in onResume

When opening GuidedStepFragment from a Fragment with focus,
GuidedStepFragment should requestFocus() when it is resumed.

Bug 27970073

Change-Id: I96639ef806f5a9877d8c7dba6e49ea944f3099f7
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
39dff61bd1d6107b545a02988e2cca5a3a5a1d2c 01-Apr-2016 Keyvan Amiri <keyvana@google.com> Merge "Revert "Revert "Leanback Support: Added support for rendering media items in a playlist""" into nyc-dev
b6ea4fa686b06fdb91f10998bd1d4b14c14af0ce 31-Mar-2016 Keyvan Amiri <keyvana@google.com> Revert "Revert "Leanback Support: Added support for rendering media items in a playlist""

This reverts commit 5d65f5e507e1c11e65c1c29728545821d9726f73.

Change-Id: Iada2af5185018d203ee5edc8a0c0efc68e5934bd
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/AbstractMediaListHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
9ee42e485eaacb41a07a441be09bf94e0feec37d 31-Mar-2016 Dake Gu <dake@google.com> Merge "leanback: switch to use helper methods for margins" into nyc-dev
79ff332bab6f8e85643a2302b9aae433b54db5b1 31-Mar-2016 Dake Gu <dake@google.com> Merge "Revert "Leanback Support: Added support for rendering media items in a playlist"" into nyc-dev
5d65f5e507e1c11e65c1c29728545821d9726f73 31-Mar-2016 Dake Gu <dake@google.com> Revert "Leanback Support: Added support for rendering media items in a playlist"

This reverts commit cea4884a1494192ffdd78bd2e72fb3c53ec027fd.

Change-Id: Id1175086e448caa9f65a628fff1f0b66690d94a6
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/AbstractMediaListHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
95e0df2fce7fd3f6585ef01ff588879839175181 31-Mar-2016 Susnata Basak <susnata@google.com> Merge "Adding support for clients to call methods on BrowseFragment." into nyc-dev
0c02f226ad952c3afa1d2e5e6adb990d9a96b4cc 31-Mar-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback Support: Added support for rendering media items in a playlist" into nyc-dev
cea4884a1494192ffdd78bd2e72fb3c53ec027fd 25-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: Added support for rendering media items in a playlist

Created abstract presenters for media header and playlist that define
the layout and views for rendering tracks in a vertical playlist format.
Also created themes and styles for customizing individual widgets within
the playlist header and media items.

Users of this class must subclass these presenters in order to bind
their own arbitrary header or media item data models to the views
provided by these abstract media presenters.

Change-Id: I14d5389ae1f826fb91b5d8d28de607c8753084b6
upport/v17/leanback/widget/AbstractMediaItemPresenter.java
upport/v17/leanback/widget/AbstractMediaListHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
7874ba8942718e7bd249e65adc0baddb76dd102c 31-Mar-2016 Tony Mantler <nicoya@google.com> Merge "Implement scrollToPosition in GridLayoutManager" into nyc-dev
cabb8eca86d0248274f57008ff66427fec2e927c 31-Mar-2016 susnata <susnata@google.com> Adding support for clients to call methods on BrowseFragment.

Change-Id: I3fdf60f6bd74e0c62f5133b112e9c41636819da1
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
d25c850c5d8053809d260d34c4d4d526da992d4f 31-Mar-2016 Dake Gu <dake@google.com> Merge "Fix GudiedStep GridView focus 2nd try" into mnc-ub-dev
am: e12b873

* commit 'e12b87372d9c4c745fa54e124947316e0ecc6c88':
Fix GudiedStep GridView focus 2nd try

Change-Id: I3d21829267ead27d0025f5ad4a2d58bed5a80c2a
015eaf265571c84b5d37311f58bc69b2eb4af8d4 30-Mar-2016 Dake Gu <dake@google.com> Fix GudiedStep GridView focus 2nd try

Setting focusable in style/layout doesn't work for RecylerView,
so set the attribute in GuidedActionsStyleList.

Making grid view not focusable causing another issue: in Fragmet
to Fragment transition, fragment.onResume() does not have any item
view in the action list yet. So actionlist.requestFocus() gets
ignored. Fixing this by declaring focusableViewAvailable() when
RecylerView layout pass added focusable children.

Bug 27886380

Change-Id: Ic95db8fb60d6e6c309f5a8d45642dbe0505d457b
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedActionsStylist.java
ca5ab1a00298f1c1ad5227e352b8ae2e67c079a7 31-Mar-2016 Tony Mantler <nicoya@google.com> Implement scrollToPosition in GridLayoutManager

Just call through to setSelection.

Also remove extraneous parameter in setSelection calls.

b/27248919

Change-Id: I31aca71934e5ff62c468061be947c88ddaa0e42a
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
e2443a93fcb82151f5290b89617b34b69442fdd3 29-Mar-2016 Dake Gu <dake@google.com> leanback: switch to use helper methods for margins

Switch to use RecyclerView helper methods with margin support.
Added test cases for optical bounds used together with margins and
item decoration.

Change-Id: I021a4f1c6c6c777845a7379fd8c23a128a13356c
upport/v17/leanback/widget/GridLayoutManager.java
54bab13ae9de4dd00002792bebf9531ede3c12e2 28-Mar-2016 Dake Gu <dake@google.com> BrowseFragment: Fix NPE when exiting

Header transition onTransitionEnd() might be fired after onDestroyView()

Change-Id: I14d49c30d83d46e8ea1442bf41332523cf82cf66
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
1e0f144c00c249ce3673ae10c1398537cd354f15 28-Mar-2016 Chulwoo Lee <chulwoo@google.com> Don't use container in Fragment.onCreateView

It can be null.

Change-Id: I5ce18392f6835f89bd9fad576708592fd8ba6c2f
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
9fc9697041379aa7fb93de81cfade751fd181d66 26-Mar-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback Support: ClassPresenterSelector now supports both Presenter and PresenterSelector" into nyc-dev
7d27a45ebd455e2cb35505d589c562dba27e3710 26-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: ClassPresenterSelector now supports both Presenter and
PresenterSelector

Added addClassPresenterSelector to ClassPresenterSelector to support
adding PresenterSelectors. This makes it convenient to define inner class
PresenterSelectors that define different presenters for objects of the
same class and use them within the same ClassPresenterSelector.

Change-Id: I5430aae96c137e6de1b3eb737f0e8ccec1bd5354
upport/v17/leanback/widget/ClassPresenterSelector.java
eae1c323930b88acfb1c9171edad5abb8bcdae54 25-Mar-2016 Dake Gu <dake@google.com> leanback: Fix ItemDecoration
am: 5509e27

* commit '5509e275a04396bfb16b3a217c5392a864398174':
leanback: Fix ItemDecoration
5509e275a04396bfb16b3a217c5392a864398174 25-Mar-2016 Dake Gu <dake@google.com> leanback: Fix ItemDecoration

1. We should skip the optimizaton of checking isLayoutRequested()
Because when child view's decoration changes, it will not
be layout requested.
2. calculate opticalInsets is wrong, it doesn't count the decoration
offset, so incorrectly put decoration insets as optical insets.

Bug 27794028

Change-Id: Ide4f907764a4f35507c32ba3db764f8ad4ccd090
upport/v17/leanback/widget/GridLayoutManager.java
0871d9fcdb56eb87ddb1ab16b4ca3bd9fb426750 25-Mar-2016 Dake Gu <dake@google.com> Merge "leanback: Fix selection offset when restoring gridview" into mnc-ub-dev
am: 1cf161b

* commit '1cf161b0830594d6a14c5e8c297b6ceab69ad254':
leanback: Fix selection offset when restoring gridview
936fd406f49a6fae8768084e84fa7d1beccf40a9 19-Mar-2016 Dake Gu <dake@google.com> leanback: Fix selection offset when restoring gridview

We add offset to selected position in onItemAdded, this
should be avoided before LM layout children.

Bug 27819090

Change-Id: I299832c491bff19846f1f7bacda01ecb8ea685ea
upport/v17/leanback/widget/GridLayoutManager.java
dee82957d1100c2b65e6850769abd3ff00f1ec95 24-Mar-2016 Dake Gu <dake@google.com> leanback: fix regression

Bug 23415833

Added back the check if fragment/activity is destroyed

Change-Id: Ic8321424dab2d608b14b0e1610c9b356a974593d
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
6b0ab7ef6ee771896b72d77912b9aa9757071081 24-Mar-2016 Dake Gu <dake@google.com> Merge "Leanback: Fix crash in navigation and removing a view" into mnc-ub-dev
am: ea07ad9

* commit 'ea07ad9313b138a4dae1e0b6c3fbcc90bc010082':
Leanback: Fix crash in navigation and removing a view
678a58f6a6772d955f21d1ff869f2bcd999aade3 23-Mar-2016 Dake Gu <dake@google.com> Leanback: Fix crash in navigation and removing a view

We should exclude removing view (but still focused) from focus search.
It crashes because we start searching from removing view's index in
RecyclerView which might be out of range of LM.getChildCount().

Bug 27766012

Change-Id: I6adc629dd3210abeb84072dc3f07d45b522d1b8a
upport/v17/leanback/widget/GridLayoutManager.java
d45098e7da33275e666708ed3113e0140efe4d10 23-Mar-2016 Susnata Basak <susnata@google.com> Merge "Adding support for ProgressBar widget inside BrowseFragment." into nyc-dev
684f4a94f6f55b2abc5ed2677dfdfc9501dd6407 18-Mar-2016 susnata <susnata@google.com> Adding support for ProgressBar widget inside BrowseFragment.

Change-Id: Ie2c5833e6f244dfcaf23fbaccc8c7936eb81f361
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/ProgressBarManager.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
fbf6d8f4bb8797933f1d8777c8148d1a9a224a42 23-Mar-2016 Chulwoo Lee <chulwoo@google.com> Merge "Add attribute for PagingIndicator" into nyc-dev
9b5ef3e2e264a624058bc514e05cf5e5dc8d94b9 23-Mar-2016 Chulwoo Lee <chulwoo@google.com> Add attribute for PagingIndicator

The dot color should be able to be changed by the sub class.

Change-Id: I17c05a9a02841849a5531d6ddde6c7125d1dc852
upport/v17/leanback/widget/PagingIndicator.java
4ae82bc986d9db949505ecbee83d1bfae25ce256 23-Mar-2016 Dake Gu <dake@google.com> Merge "BrowseFragment: fix ClassCastException" into nyc-dev
3eb709dbe85f06b69cf1b683a2c1fe7109a85a9a 22-Mar-2016 Dake Gu <dake@google.com> BrowseFragment: fix ClassCastException

Fix classCastException in fast scrolling to a PageRow.
When OnItemSelected is fired, mainfragment might already switched to
a Page Fragment.
This fix binds the onItemSelected listener to MainFragmentRowsAdapter.

Change-Id: I59b0665545f28ed0c650a1f28fdce04de9234a14
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
13ea718f8c985c0e04a94c6b46e8e81ec00eec15 21-Mar-2016 Dake Gu <dake@google.com> leanback Fix typo caused extra select event being fired
am: a2aafea

* commit 'a2aafea6e51bb33581853e16c21d546b316a52a3':
leanback Fix typo caused extra select event being fired
a2aafea6e51bb33581853e16c21d546b316a52a3 21-Mar-2016 Dake Gu <dake@google.com> leanback Fix typo caused extra select event being fired

Bug 27775003

Change-Id: I4d9f693c2e42a3bc51c528d8f723de90a2da6300
upport/v17/leanback/widget/GridLayoutManager.java
0d841b3454f896da58deb506ca22730bfd04f34f 19-Mar-2016 Dake Gu <dake@google.com> leanback: fix row selection problems

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

Bug 27751344 BrowseFragment missing item in OnItemSelected event

Bug 27751870 RowsFragment does not update mSelectedPosition

Change-Id: If455ccaeee6b10bbfed9586e73f55449a825250d
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
e2e9faf86bd8b8a2953bd9f89e731d1c6357eb66 19-Mar-2016 Dake Gu <dake@google.com> DO NOT MERGE leanback: fix row selection problems

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

Bug 27751344 BrowseFragment missing item in OnItemSelected event

Bug 27751870 RowsFragment does not update mSelectedPosition

Change-Id: Ib4cd980f295bdf4dcff87d255edca6e009d919d7
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
a5a85434f936023043f074fb86eaa6d48f7f6411 17-Mar-2016 Dake Gu <dake@google.com> BrowseFragment: Fix enter transition for lazy loaded MainFragment

Entrance transition stops working because the MainFragment is no longer
created in onViewCreated().

It causes two issues:
1. mMainFragment.setEntranceTransitionState(false) and
onPrepareEntranceTransition() are called before mMainFragment is
created, thus gets ignored.
2. The entrance transition is launched too early before mMainFragment
view is created.

The fix abstracted precondition for prepareEntranceTransition()
and precondition for startEntranceTransition(). Refactored
code using a StateMachine defining preconditions and actions for
each step.

Change-Id: I5d5abe60cfdf896e0bdb2ffaa1afa6e4f1faf7b4
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/util/StateMachine.java
cfcb31c4895793dda843faf67d1b769268e3cce8 18-Mar-2016 susnata <susnata@google.com> Adding a default fragment factory in BrowseFragment

Change-Id: I677e340c0315bd36bf9ef8d3285cb5436b9f2f2a
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
7541e4bfa0c9fff31bcb12fc5a94365565388715 17-Mar-2016 Aurimas Liutikas <aurimas@google.com> Check for saved state type in onRestoreInstanceState.
am: bb58a82

* commit 'bb58a82daf11bf3c056d1cd5887aa26435d37b69':
Check for saved state type in onRestoreInstanceState.
bb58a82daf11bf3c056d1cd5887aa26435d37b69 16-Mar-2016 Aurimas Liutikas <aurimas@google.com> Check for saved state type in onRestoreInstanceState.

Add instanceof check in onRestoreInstanceState calls throughout
frameworks/support code.

Bug: 27589237
Change-Id: Id9db70de03979379ca9d98bb8599ac9fa2b46218
upport/v17/leanback/widget/PersistentFocusWrapper.java
c0ad3d1d9ee64cf0bdb68ac70bfb04cc919c53e6 16-Mar-2016 Dake Gu <dake@google.com> Fix BrowseFragment NPE by lazy loading

When setAdapter() before onCreateView(), the HeadersFragment is null.
We used to guard by mMainFragment != null.

Change-Id: I0388ac57b2c7e48f29652cb71723e6605384361f
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
2aff8659c7362b48f099a13ffad390bf7984dd5a 16-Mar-2016 Jaewan Kim <jaewan@google.com> Fix NPE

This is regression caused by
a9cab85 Refactoring BrowseFragment to support multiple PageRows.

Change-Id: Icee00d676178320aa7c88d76c63a3e77fd0c09ed
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
ed8d4bbcd2d4c758edda7ba575b0f6ed2eb0c497 16-Mar-2016 Susnata Basak <susnata@google.com> Merge "Adding support for lazy adapter loading in BrowseFragment." into nyc-dev
bb0a680c10b84b83833a59634373140f8bd0750c 14-Mar-2016 susnata <susnata@google.com> Adding support for lazy adapter loading in BrowseFragment.

Change-Id: Iedc3a85d12434c3d04cc53170f2b2190437b3d4c
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
22eaa9441bf3a521bfafb160674ff2da421eded8 15-Mar-2016 Dake Gu <dake@google.com> Loosen the requirement of using Row inside RowsFragment.

Only BrowseFragment requires rows to be subclass of Row which includes a Header.
RowsFragment, DetailsFragment and PlaybackOverlayFragment can now put any
object as rows; they should still use RowPresenter to support the selection event.

Change-Id: Id97e6ec27dfbf3bcc87449db4a6695f51588945d
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/BaseOnItemViewClickedListener.java
upport/v17/leanback/widget/BaseOnItemViewSelectedListener.java
upport/v17/leanback/widget/OnItemViewClickedListener.java
upport/v17/leanback/widget/OnItemViewSelectedListener.java
upport/v17/leanback/widget/RowPresenter.java
044eba884dd3b2488e78ff0d3b38766820091cc5 15-Mar-2016 Susnata Basak <susnata@google.com> Merge "Revert "Revert "Improving Row/Page fragment handling in BrowseFragment.""" into nyc-dev
fb11ded6cfa3965883e68625e0c7e14b4b4fe0b3 15-Mar-2016 Susnata Basak <susnata@google.com> Revert "Revert "Improving Row/Page fragment handling in BrowseFragment.""

This reverts commit 80a1d2dfbe5c1f26370cc1753c3ae321f126f5d2.

Change-Id: I98961927b6428b6a741939ce1c09ae6a1855a508
upport/v17/leanback/app/Adaptable.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
1dab5fc924e9488b297d2e6cdd8e85c5353c327f 15-Mar-2016 Carlos Valdivia <carlosvaldivia@google.com> Merge "Revert "Improving Row/Page fragment handling in BrowseFragment."" into nyc-dev
80a1d2dfbe5c1f26370cc1753c3ae321f126f5d2 15-Mar-2016 Carlos Valdivia <carlosvaldivia@google.com> Revert "Improving Row/Page fragment handling in BrowseFragment."

This reverts commit 4400ca12ff731a7392715bc3d8ad3539b4c37889.

Change-Id: I9f30e33f64b4520327da614f6a4755d2bf292141
upport/v17/leanback/app/Adaptable.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
31ecc0629548642cf98ff9e984300c2535fbf7e6 15-Mar-2016 Susnata Basak <susnata@google.com> Merge "Improving Row/Page fragment handling in BrowseFragment." into nyc-dev
25ea2c39a03d7ca6c2d2a6185e75bb03c9d4623a 10-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: Fixed the crash for dateformats with less than three
fields

Added a check in DatePicker to make sure that the date column being
processed exists in the specified date format, otherwise it crashes
for number of fields less than three.

Bug 27655071

Change-Id: I30e2d5f3a1317fa54c23ec655a1a7165ba1cbd86
(cherry picked from commit caf252f1367feb333ab64fcd746aadecfe7d2662)
upport/v17/leanback/widget/picker/DatePicker.java
4400ca12ff731a7392715bc3d8ad3539b4c37889 11-Mar-2016 susnata <susnata@google.com> Improving Row/Page fragment handling in BrowseFragment.

Change-Id: I68eed234dc3dc10eb14aafc42478360578fa21a0
upport/v17/leanback/app/Adaptable.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
299f5abe5c314e085dd82428c25932bb9220f47f 07-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: Fixed the constant date range updates in DatePicker which
also fixed animation jumps

When scrolling vertically across a datepicker field, the date ranges kept
being changed resulting in the scroller adapter to be constantly updated.
This in turn resulted in undesirable animation jumps when hitting the top
or bottom range values.
Now, the range is always kept up-to-date and is updated only when
needed.

Bug: 27527022
Change-Id: I8f2799a05c1432839ec8a034f4b85da30e2124fb
(cherry picked from commit d27d42e5bb400a7ee883a1496ee64f09de586c8e)
upport/v17/leanback/widget/picker/DatePicker.java
caf252f1367feb333ab64fcd746aadecfe7d2662 10-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: Fixed the crash for dateformats with less than three
fields

Added a check in DatePicker to make sure that the date column being
processed exists in the specified date format, otherwise it crashes
for number of fields less than three.

Change-Id: I30e2d5f3a1317fa54c23ec655a1a7165ba1cbd86
upport/v17/leanback/widget/picker/DatePicker.java
3155d10b5debd0b67101553edf65f4284a57cb68 09-Mar-2016 Susnata Basak <susnata@google.com> Merge "Refactoring BrowseFragment to support multiple PageRows." into nyc-dev
a9cab85f79e3993c3d7c4f5e0246f8492bcc2a48 08-Mar-2016 susnata <susnata@google.com> Refactoring BrowseFragment to support multiple PageRows.

Change-Id: Icabfb34d001dda3dddefadea55e59682f9ad681c
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
ab6cfa17d463f56a75e0b8c0457fcb099ab09178 08-Mar-2016 Chulwoo Lee <chulwoo@google.com> Merge "Unhide OnboardingFragment" into nyc-dev
421f4b36f688375f303286a2339304d12f2656e3 07-Mar-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback Support: Fixed the constant date range updates in DatePicker which also fixed animation jumps" into nyc-dev
d27d42e5bb400a7ee883a1496ee64f09de586c8e 07-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support: Fixed the constant date range updates in DatePicker which
also fixed animation jumps

When scrolling vertically across a datepicker field, the date ranges kept
being changed resulting in the scroller adapter to be constantly updated.
This in turn resulted in undesirable animation jumps when hitting the top
or bottom range values.
Now, the range is always kept up-to-date and is updated only when
needed.

Bug: 27527022
Change-Id: I8f2799a05c1432839ec8a034f4b85da30e2124fb
upport/v17/leanback/widget/picker/DatePicker.java
5902461209082cea73ccebb52b0e452cdd97ac37 07-Mar-2016 Susnata Basak <susnata@google.com> Merge "Fixing the alignment issue in BrowseFragment." into nyc-dev
3faa5780307cf10ff0e4a1d89a9ba099cdad2e15 07-Mar-2016 susnata <susnata@google.com> Fixing the alignment issue in BrowseFragment.

Change-Id: I509b066eea54a77c4beb3f6d9caf1f72c7595a4f
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
b2121d7935303972c0d515c29b9771c74311c8ba 05-Mar-2016 Keyvan Amiri <keyvana@google.com> DO NOT MERGE ANYWHERE Leanback Support Library: Fixed issue with GuidedStepFragment actions
disappearing after an action is collapsed

The recycler view, by default, prunes children of mActionsGridView
when they were pushed off of the screen after expanding actions.
Fixed that by disabling the pruning behavior before an action
is expanded (after the first click on an action),
and enabling it back after the action is collapsed
(after the second click on that same action).

Bug: 27482284
Change-Id: Ibf0ba8c3bae271059e6bea0202fefe9b16acc867
(cherry picked from commit 0740d73b910f78f4ee33db9bdee0b4d5a0aa20f6)
upport/v17/leanback/widget/GuidedActionsStylist.java
be5bcc2e3b3bbe468c1425b2919e1fa072af1854 07-Mar-2016 Dake Gu <dake@google.com> Override addViewInLayout to apply scale factor

Apply scale factor in alternative path of adding child.

Change-Id: I8ee998da3c97ab7a53854e3a493510f78380f347
upport/v17/leanback/widget/ScaleFrameLayout.java
0740d73b910f78f4ee33db9bdee0b4d5a0aa20f6 05-Mar-2016 Keyvan Amiri <keyvana@google.com> Leanback Support Library: Fixed issue with GuidedStepFragment actions
disappearing after an action is collapsed

The recycler view, by default, prunes children of mActionsGridView
when they were pushed off of the screen after expanding actions.
Fixed that by disabling the pruning behavior before an action
is expanded (after the first click on an action),
and enabling it back after the action is collapsed
(after the second click on that same action).

Bug: 27482284
Change-Id: Ibf0ba8c3bae271059e6bea0202fefe9b16acc867
upport/v17/leanback/widget/GuidedActionsStylist.java
d114436ff3874abf9635b716f3322cb14735d53a 05-Mar-2016 Susnata Basak <susnata@google.com> Merge "Adding support for scaling individual fragments inside BrowseFragment." into nyc-dev
ce06f6b530f22e1e7839d068d5dd8ea3e4af8262 04-Mar-2016 Dake Gu <dake@google.com> SearchFragment: request RECORD_AUDIO runtime permission

Added callback in SearchBar to request runtime permission when start
using internal recognizer. SearchFragment implements the callback,
request permission and re-startRecognition when permission is granted.

Bug: 23958590

Change-Id: I3090e16b76eb592c3336434781f9f69cd2f6e14b
upport/v17/leanback/app/PermissionHelper.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/SearchBar.java
f7a4099b29d7739616dd9d7e466b48dfda4b32f2 04-Mar-2016 susnata <susnata@google.com> Adding support for scaling individual fragments inside BrowseFragment.

Change-Id: Ia483c7800944391a91862bcbac6565e4549fdb93
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
a0c6cf7b04195cc373024f0d33e5a0ac7f061241 04-Mar-2016 Susnata Basak <susnata@google.com> Merge "Moving all scaling logic into BrowseFragment." into nyc-dev
ebe4901e5e467a8ff9a4e2a203a589f9755de329 19-Feb-2016 Chulwoo Lee <chulwoo@google.com> Unhide OnboardingFragment

Bug: 26024822
Change-Id: Ibaa4e3e70809a4cf290f99318156c2ed223e3379
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
a9f6062bd2dd02b3de253b57c69302893bf1f2e3 03-Mar-2016 susnata <susnata@google.com> Moving all scaling logic into BrowseFragment.

Change-Id: I00c3ce502903730c239d4b0510e56f6484065dd2
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/ScaleFrameLayout.java
4a4238c62f42657d25bb102e728082d49cdea625 03-Mar-2016 Dake Gu <dake@google.com> Merge "leanback DatePicker: fix range updates" into mnc-ub-dev
am: f2210ecaaa

* commit 'f2210ecaaa5e6b629f88e03b26f172d9114ff0d9':
leanback DatePicker: fix range updates
9ec66b7209a1b939b93438b909e863129b2ceedf 02-Mar-2016 Susnata Basak <susnata@google.com> Merge "Refactoring BrowseFragment to support single page fragments." into nyc-dev
1c3ce0fa10ec24e4edd5e5ea909b4d4357534b53 23-Feb-2016 susnata <susnata@google.com> Refactoring BrowseFragment to support single page fragments.

Change-Id: Iccf5de0fd3f1b38667d450b3fd110200afb914a3
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsFragmentAdapter.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/RowsSupportFragmentAdapter.java
upport/v17/leanback/widget/PageRow.java
upport/v17/leanback/widget/PageRowPresenter.java
34914fd296a56b55c3c6c3183c7b58c4f16ca775 01-Mar-2016 Dake Gu <dake@google.com> leanback DatePicker: fix range updates

Missing a notifyDataSetChange in scroll pass caused the mess, do the
updateSpinner in a post Runnable

Bug 27431465

Change-Id: I489b19645ee0934e15beb7dcb131f150b5cfa0d1
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
17ffb0b4ff1a9470d23bbe22ea31cfd3fabe467a 01-Mar-2016 Dake Gu <dake@google.com> Merge "leanback: customize focusables in secondary direction" into mnc-ub-dev
am: 33edf072df

* commit '33edf072df1c153a8689c07de5de2cd8836b6f6c':
leanback: customize focusables in secondary direction
33edf072df1c153a8689c07de5de2cd8836b6f6c 01-Mar-2016 Dake Gu <dake@google.com> Merge "leanback: customize focusables in secondary direction" into mnc-ub-dev
362fda0323b85ec2379967901a0bd33a2ad4b8b5 25-Feb-2016 Dake Gu <dake@google.com> leanback: customize focusables in secondary direction

When the focus search direction is PREV_ROW or NEXT_ROW,
we fall back to default addFocusables() which basically
add all children and descendants within RecyclerView.

This isn't the default behavior desired when navigating LEFT
out of a vertical list, we do not want the siblings of
current focused item to be part of focusables list.
Because the siblings might got a higher score in FocusFinder.

In the broken case (a modified browse row moves first card to
the middle when it gets focused), sibling browse row's first
card gets a higher score than left side navigation menu because
they are closer to current focused card.

This fix explicitly handles PREV_ROW and NEXT_ROW case
and overrides default addFocusables(), it wont add siblings when
they are on same grid ROW.

Bug 27258366

Change-Id: I2e11cea7bc8e370fbda0be1dc5ccccb587a3fb43
upport/v17/leanback/widget/GridLayoutManager.java
f80eefeee0e5af34c2aa0f4058612def96c1d27f 25-Feb-2016 Dake Gu <dake@google.com> BrowseFragment: Fix alignment

Broken in refactoring

Change-Id: I75117964addaba081c89d6d572dfec97657e2460
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
6b82086170658ccce079766ce277bd5e504a49df 22-Feb-2016 Alan Viverette <alanv@google.com> Merge "GuidedStepFragment item accessibility fix" into mnc-ub-dev
am: 02fded4583

* commit '02fded4583e8f675b23eb5278d43b9c942c8883e':
GuidedStepFragment item accessibility fix
ed6ddac644df9949403f1a01e1224a37cb568feb 20-Feb-2016 Dake Gu <dake@google.com> GuidedStepFragment item accessibility fix

set VisibleToUser=false is a hack fix, the EditText is visible
to user. Instead, make EditText not clickable and not focusable,
so the EditText will not get a11y focus.

Bug 26692260

Change-Id: I997b899e317f44e6c043df4406619e648fb5998c
upport/v17/leanback/widget/GuidedActionEditText.java
upport/v17/leanback/widget/GuidedActionsStylist.java
74b156b733925039d690efb9d252532f35d6beaa 19-Feb-2016 Susnata Basak <susnata@google.com> Merge "Refactoring BrowseFragment to support page fragments." into nyc-dev
2f5ebf3f6f7bb6a24856f389e369b247118ba119 18-Feb-2016 susnata <susnata@google.com> Refactoring BrowseFragment to support page fragments.

Change-Id: I2c4af2782443ba4fb957642a68ead563877fa0ed
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
900505d3c7f595fa161a70526dec2fec72f50d72 19-Feb-2016 Chulwoo Lee <chulwoo@google.com> Fix minor bugs
am: 1dd331211b

* commit '1dd331211beded89ec02c37d68afced18d329375':
Fix minor bugs
1dd331211beded89ec02c37d68afced18d329375 19-Feb-2016 Chulwoo Lee <chulwoo@google.com> Fix minor bugs

- Fix wrong class name in layout.
- Call getters/setters explicitly to guard from the proguard.

Change-Id: I443d416c76aeb05adaac2dddea9edda7a661afa7
upport/v17/leanback/widget/PagingIndicator.java
e22092227572db7e749e5cbb8139aa79a18fecd5 18-Feb-2016 Chulwoo Lee <chulwoo@google.com> Revert "Revert "Theme OnboardingFragment""

Added the change for fixing build.

This reverts commit 294f8ce702e7134ab8652101d2abac47795a56e9.

Change-Id: Icb5ad9e436837021c6abf43d77677be2230c705b
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
011d4dc36e26dacbfbd213e223091aa8dc89d115 18-Feb-2016 Chulwoo Lee <chulwoo@google.com> Fix build on mnc-ub-dev

Adding @hide caused the build breakage.

Change-Id: I6a87838757c3dce2e0b7972d31193a9aeae8a55d
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
294f8ce702e7134ab8652101d2abac47795a56e9 18-Feb-2016 Brian Carlstrom <bdc@google.com> Revert "Theme OnboardingFragment"

This reverts commit 5f0182eace42f35a6bf18f3699f1706a64b41470.
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
b7dd08e359e1e71200daa307cafa3cbbb73e7869 18-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Theme OnboardingFragment" into mnc-ub-dev
am: 53351f0ef3

* commit '53351f0ef3c9041aefabbaef409a09cacaaff730':
Theme OnboardingFragment
63de67ad4e954f49ba030210fb2d21fbc3efec5b 18-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "RTL support in onboarding" into mnc-ub-dev
am: 315c581396

* commit '315c581396f861fb927c70d524964d5c4e9fd6c8':
RTL support in onboarding
5f0182eace42f35a6bf18f3699f1706a64b41470 12-Feb-2016 Chulwoo Lee <chulwoo@google.com> Theme OnboardingFragment

Support three ways as GuidedStepFragment does.
Still need to customize Page Indicator.

Bug: 26024822
Change-Id: Id553752a264611aea180a4494fe3946f1a4c30e1
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
315c581396f861fb927c70d524964d5c4e9fd6c8 18-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "RTL support in onboarding" into mnc-ub-dev
565559f19379a308990b8587bb2a3b65ea999680 18-Feb-2016 Keyvan Amiri <keyvana@google.com> Merge "Leanback Support Library: refactored all GuidedAction boolean attributes into a single integer flag" into nyc-dev
accd54788b769d62a99300306741551fe207b2d4 16-Feb-2016 Keyvan Amiri <keyvana@google.com> Leanback Support Library: refactored all GuidedAction boolean attributes
into a single integer flag

GuidedAction had multiple boolean attributes for customizing each
action. Now represented a single bit for each one of these attributes
and
gathered them all into one integer flag similar to the way attributes
are interpreted in "View.java".

Change-Id: I3faa944e5ca74392935ce7c2d9f67a9de0d37b5a
upport/v17/leanback/widget/GuidedAction.java
10c68e10d549ba74f9999e36c9728628fd7aad6e 17-Feb-2016 Dake Gu <dake@google.com> Merge "Fix crash: Dont fetch items in onMeasure when HasFixedSize is true" into mnc-ub-dev
am: 19882964d4

* commit '19882964d4f7ad97fa8fc6c8ed032c63db62cbdd':
Fix crash: Dont fetch items in onMeasure when HasFixedSize is true
e2f2ff730ed20153aa006d655888190763c16d5c 17-Feb-2016 Dake Gu <dake@google.com> Fix crash: Dont fetch items in onMeasure when HasFixedSize is true

With new RV change, HasFixedSize=true hehavior has been defined as:
RV size is not determined by child size. So when HasFixedSize is
true, the items passed to onMeasure() are no longer valid and should
not be used. Though HasFixedSize=true is generally not allowed when
WRAP_CONTENT is used, add extra protection.

Bug 27202689

Change-Id: Ic1e30674588227988621f7802692a1f12eeac3d7
upport/v17/leanback/widget/GridLayoutManager.java
6cb24d438e700ceb0a8b7d5a93683b19eae6c1b5 08-Feb-2016 Chulwoo Lee <chulwoo@google.com> RTL support in onboarding

Bug: 26024822
Change-Id: I9a135b0679ca0bb86917e38bc571ce5520e1c323
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
upport/v17/leanback/widget/PagingIndicator.java
5abf487fa74b54baa211b00ad9ad15663a3d4ed6 10-Feb-2016 Dake Gu <dake@google.com> Merge "GuidedStep API review change" into mnc-ub-dev am: 40a9d3cc9a
am: 24b56dd978

* commit '24b56dd978c2c588715953614d7d58de537b4c5b':
GuidedStep API review change
40a9d3cc9ad73a9c5f89152e1a75b1a45db06ea2 10-Feb-2016 Dake Gu <dake@google.com> Merge "GuidedStep API review change" into mnc-ub-dev
942f79291db75ccf6ecd0351d23a444a43dd0501 09-Feb-2016 Dake Gu <dake@google.com> GuidedStep API review change

Added API to set min date and maxDate on GuidedDatePickerAction.
And API changes for Bug 27076166

Change-Id: I32a542fd005688fd9a1dca211e28a51e882ca38f
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/GuidedDatePickerAction.java
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
upport/v17/leanback/widget/picker/PickerColumn.java
8c202ae6ec536167ae59ea7afb2da80b58042615 09-Feb-2016 Keyvan Amiri <keyvana@google.com> Merge "Framework Support Library: Ensure addSharedElement on TransitionHelper is only called on non-null views" into mnc-ub-dev am: 7b5870b264
am: 26e0dbbf31

* commit '26e0dbbf311b833ae55f760c8c8cb00cc057420f':
Framework Support Library: Ensure addSharedElement on TransitionHelper is only called on non-null views
54da7192d4f251f9fb9f9e49f1e57ce51c4c4ddc 09-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Provide a way to customize logo animation in onboarding" into mnc-ub-dev am: dd87581ed4
am: ca2875c55f

* commit 'ca2875c55f9126bfaffd20f2eb1d3be41b014ebd':
Provide a way to customize logo animation in onboarding
8bfa8f6a659c1188a955ee185b13e777d29fb4d9 09-Feb-2016 Keyvan Amiri <keyvana@google.com> Framework Support Library: Ensure addSharedElement on TransitionHelper
is only called on non-null views

Prior to this, the null check was performed within the
TransitionHelper's addSharedElement itself. Removed and transferred the
null checking to the actual users of this method in GuidedStepFragment.

Change-Id: I40def6c588364847edbbb30666b3e55f3f75dc52
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
dd87581ed44e1ee07df4a4b9b430f4f3f808320e 08-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Provide a way to customize logo animation in onboarding" into mnc-ub-dev
8d34ce39a8f8dd2683e4c9690abddf1ce5513d1d 05-Feb-2016 Dake Gu <dake@google.com> Merge "Fixing focusability issue with SearchFragment." into mnc-ub-dev am: fc425490cd
am: 0cddcb70d2

* commit '0cddcb70d21e51813f3ea64112ff173af6cbba6c':
Fixing focusability issue with SearchFragment.
fc425490cd71c517202a634a6e6dde65765d223d 05-Feb-2016 Dake Gu <dake@google.com> Merge "Fixing focusability issue with SearchFragment." into mnc-ub-dev
cae4cc5a7c5d1694aa9fa1a36623f59e4a32a812 05-Feb-2016 Dake Gu <dake@google.com> Merge "GuidedStep: Turn on underline of EditText" into mnc-ub-dev am: d32fc5f91c
am: 3d94ad2626

* commit '3d94ad2626c11848bec9b0e73fe559e38fd92b3d':
GuidedStep: Turn on underline of EditText
0e7ad46e829a72558e9e256895fd6d46bbbb60b2 05-Feb-2016 Dake Gu <dake@google.com> GuidedStep: Turn on underline of EditText

Save the underline background of EditText and turn on/off
when it is focused or unfocused.

Bug 26990241

Change-Id: Ie9ef48774114f8b3d60005f718c59e720a6be8a9
upport/v17/leanback/widget/GuidedActionEditText.java
dd667f84d7dc1c24207cb6e66ffa0e91caa640a3 03-Feb-2016 Chulwoo Lee <chulwoo@google.com> Provide a way to customize logo animation in onboarding

We need the three requirements for the logo animation:
1. Simply change the logo image.
2. Show different kind of animations.
3. Do not show the animation

Also saved and restored the fragment state.

Bug: 26024822
Change-Id: I1d18617f99442f7d1f5f353e91e7f6a12b0e38f4
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/app/OnboardingSupportFragment.java
8fcba4ffcb24e08c36230dc465f6270c603c7a6d 04-Feb-2016 Dake Gu <dake@google.com> GuidedAction: Make single line text work am: 918306ceb8
am: 1224288d6c

* commit '1224288d6c242d2c6b2ac8b4e0e1eb56a4b4a037':
GuidedAction: Make single line text work
918306ceb829009d348a749a7a648ba3a727e2c3 04-Feb-2016 Dake Gu <dake@google.com> GuidedAction: Make single line text work

Just setMaxLines(1) is not enough, needs to call setSingleLine(true)

Bug 26349478

Change-Id: Ib648b7cde6009127381a402ae0f5a536ae27fa66
upport/v17/leanback/widget/GuidedActionsStylist.java
5521aebcb4df063762801eada82d753449bbc2fb 04-Feb-2016 susnata <susnata@google.com> Fixing focusability issue with SearchFragment.

VerticalGridView should not be stealing focus in
SearchFragment, disabling it.

Bug: 26894680
Change-Id: Iff5dcf1566d034093f2dd7d38193da3764a57ff2
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
a6f015f9f5430e50870c9b87d997dda5262e227d 03-Feb-2016 Dake Gu <dake@google.com> Merge "leanback: make HeaderFragment callback public" into mnc-ub-dev am: 16d17ad1b5
am: a157708c81

* commit 'a157708c818f96d2984da13fffc11229d03cf29e':
leanback: make HeaderFragment callback public
16d17ad1b5e70b95142fbc308bb6b441ed5c5353 03-Feb-2016 Dake Gu <dake@google.com> Merge "leanback: make HeaderFragment callback public" into mnc-ub-dev
7fddd706b2e9a698ecebc3f7695cbfc30982efa2 03-Feb-2016 Dake Gu <dake@google.com> Merge "Fix leanback grid view addFocusables() when isFocusable is false" into mnc-ub-dev am: 8717ba9475
am: c628b73530

* commit 'c628b735300d98cb7ff0afa8c00911c6d677f37c':
Fix leanback grid view addFocusables() when isFocusable is false
8717ba9475d1c39a6be7cef7b012e645dd197da6 03-Feb-2016 Dake Gu <dake@google.com> Merge "Fix leanback grid view addFocusables() when isFocusable is false" into mnc-ub-dev
b14b4211dcd7d8ff5d5d93339836efa15121435c 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Generate support fragment for OnboardingFragment am: bc69c4a046
am: 08954d2939

* commit '08954d293926cb2146672cd833fa69025bcc1697':
Generate support fragment for OnboardingFragment
bc69c4a046bdabeaa72c28fcca0ceeb72517a81f 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Generate support fragment for OnboardingFragment

Bug: 26936113
Change-Id: I2d5a4b145c710effab38a9b6c3b8989b90e220ad
upport/v17/leanback/app/OnboardingSupportFragment.java
032debddad0d6e2c3f24c37a2debd1427019e0eb 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Add javadoc for OnboardingFragment" into mnc-ub-dev am: 608dda9930
am: ea6bf1398d

* commit 'ea6bf1398d2133081b2ed3606829c8bf6dba8a0f':
Add javadoc for OnboardingFragment
608dda99301353228f5c8e339e837095a8405e7b 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Add javadoc for OnboardingFragment" into mnc-ub-dev
ebd7bfd1433ec17efe4899a251edd2952168154a 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Fix talkback issues" into mnc-ub-dev am: aebcf20c1d
am: 6d529d1715

* commit '6d529d17151ab43fa022cde190edd15981e197c5':
Fix talkback issues
aebcf20c1d498f6ffc4f9f0cbdff8829320b3a73 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Merge "Fix talkback issues" into mnc-ub-dev
191f8a951397d2f4e58c336c0d894ffca2a328c3 02-Feb-2016 Chulwoo Lee <chulwoo@google.com> Add javadoc for OnboardingFragment

Bug: 26751768
Change-Id: I2b5d42cee15078644cdae8469b209dc9cd4cd618
upport/v17/leanback/app/OnboardingFragment.java
729cbf4cd57c87bcd569db5974c8cbd51a942581 02-Feb-2016 Dake Gu <dake@google.com> leanback: make HeaderFragment callback public

Since the class was made public, also make the Callback public.

Bug 26867965

Change-Id: If8eb937913f93bc4dbb32aed62b841a190961184
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
fd4ac97d700ae14ed2b4bb2f0eb6ef83c68a6966 02-Feb-2016 Dake Gu <dake@google.com> Fix leanback grid view addFocusables() when isFocusable is false

When strategy is FOCUS_SCROLL_ALIGNED, we need add the last focused
item remembered at mFocusPosition into the focusables list, so even
the GridView itself is not focusable, we could make FocusFinder
selects the child item.

Bug 26918143
Needed to fix Bug 26894680

Change-Id: I7125ea0389a0299deb7d0fd31c02a5c3dc77e74f
upport/v17/leanback/widget/GridLayoutManager.java
e852cd68f0b0dd2c5523cb05cd2cadb0951e2dc2 02-Feb-2016 Dake Gu <dake@google.com> Fix GuidedAction.editable(false) am: 7b93b3baf1
am: 15d6149350

* commit '15d6149350b3a1acb84d6909711ed7c0e365f5b8':
Fix GuidedAction.editable(false)
7b93b3baf1195fbd286517556b981e25cb542a40 02-Feb-2016 Dake Gu <dake@google.com> Fix GuidedAction.editable(false)

Bug 26913673

Change-Id: I25f821c3c329dd306d7c3c5f99e2a3bcb0cc3df5
upport/v17/leanback/widget/GuidedAction.java
044cd07f5123509f57d93ad475c486d0e5db543e 01-Feb-2016 Chulwoo Lee <chulwoo@google.com> Fix talkback issues

This is merging ag/856152 and ag/856184.

Bug: 26751768
Change-Id: I4cd6c382db623c053178e1980fe9f0408136f47c
upport/v17/leanback/app/OnboardingFragment.java
7689b0d50f633f9a6d68f76e08a67182340a3b7d 01-Feb-2016 Dmitri Plotnikov <dplotnikov@google.com> Merge "Prevent activity leak when enableOrbColorAnimation is called on an unattached view" into mnc-ub-dev am: a8fbffb075
am: 7be1cb335f

* commit '7be1cb335f095f68c01eda5f35063749c26a362d':
Prevent activity leak when enableOrbColorAnimation is called on an unattached view
a8fbffb075861f3984e864baa1b63f7e530228be 01-Feb-2016 Dmitri Plotnikov <dplotnikov@google.com> Merge "Prevent activity leak when enableOrbColorAnimation is called on an unattached view" into mnc-ub-dev
77212efe8bac2cea4bbff413f10489dbc786ca35 30-Jan-2016 Chulwoo Lee <chulwoo@google.com> Merge "Initial CL for the onboarding screen" into mnc-ub-dev am: 05dcb796b0
am: 8b6f2862f2

* commit '8b6f2862f2eef52c6bfc46fef3d02f7427272a36':
Initial CL for the onboarding screen
77b750bc2094fbe921058d8748fe26f830fbc6c8 30-Jan-2016 Dmitri Plotnikov <dplotnikov@google.com> Prevent activity leak when enableOrbColorAnimation is called on an unattached view

Bug: 26883209
Change-Id: I031880f9c9655785acd5e6a45071c8f122568a4f
upport/v17/leanback/widget/SearchOrbView.java
b78877670c813ccfc46071a8d361f45185fd06f4 27-Jan-2016 Chulwoo Lee <chulwoo@google.com> Initial CL for the onboarding screen

Refer to the documents about onboarding in the bug.

Bug: 26751768
Change-Id: I673afd21d1b8b8d72ec549d0d35da36b1fee68ae
upport/v17/leanback/app/OnboardingFragment.java
upport/v17/leanback/widget/PagingIndicator.java
54bda9b47eb150ee1808da789ccb0294306b1be4 29-Jan-2016 Dake Gu <dake@google.com> Merge "leanback: fix layout issue of wrap_content" into mnc-ub-dev am: 5e78d2c2df
am: c5e5b92bf2

* commit 'c5e5b92bf238a699ef1fccfbaffd6973059fc08e':
leanback: fix layout issue of wrap_content
11c2c736390d6255a6a11acc53243deed9fb4e8f 29-Jan-2016 Dake Gu <dake@google.com> leanback: fix layout issue of wrap_content

With latest RV change, it no longer pass items in onMeasure()
if HasFixedSize is true. This unfortunately may cause some
performance issue because we are going to causing layout pass
all the way to the ViewRoot instead of handling within the RV.

Bug 26856007

Change-Id: I72313b8244e13f00e10d87528cf15914ffeef515
upport/v17/leanback/widget/ListRowView.java
4dd8cdf91d7411203092d27f20f82c1d74c2a8fb 28-Jan-2016 Dake Gu <dake@google.com> Merge "GuidedStepFragment: made Picker accessibility friendly" into mnc-ub-dev am: 9350d61309
am: 69ff8d97eb

* commit '69ff8d97eb6f1a2112f8a3e6feab132b43eb1fdb':
GuidedStepFragment: made Picker accessibility friendly
9350d6130981386b220c0600d95d34ff3f43f4c9 28-Jan-2016 Dake Gu <dake@google.com> Merge "GuidedStepFragment: made Picker accessibility friendly" into mnc-ub-dev
0f96ae4965103bade4bebe7776b2ee35cd603112 26-Jan-2016 Dake Gu <dake@google.com> GuidedStepFragment: made Picker accessibility friendly

Interpreting keys in Picker view does not work with accessibility services.
Talkback 4.4 expects the view to be focusable to drive the UI. The change
makes Picker's child views focusable. Also added new functions to
block focus out of item view when it's activated for editing.

Bug 26725708

Change-Id: I332fe577dffa4fe86a83dfe25e13cb90444d5da3
upport/v17/leanback/app/GuidedStepRootLayout.java
upport/v17/leanback/widget/GuidedActionItemContainer.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/Util.java
upport/v17/leanback/widget/picker/Picker.java
88b24abc8dde3a9a904f4c108af3b67fe400d70c 28-Jan-2016 Susnata Basak <susnata@google.com> Merge "Adding support for 2 different entrance transitions for GuidedStepFragment." into mnc-ub-dev am: 0b465e7a59
am: feaf07ffaa

* commit 'feaf07ffaa3cfdd724ae4ceb4c39ac5218511663':
Adding support for 2 different entrance transitions for GuidedStepFragment.
e03d465a8a7b3e7c63a3487f2c05b99f28b8bec9 27-Jan-2016 susnata <susnata@google.com> Adding support for 2 different entrance transitions for GuidedStepFragment.

This will be used to provide different visual treatment for GuidedStepFragment
used in full/half screen mode.

BUG: 24979579
Change-Id: Ib02254d686dc1e5313c4b83247b0e040b415c4ca
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
e593ed56c32611362b9d61e01481cca5452b2087 27-Jan-2016 Dongwon Kang <dwkang@google.com> Merge "Leanback: Add fadeOut() in PlaybackOverlayFragment"
91e100e4450b6101a674d8a3ab15e426fc5294bc 27-Jan-2016 Dongwon Kang <dwkang@google.com> Leanback: Add fadeOut() in PlaybackOverlayFragment

Bug: 26776716
Change-Id: I9b0e87cb701f67496a62b5b8b35d856595cd85e4
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
6e17009f24c07d433eebaf08b66fda5901cc8296 27-Jan-2016 Susnata Basak <susnata@google.com> Merge "Adding support to render GuidedStepFragment in full/half screen mode." into mnc-ub-dev am: b984f3bcc6
am: fdc90e01b9

* commit 'fdc90e01b9ff5e4228ef52a07618f97a4cb4f4ff':
Adding support to render GuidedStepFragment in full/half screen mode.
b984f3bcc6e81f30c8acd6b79313381c97339ec2 27-Jan-2016 Susnata Basak <susnata@google.com> Merge "Adding support to render GuidedStepFragment in full/half screen mode." into mnc-ub-dev
68d693985e85ee5eed18f78beaaadbfd9b8a4f13 25-Jan-2016 susnata <susnata@google.com> Adding support to render GuidedStepFragment in full/half screen mode.

Bug: 24979579

Change-Id: Id286a2df026d4668356bf0aa94aba45f667e6006
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepRootLayout.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
6f8ca8bd6e2361bc9ec614470d7c8c971cf24e50 22-Jan-2016 Dake Gu <dake@google.com> Merge "GuidedStepFragment: Accessibility of checkable item" into mnc-ub-dev am: eb9bf4ae1a
am: 9ea942bbdb

* commit '9ea942bbdb1ffd6634aa9b83849bf3f8beef5d18':
GuidedStepFragment: Accessibility of checkable item
7d038f7b9c369d431c61963ef5689790e582c1a3 22-Jan-2016 Dongwon Kang <dwkang@google.com> Merge "Leanback: Add PictureInPictureAction in PlaybackControlsRow"
b6b910bb30da6b2af318e77d0ab2f3575187f7bc 22-Jan-2016 Dake Gu <dake@google.com> GuidedStepFragment: Accessibility of checkable item

Set checkable and checked status of item.

Bug 26729943

Change-Id: I82e652499b527e80ff28503be5baf1f426fbf47d
upport/v17/leanback/widget/GuidedActionsStylist.java
b88b36aa081a500eb0e9d4be0bac85b33cd57dde 05-Jan-2016 Dake Gu <dake@google.com> Adding datepicker in GuidedStepFragment

Add GuidedDatePickerAction. Added a new VIEW_TYPE_DATE_PICKER in
GuidedActionsStylist to handle GuidedDatePickerAction. The behavior
is abstracted as a "click to activate/deactivate" widget, allowing
subclass to support action other than DatePicker. The transition
shares same code for drop down list (i.e. sub actions).

Fix the generic Builder class problem, passing the concrete Builder
class as generic parameter.

Switch Picker to use standard activated status from a customized
"expanded" attribute.

And API review changes

Bug: 25390757
Bug: 26509683
Bug: 26509387
Bug: 26509381

Change-Id: I35cb5f99a1e81acaa51366cf17b1353180c7a549
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/GuidedDatePickerAction.java
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
upport/v17/leanback/widget/picker/PickerColumn.java
2401804c25909d3b271f5d5aea8f9d1b2168fc07 21-Jan-2016 Dongwon Kang <dwkang@google.com> Leanback: Add PictureInPictureAction in PlaybackControlsRow

Bug: 26696095
Change-Id: I78feba953433da2bc0534f6aecfbb6dcebbc20b2
upport/v17/leanback/widget/PlaybackControlsRow.java
db14ff55f779f2a0c6e2c4c8009bb67458beb267 21-Jan-2016 Dake Gu <dake@google.com> leanback: group guidance accessibility text

Group the 3 texts together as a single accessibility node.
Assign default contentDescription if it is not specified in layout.

Bug 26062221

Change-Id: I1b5569bdb02dea9414d9b9c26485b0cce82129ce
upport/v17/leanback/widget/GuidanceStylist.java
6626b899cb2565105f20e4ee2060a5104826d1dd 20-Jan-2016 Dake Gu <dake@google.com> Leanback: Accessiblity navigation fix

1. disable accessiblity focus of header view in the RowsFragment
because the focusfinding model of talkback is not same as leanback,
causing unpreditive manner. Disable it before we figure out how to
customize accessibility focus finder.

2. Fix guided action item's accessibility focus, make TextView not
focusable before it's in editing and disable focusable after TextView
loses focus.

Bug 26692260

Change-Id: I55291ed8db734d592f0e8a7c2ce9afe796cc6fba
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionEditText.java
upport/v17/leanback/widget/GuidedActionsStylist.java
023bf7d01378f30a63dce3d0a1112eb56bd6b99f 12-Jan-2016 Dake Gu <dake@google.com> GuidedStepFragment: fix missing Icon

A regression caused by code lost in refactoring.

Bug 26473407

Change-Id: Ie40c13f6b0e9656b0a8b906aac2f094b855b8f01
upport/v17/leanback/widget/GuidedActionsStylist.java
10c27646c1a19989f824a44ecd5dec2663db048d 19-Dec-2015 Dake Gu <dake@google.com> leanback: Dont use widget style in ContextThemeWrapper

This removes few attributes from ImageCardView widget and add few
attributes in Theme to select style for sub components.

Bug 26249596

Change-Id: Ib90c05f9471878be896121963019ddc6c05de5f2
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ImageCardView.java
b7552b3149dac104fc3ff1a621971417c298db74 19-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: fix duplicated sound.

Dont need extra click sound on down, system already take care.

Bug 26275712

Change-Id: If4d6e158a585c2fb1b5adbfd9c5883987c896f54
upport/v17/leanback/widget/GuidedActionAdapter.java
10cc7d33634e8f516941f702caccbf5c3c4d7aaf 17-Dec-2015 Dake Gu <dake@google.com> leanback: API tuning remove getSelectedViewHolder part 2

For the support fragment.

Bug 26227133

Change-Id: I90a66d7c72c0b23496a1dc262c903965a3aec0ea
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
df2923d64b7fac60614eefcb769415f3003a0c47 17-Dec-2015 Dake Gu <dake@google.com> leanback: API tuning remove getSelectedViewHolder

Bug 26227133

Change-Id: I411756d19bbcd2c26cd968d204e392c324320ed2
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
bc62e0bf64bc727e7fe983ee1ffe07e266f143c8 16-Dec-2015 Dake Gu <dake@google.com> leanback: GuidedAction API tuning

- add GuidedAction.setIntent
- add context to Builder constructor
- Use ContextCompat to load drawable (instead of getResources().getDawable)
- remove multiple Builder.constructXXX() methods, replaced with
clickAction(int id)
- add methods to load strings from resource id, using the newly
added Context parameter of Builder constructor.
- fix typo of nchecked.

Bug 26228853

Change-Id: Ib9a11d6cecbd4462fd3291e73abfc379acc71fd3
upport/v17/leanback/widget/GuidedAction.java
8470e2540ea5b571aa4570b5d5d6a76656a9a849 16-Dec-2015 Dake Gu <dake@google.com> Merge "leanback: API tuning: inner classes" into mnc-ub-dev
cff6e470de4a0b2ed1dec944bdc848bd26f852f6 16-Dec-2015 Dake Gu <dake@google.com> leanback: API tuning: inner classes

Change-Id: I00b48c1d3a3d16c783744c978a4d73337d6558ad
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ListRowPresenterSelectItemViewHolderTask.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/PresenterViewHolderTask.java
c3d11aea44660bf77326f6f07ebf11c6a19f7e1f 16-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: API tuning

Add back the constant definition UI_STYLE_DEFAULT and mark it
as deprecated.

Change-Id: I68d3613cc96870360d53ade2451f0ceb88d64608
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
16d7e4b3b98569c16b53b41006345f5328112f66 16-Dec-2015 Dake Gu <dake@google.com> Merge "GuidedStepFragment: API tuning" into mnc-ub-dev
b5ba5532e1ece8fd051ad1066c8efb0d2c32936c 15-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: refactoring the focusable control

1. The actions list view does not need to be focusable.

2. It's a pain to disable focus left/right at verticalgridview
level. For example when button actions are not visible, we
should disable "focus out of right edge of main actions", when
button actions are visible, we should enable "focus out of right
edge of main actions". Moving the disable left/right logic to
top layout make it lot cleaner.

3. Allow GuidedStepFragment subclass to customize isFocusOutStartAllowed
or isFocusOutEndAllowed

Bug: 26205201

Change-Id: I66ee6bee8c7abbfe97db0f9fdf8119615143f543
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepRootLayout.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
b19799d69cbbe7f7ca104520e9b07312ab7539af 15-Dec-2015 Dake Gu <dake@google.com> DatePicker: allow change columns after initialized

Also fixed NPE when one of the date column is not in format.

Bug 25390757

Change-Id: Ic1ee9c50d9c3d93f71f3bf587bd594d411097ee5
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
fd3fc2de015a0771537ff5100668941eb7c0ea00 14-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: API tuning

Hide all entry name related APIs.
Those are used by the helper functions add/addAsRoot/finishGuidedStepFragments/
popBackStackToGuidedStepFragment.
So apps either use the helper functions without knowing details of entry names,
or they are on own.

Change-Id: I2c0e1847bd25cc8db82488c87125ed20202aa6e8
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
93877b8541a9a6934f943bf8a1477a40154c3bda 14-Dec-2015 Dake Gu <dake@google.com> Merge "Prevent LinearSmoothScroller going too fast" into mnc-ub-dev
3b41f91889912304ab334d97d197b51eaea7ce28 11-Dec-2015 Dake Gu <dake@google.com> Prevent LinearSmoothScroller going too fast

This applies to the cases for a spinner which only show one
item Vertically, the VerticalGridView's height is very short.
The default settings in LinearSmoothScroller will way over
scroll the views.

Change-Id: Id002bf1bc9f102ae844ad50d1946876b84df3bce
upport/v17/leanback/widget/GridLayoutManager.java
942b6ba8bc8803a57eebcfd51bc2707b58699dd3 14-Dec-2015 Dake Gu <dake@google.com> Merge "Refactoring GuidedAction Builder" into mnc-ub-dev
a7f9f2928b60143e09f216a10ea50f2dd4581170 14-Dec-2015 Dake Gu <dake@google.com> Refactoring GuidedAction Builder

Use generic to allow subclass defining T build(). So subclass of Builder
won't need multiple build() methods or having caller to cast GuidedAction
returned by build().

Change-Id: I54c70e50ef795441294970b9dbe2f3500ce77baa
upport/v17/leanback/widget/GuidedAction.java
2e42db84057616ff5fc755ab55debef731015d3a 12-Dec-2015 Dake Gu <dake@google.com> leanback: Improvement of Picker

Support two states: expanded and not expanded.
Auto toggle expanded states onClick.

Bug 25390757

Change-Id: I857f25099a7a936d29250b2488e0e42e6eb18359
upport/v17/leanback/widget/picker/Picker.java
71d30e1cf5514761ba8ad4bd3c8c70540d60dbd3 08-Dec-2015 Dake Gu <dake@google.com> leanback: add Picker and DatePicker widgets

Bug 25390757

Change-Id: I0acfb545e311b9d8d8e79410785d636485c59d9c
upport/v17/leanback/widget/picker/DatePicker.java
upport/v17/leanback/widget/picker/Picker.java
upport/v17/leanback/widget/picker/PickerColumn.java
upport/v17/leanback/widget/picker/PickerConstant.java
6bca8e820530b6590d02014a4f40e78609ee481b 08-Dec-2015 Dake Gu <dake@google.com> Merge "leanback: Fix typo in API method name" into mnc-ub-dev
2f1bd591e01fe93f605844d4a10cde7116315b7c 08-Dec-2015 Dake Gu <dake@google.com> leanback: Fix typo in API method name

getSeleted -> getSelected

Bug 26010216

Change-Id: Id4c98c8f489358d74f6f58ad65d015d4a5380bb2
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
60f531e3d9667db9afe091f5a7979410eb7a0b48 07-Dec-2015 Dake Gu <dake@google.com> leanback: Expose some APIs

Bug 26027075

Change-Id: I2ab5c0683f1e00e4dd06b702787e3358cf64c105
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
ec8c215786a70a85531cf567dfa1db17be012dc9 07-Dec-2015 Dake Gu <dake@google.com> Fix build

Change-Id: I1c5f2614d9627ac7ce3afe60919a52d50ed135fd
upport/v17/leanback/transition/TransitionHelper.java
0b84583f330597ef5f291a676e036fda00814d13 07-Dec-2015 Dake Gu <dake@google.com> Add back deprecated theme attribute and style

To fix build.

Change-Id: I190bb0d957584b94e93ae1a9b64f2742543c8f3a
upport/v17/leanback/transition/TransitionHelper.java
0d73d42df7cf4b325b8f49660e3326204915ce8f 04-Dec-2015 Dake Gu <dake@google.com> Add helper to select a row then a card on that row.

Bug 26010216

Change-Id: Ic1cedc60c58644631ce62a6f4c8f95971d6702ab
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ListRowPresenterSelectItemViewHolderTask.java
upport/v17/leanback/widget/PresenterViewHolderTask.java
ed838f628cbf453b8df555c88f00a9eb69d507a9 03-Dec-2015 Dake Gu <dake@google.com> PlaybackControlsRow: Fix wrong ClosedCaptioningAction id

Bug 26010405

Change-Id: I4dd01bbf27ed1070d9aff219c43c8583336b74ec
upport/v17/leanback/widget/PlaybackControlsRow.java
7a45714d94e3e5566e3879042f7ee2b93eb5c62a 03-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: Fix "next icon" direction in RTL

Change-Id: Ia31383635d76373dd0cf5f4cf241b790482ce7cc
upport/v17/leanback/widget/GuidedActionsStylist.java
fb23f1271e21761bb523948d9ea9c60c42ae7251 03-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: Fix bug of sub actions focus

Bug 26007404

Change-Id: Ib02b0cb3b8c92b30e822a7e7bb09e728ee82a473
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionsStylist.java
30ef11f479e5bfeadf5ccc24c9f015a04e1575c5 03-Dec-2015 Dake Gu <dake@google.com> Merge "Fix focusOutSideStart and focusOutSideEnd for VerticalGridView" into mnc-ub-dev
173d79a987bec7d8dc9fd4e7066200d0b9b9842e 03-Dec-2015 Dake Gu <dake@google.com> Fix focusOutSideStart and focusOutSideEnd for VerticalGridView

Bug: 25982172
RTL GuidedStepfragment is unable to move focus to button actions

Change-Id: I3e534753ef1d187ce2518bd60819215581dc0931
upport/v17/leanback/widget/GridLayoutManager.java
1db5382081756ee276c1fb88f5ebdbc138b70249 02-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: switch to material selector/ripple effect

Use android:attr/selectableItemBackground for highlighting.
Add a customized LinearLayout to support foreground before v23.

Change-Id: Ie7f0448e3782853c20938826560aa137957cec49
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/NonOverlappingLinearLayoutWithForeground.java
9a49e322d10c1a67860d812352a5ea710843b75e 02-Dec-2015 Dake Gu <dake@google.com> BrowseFragment: fix crash on v17 and setBrandColor

Using theme attribute in drawble crashes before v21.
The brandColor should be set on listView, not the parent.

Bug 25974561

Change-Id: Ifc5e7f8df9e2937d540030e77b3ff03235783f30
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
1ed9dc77616514e20c51baa67a04adab42e4135e 01-Dec-2015 Dake Gu <dake@google.com> GuidedStepFragment: Support animation of expanding sub actions

Bug 24979518

Change-Id: Ie2d5bf7c25c30db89f6edffd6f71a26e9bca2090
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/GuidedActionsStylist.java
fcca591288721bd6a2e11fd3f78da190ddcd62e9 01-Dec-2015 Dake Gu <dake@google.com> Leanback: more improvement of FadeAndShortSlide

1. support slide top/bottom
2. support customized distance, use epicenter for pivot
3. add beginDelayedTransition

Change-Id: Ia883a344ac299cb7291ea63cb08af36cc723a936
upport/v17/leanback/transition/TransitionHelper.java
adb84c07a691bd044b470c2e2ffe6c3ae630ad50 24-Nov-2015 Dake Gu <dake@google.com> DetailsOverviewRowLogoPresenter: Support fixed size and scaleType

1. Made maxWidth/maxHeight work when using intrinsic size of drawable.

2. Now app can override onCreateView() and sets fixed width/height
and scaleType for ImageView.

Bug: 25868604

Change-Id: If6a963fa6d95384fda261fc6d5fefa3313e0892a
upport/v17/leanback/widget/DetailsOverviewLogoPresenter.java
be6eb618b4ba8a74d69fa04c77c717b1fcbea818 20-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: support expand/collapse sub actions.

Refactored GuidedActonsStylist.ViewHolder to be subclass of
RecyclerView.ViewHolder, since GuidedActionsStylistis already
assumes running in RecyclerView and adding scroll listener.
There is no benefit of hiding RecyclerView.

Added support to disable focus right / left in actions list
view. We don't allow focus to the side buttons from sub actions.
Also disable focus left so it won't be interpreted by a bottom
BrowseFragment as open fast lane.

Expand/collapse animation is yet to be added.

Bug 24979518

Change-Id: I4309e63347e5b85b746477f988721fd4fca67943
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedActionAdapterGroup.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionAdapterGroup.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/ViewHolderTask.java
e9401be71ad141fe76dc6064c58f8c64054fde8d 21-Nov-2015 Dake Gu <dake@google.com> Reenable the workarond for framework fragment transition NPE

The change was accidentally lost when I was removing the background fragment.
Even without background fragment, still need this workaround for popping
the first GuidedStepFragment.

Change-Id: I30b17fed28abd70170559fe38af6f304dd766a8c
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
8e5ae27d6db125867640b672cc97d4a158fdfd48 18-Nov-2015 Dake Gu <dake@google.com> GuidedStep: sync selectorView translationY to focused view

Current implementation assumes the focused view stays at fixed Y location.
This is no longer true for expanded actions.

This CL added support to sync selectorView Y position to focused
view Y position. And due to the conflicts of both IME and scroll changes
selector Y position, added common parent for change Y position for IME.

Simplified selectorView animation implementation.

Fixed bug that FadeAndShortSlide resets transitionY to 0.
Fixed a mismatch of transitionName for guidedactions_root2.
Remove unnecessary transition excludes since the views are already part
of shared element transition.

Tested by changing alignment rule of VerticalGridView.

Change-Id: Id9f676e607aa6e3e9fed14e5b2687e4ad0951f45
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionsStylist.java
7f43e18536eae40705d5c63830e9edb283f196ad 16-Nov-2015 Dake Gu <dake@google.com> Theme dark version of brand color and guided actions background

Follow the same strategy for defaultBrandColor/colorPrimary, introduce
defaultBrandColorDark/colorPrimaryDark for details action background.
Remove the code that auto-calculate dark version from defaultBrandColor.
Simplify HeadersFragment and FullWidthdetailsOverviewRowPresenter code
by using theme attribute in layout file.

Follow the same naming convension, renamed guidedButtonActionsBackground
to guidedActionsBackgroundDark for the "dark" version.

Change-Id: I05f4ebc0903a3e10b860777c4eb44c4ac5547c9a
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
517a5ef1716efc7696a78dc9e0fff0312c47612d 13-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment Refactoring background handling

Changed the way background works, no longer use a dedicated
BackgroundFragment, make background part of GuidedStepFragment.
This need some tuning to make background view part of
GuidedStepFragment transition (and excluded in some cases).

Switch the default Ui Style to be UI_STYLE_ENTRANCE, allows
app launches GuidedStepFragment without using helper method.

Bug: 25671370

Change-Id: Ic68c0cc796d32df6919593d391a6fcfae99258ae
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
4705eed4421d3b00923b56062765206dea21387e 13-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: Allow app to override Ime Action text

Change-Id: Idcc713472639bacb9767ee6d64de1bf6452b272b
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
11cb62de8bfc6b5b6d22811ad12a1e60451b82be 11-Nov-2015 Dake Gu <dake@google.com> GuidedStep: support checkbox and use standard android drawable

Introduce a special checkset id for checkbox.

Current implementation uses non-standard View and animation resource for
radio. Switch to use standard android checkbox/radio defined in the
theme.

Bug 25631132

Change-Id: I0c9356a624dfd9b3b2dfc38be2b1dcb3eea125b7
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/CheckableImageView.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
c1bb05750e8a59ed1c8824656cc6893da352b859 11-Nov-2015 Dake Gu <dake@google.com> Merge "GuidedStepFragment: allow move focus to button action list" into mnc-ub-dev
43e10e99e55c1c2eeca31fa13e9cc84160850f59 09-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: allow move focus to button action list

Add a GuidedActionAdapterGroup to maintain single ImeOpen flag and
control next focus after editing. This would allow focus move
between different action lists.
Code refactoring moves editing logic from GuidedActionAdapter into
GuidedActionAdapterGroup.

Don't openIME in onKeyUp event, this causes timing issue that onKeyUp
can be fired on a different view of keyDown. Move openIME into onClick
event.

Remove references to Adapter objects and view objects after Fragment
onDestroyView(), fix potential View leaking.

Change-Id: If89a7bf67bd62ff02d3ac2a2c64a1164d3fa76bd
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedActionAdapterGroup.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
00e05297683e1cc2a5fb25a00632a778b7b5d0e4 10-Nov-2015 Dake Gu <dake@google.com> GridLayoutManager: fire selected event when selected item type changed

Not only compare focused position but also compare the focused View that might
changed in fastLayout pass.

Bug 25619502

Change-Id: Ib59c8d753224daf23667d2f6ebd9a1babad61eb4
upport/v17/leanback/widget/GridLayoutManager.java
1cf203ef9c991909e6a85455aebdb26de77280a4 07-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: fix initial selector view size flicking

In layout pass, onLayout of VerticalGridView triggers a focus change event
where we change LayoutParams of the selectorView, but because parent RelativeLayout
does not re-measure the selectorView in RelativeLayout.onLayout, parent RelativeLayout
calls selectorView.layout() with the obsolete values and leave the view size
inconsistent with LayoutParams.

Our current workaround "post a Runnable" causes one frame flicking when fragment
is initially loaded.

One non-trivial fix is to override RelativeLayout and re-measure the selectorView
between VerticalGridView.onLayout() and selectorView.onLayout().

But since we use scaleY anyway later, switching to use scaleY is much simpler.

Change-Id: I585609695048cffd23e67619320af187e37ffbb6
upport/v17/leanback/widget/GuidedActionsStylist.java
0b3811639349fd5791a3f330b23b7e4b1c099c27 06-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: morph action panel size change in fragment transaction

Use shared element transition to morph between single action panel
and double action panel. This requires different view Ids and
transitionNames for two action panels in order to match shared element
views correctly.

b/24979563

Change-Id: I507c0329071317d0c1282f8892c0f4901d72c245
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/GuidedActionsStylist.java
a97810e4e2ec2552f8247ebdadf323dae70d9e3f 04-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: multiple fixes:

1. Handle Keyboard ENTER key correctly. Go through the same logic
that press enter icon in soft IME.

2. Add theme attribute for actions elevation value where SetupWraith
need override as 0dip

3. Make EditText not focusable if action is not editable.

Change-Id: I0e77487ba655c2d4ab729f180fe057b28e19e7e2
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedActionsStylist.java
0c047fba6b8acc3154830f12c0d09bd5e8df0f55 04-Nov-2015 Dake Gu <dake@google.com> Merge "GuidedStepFragment: fix the unfocus alpha being overriden." into mnc-ub-dev
19c1329def8d277c914cba46540d24bfde58b2a4 04-Nov-2015 Dake Gu <dake@google.com> GuidedStepFragment: fix the unfocus alpha being overriden.

A regression of fixing b/20759626: if onAnimateItemFocused()
changes item alpha, it will be overriden by animator created by
onAnimateItemPressed(false).

Introduce onAnimateItemPressedCancelled() which sets alpha without animation.
Let onAnimateItemFocused() be executed after onAnimateItemPressedCancelled().

Bug 20759626

Change-Id: I61d100d93c47afa1ad9dc6c070dc9477eb092dc9
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
d14724d33d61385c27a00c31bbc67ad8eeb57b3c 31-Oct-2015 Dake Gu <dake@google.com> GuidedStepFragment: two columns actions

Duplicated action methods into another copy.

The weight of actions width is controlled through theme:
guidedActionContentWidthWeight, guidedActionContentWidthWeightTwoPanels.
When there is one column: actions take 40% of screen width.
When there are two columns: actions take 50% of screen width.

Two actions backgrounds are controlled through theme:
guidedActionsBackground, guidedButtonActionsBackground.

b/24979563

Change-Id: I96486921c39693771c243b18ef9897aa750c65cb
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
9a8833a689869ecdacfcc280b5cffb133ccf9f76 31-Oct-2015 Dake Gu <dake@google.com> GridLayoutManager: Dont crash in measure when using weight

Using the size passed from parent instead

Bug 24738452

Change-Id: I2692b92bf0bcd2d067a30162d1c7b3b1d6ce28ca
upport/v17/leanback/widget/GridLayoutManager.java
e2f7aef2f45dcdfe116995b64f9a7be5c68a36a1 30-Oct-2015 Dake Gu <dake@google.com> GuidedActionsStylist: support different viewTypes and LayoutIds

Bug 25387934

Change-Id: I1ebc652b2de4d162284e111fe2a095ab3d37158d
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
25e01ca9bf8fb694671ab5dbd85a4ed4e94b975a 30-Oct-2015 Dake Gu <dake@google.com> Merge "GuidedStep: support popping multiple entries transition" into mnc-ub-dev
fd23a2faf77c66a405a2b2974f719041feda9177 30-Oct-2015 Dake Gu <dake@google.com> GuidedStep: support popping multiple entries transition

When finishGuidedStepFragments() is called, apply the
UI_STYLE_ENTRANCE on current fragment so it will run the
slide two sides returnTransition instead of slide one side
returnTransition.

Included a workaround of b/25375640

Change-Id: Ia8b15802a8e7a0c6f0466d1d5e6c8760c67483d0
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
7af424644dc8daae5298a5ca2f655770270366fe 29-Oct-2015 Dake Gu <dake@google.com> Make GuidedAction extensible, add focusable attribute

Change-Id: I043c683f2e53aaa2bd923f1ca8bf09f9af8aa8d1
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
6f09284ea29241b4d4700ea89111f30517b958e7 28-Oct-2015 Dake Gu <dake@google.com> GuidedStep: add standard action ids and titles

Bug 25193684

Change-Id: Icb0ade25e5b182ec568c333822c403567064fa7a
upport/v17/leanback/widget/GuidedAction.java
37d4ed50ac446f9f8ad033fe56888dd6eb602d4d 27-Oct-2015 Dake Gu <dake@google.com> Add convenient GuidedStepFragment finish methods

finishGuidedStepFragments() would either finish activity
or pops all GuidedStepFragments if was launched on top
of other content. This made it possible that fragment
does not care about whether it's launched in separate
activity or on top of other content when it handles "finish"
action.

popBackStackToGuidedStepFragment() would pop several
GuidedStepFragments from stack.

Also fixed a bug of losing focus to content below
GuidedStepFragment when switch to next action.

Change-Id: I4345bfe9e4dac73b915f0f6318ce19d90098b45a
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
11d840a367ff9d760a3a0307944151ee6917f1a5 27-Oct-2015 Dake Gu <dake@google.com> Merge "GridLayoutManager: handle smoothscroller cancellation properly" into mnc-ub-dev
ac6a1a35cff83fdb50d9c8e203f881a54e92e40c 27-Oct-2015 Dake Gu <dake@google.com> GridLayoutManager: handle smoothscroller cancellation properly

When smoothscroller is cancelled and the targetView not found yet,
immediately jumps to the final position. Otherwise the LayoutManager
is in a bad state.

Bug 25322065

Change-Id: I3e8cce98ff218ad74c263c2f6412ba39911c7e3e
upport/v17/leanback/widget/GridLayoutManager.java
9562425bf9bc15281ac27df817141854769c1042 26-Oct-2015 Dake Gu <dake@google.com> GuidedStep: Support action title and description InputType

Bug 25288089

Change-Id: I938de1066f768d190ff8b01fb09aa9ca4374f27e
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
7f8e46a9b23feffba396200fcb48bcbce32b00a1 21-Oct-2015 Dake Gu <dake@google.com> GuidedStepFragment: undo pressed animation when losing focus

Bug 20759626

Change-Id: Ie13a6c14e54f8f708e1133be3af69ea9079b42c0
upport/v17/leanback/app/GuidedActionAdapter.java
c1741246af607f6be2389056da0182c40f938348 17-Oct-2015 Dake Gu <dake@google.com> GuidedStepFragment: lots of editing improvements

1. Support editing description
2. add onGuidedActionEditedAndProceed() to control
target action to focus on when IME finished. Currently
we always focus to sibling action regardless whether the
input is correct or not.
3. add notifyActionChanged() to update action item ui
4. Dim alpha of title when disabled

Bug: 24979559
Bug: 25019347

Change-Id: I3258681d27761a3892f67f528539110bc7640c88
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
8403619efebe94666c0615c3fc85080a303acf80 14-Oct-2015 Dake Gu <dake@google.com> leanback: fix NPE of transition listener and clean up

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

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

Bug 24202013

Change-Id: I7cc918013e4a357a59987ea9727bc03c15cb0097
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/transition/LeanbackTransitionHelper.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/TitleHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.java
c88e63b62bf417df87d9c14daf35d7a7e1125115 12-Oct-2015 Dake Gu <dake@google.com> leanback: use item multiple align info when calculating scroll max

This wasn't discovered because the FullWidthDetails row was always tested
with related rows and it was never used to calculate scroll max.
If there is no row after FullWidthDetails row, we need use the
last focusable view (the details descritpion) to calcualte the scroll
max.

Bug 24801632

Change-Id: Ia3345fbee2c81464a1b016c74b9c6561be551e9e
upport/v17/leanback/widget/GridLayoutManager.java
ce4c2014042fe6e4723bab30741039848adcf4be 09-Oct-2015 Dake Gu <dake@google.com> leanback: some javadoc fixes

Bug 24804296
Bug 24806837
Bug 24807801
Bug 24806081
Bug 24804939

Change-Id: Ie611c6c663335628ba98c2571bfda494e80f47b3
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackControlSupportGlue.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowOverlayHelper.java
5356bc373aa2c51ff7dac08058e7ae5e53e20509 05-Oct-2015 Dake Gu <dake@google.com> GuidedStepFragment: allow editing a different text than title

Added getEditTitle() and setEditTitle(), this is the String being
edited instead of title.

Bug 24673827

Change-Id: I1501c105ab1ce6982af0d111ba1506292449a6f3
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedAction.java
bd0afce433ec8c219627522a5233d61bf27f7397 01-Oct-2015 Dake Gu <dake@google.com> Dont crash if no container for background fragment

Bug 24570987

Change-Id: I67c759f9c64080671832ee6e3fe3ec9097d632df
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
7f3d7b01db6056a4061a8dc52b4c6dea8b4a1881 30-Sep-2015 Dake Gu <dake@google.com> Add PlaybackControlGlue for support v4 fragment

Change-Id: I301956d46baacb45b351ee0f1d01a49ead76c9e2
upport/v17/leanback/app/PlaybackControlSupportGlue.java
1bd187c6437e94ca42d007dd96c07f0d7c986957 29-Sep-2015 Dake Gu <dake@google.com> Merge "GuidedStepFragment: slide from both side for UI_STYLE_ENTRANCE" into mnc-ub-dev
afb203b71421cb0d477d4d470e852cc9647dde48 26-Sep-2015 Dake Gu <dake@google.com> Apply transitionGroup=true for static shadow

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

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

Bug 24416053

Change-Id: I805c52b46d0438d2a0e04568cd97bf94d1ff0ea1
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.java
2be7e6dbeec0a7c9fe1453cf6fd4f75a8c1c69f6 25-Sep-2015 Dake Gu <dake@google.com> GuidedStepFragment: slide from both side for UI_STYLE_ENTRANCE

Simply check if the center of view in left to center of sceneRoot,
then slide to the left, otherwise slide to the right.
The position needs to be saved in captured transition values.

b/21504593

Change-Id: I310b5c998a4f763c926f67086ca065b30d2a52ba
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
b749047cd5b6e0aa4514e5f17c053a256e20e1ca 24-Sep-2015 Dake Gu <dake@google.com> Workaround for NPE inFragment.mContainerId

The current workaround is not complete for opening guided step fragment
on existing fragment. Added protection for both container id.

Tested on Emulators of API22 and API23

Bug 24375784

Change-Id: I2ae73ea50bde2bee0e6c8f1a855e4f993ad5068b
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/app/GuidedStepSupportFragment.java
4d495c172b7d491c21be9116dfa655cb85860454 24-Sep-2015 Yigit Boyar <yboyar@google.com> Merge "RecyclerView Animation API V2" into mnc-ub-dev
a63d86321b1b4d09f965019e4bcb62f0d0aaa12f 28-May-2015 Dake Gu <dake@google.com> GridLayoutManager: supports decorated bounds and margin

Switched to use "getDecoratedXXX" bounds method and added support of margin.
This also makes LM available to future RV size change animation.

Change-Id: I508c9419ae9bb6b8d363164e7eacf7f29fd3598c
upport/v17/leanback/widget/GridLayoutManager.java
121ba9616e5bed44d2490f1744f7b6a9d3e79866 30-Aug-2015 Yigit Boyar <yboyar@google.com> RecyclerView Animation API V2

This CL introduces a new Animation for RecyclerView that
gives more responsibility and power to the ItemAnimator.

It is backward incompatible but there is a new SimpleItemAnimator
that mimics the old API for easy transition.

The main goal for this API change is to enable better change
animations. This change will enable ItemAnimator to easily animate
contents of ViewHolders.

Bug: 22507896
Change-Id: I4d9a6b92ff5c27691b277a777da77116476b1cd3
upport/v17/leanback/widget/BaseGridView.java
47d21fb23abd7099f1bcfc08365ec9f946f0f6d8 23-Sep-2015 Dake Gu <dake@google.com> Fix doc build of autogenerated GuidedStepSupportFragment

Change-Id: I15e283baca31581e5acfe0b23d0bf5074bc71560
upport/v17/leanback/app/GuidedStepSupportFragment.java
4e9bfff0d62ddb50391fecefdf8d98d59fb21387 23-Sep-2015 Dake Gu <dake@google.com> Revert "Revert "Generate GuidedStepSupportFragment""

This reverts commit 443ba2e86253206c52d83678fb806763c6eb6f06.
upport/v17/leanback/app/GuidedStepSupportFragment.java
42ae32908312e63b474963fef789017c75feae37 23-Sep-2015 Dake Gu <dake@google.com> Revert "Revert "GuidedStepFragment transition and new features""

This reverts commit d7b834d0339476a8867c6d14e67ed9a08d314e75.
upport/v17/leanback/animation/UntargetableAnimatorSet.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/FragmentAnimationProvider.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
4935f2739238e9abba8fa792e97a33d6fe04beeb 21-Sep-2015 Dake Gu <dake@google.com> Merge "Revert "GuidedStepFragment transition and new features"" into mnc-ub-dev
d7b834d0339476a8867c6d14e67ed9a08d314e75 21-Sep-2015 Dake Gu <dake@google.com> Revert "GuidedStepFragment transition and new features"

This reverts commit ce0bd5abebf662db7d8b42468009b227715698ec.

Change-Id: I4ee14b2e4af37f707f6232fa0a5a1cb149c51540
upport/v17/leanback/animation/UntargetableAnimatorSet.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/FragmentAnimationProvider.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
443ba2e86253206c52d83678fb806763c6eb6f06 21-Sep-2015 Dake Gu <dake@google.com> Revert "Generate GuidedStepSupportFragment"

This reverts commit 8d02cf0ae050cbf990b4537c5de0d26d8a30c05f.

Change-Id: I600a064d000a121a7dff807912253970b5d9b0c9
upport/v17/leanback/app/GuidedStepSupportFragment.java
8d02cf0ae050cbf990b4537c5de0d26d8a30c05f 04-Sep-2015 Dake Gu <dake@google.com> Generate GuidedStepSupportFragment

Tested with SupportLeanbackDemos

Bug 21504593

Change-Id: Ie3ac4c02d01a9d9d88e0d11788e8d04e759cd530
upport/v17/leanback/app/GuidedStepSupportFragment.java
3b2e3fdb89c30fb5f807dcbf8321876b705837d2 21-Sep-2015 Dake Gu <dake@google.com> Merge "GuidedStepFragment transition and new features" into mnc-ub-dev
682b577d8c89af032bb9e114d9df59d7aeaad6ef 16-Sep-2015 Jake Wharton <jakewharton@gmail.com> Null check listener before dereferencing for callback.

Change-Id: Ie1d060712bac791f49e1882d95d0b8c8c17291c2
upport/v17/leanback/widget/SearchEditText.java
3b07293e634309790869aa73eb377feaff081b1f 15-Sep-2015 Dake Gu <dake@google.com> Merge "Fix BrowseFragment NPE and add Fragment tests" into mnc-ub-dev
130dbe99821ae2ab77511f7e08ed79eb610de343 14-Sep-2015 Dake Gu <dake@google.com> Fix ItemBridgeAdapter NPE

Bug 23974032

Change-Id: I37df73a76c2524b8d038e3517e3f58127c31bf21
upport/v17/leanback/widget/ItemBridgeAdapter.java
ce0bd5abebf662db7d8b42468009b227715698ec 01-Sep-2015 Dake Gu <dake@google.com> GuidedStepFragment transition and new features

This is a re-iterate of use cases of GuidedStepFragment, new
features including allowing app to add GuidedStepFragment
on top of other content with a covering background fragment;
using activity return transition to slide out content.

Switched from fragment animation to fragment transition. Using
transition will allow us to clone a support version of
GuidedStepFragment that is impossible under fragment animation.

Clearly defined three use cases:
1. When GuidedStepFragment is launched in empty activity.
2. When GuidedStepFragment is launched on top of other content.
3. When GuidedStepFragment is replacing exisitng GuidedStepFragment.

For case 2, we need background to cover bottom content.
Three cases has different transitions settings. Case 1 does not
need Fragment enter transition because that's handled by activity
transition.

Bug 21504593
Bug 23976865

Change-Id: Id7a49d8706fb4b6d21f5f93db5ba9b21238b2c5e
upport/v17/leanback/animation/UntargetableAnimatorSet.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/FragmentAnimationProvider.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedActionsStylist.java
255e7911fa9ef664618b74bb9959e00479a9bec1 08-Sep-2015 Dake Gu <dake@google.com> Fix BrowseFragment NPE and add Fragment tests

Fix NPE because fragment view is destroyed in next frame of
launching header transition.

BrowseSupportFragment tests are autogenerated from BrowseFragment
tests.

Bug 23415833

Change-Id: Iefc469d8aaac781600214b47526d99d92f272b4d
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
058fb01f7890df9b0379e49c7559266b4097abad 28-Aug-2015 Dake Gu <dake@google.com> ShadowOverlayContainer Fix MATCH_PARENT handling

Added test cases

Bug 23625951

Change-Id: I66430f35d3c8997f9dfed84f3295d37aa5313a64
upport/v17/leanback/widget/ShadowOverlayContainer.java
85833087b2288e0f002de6b4ebcbc0564839a217 07-Aug-2015 Dake Gu <dake@google.com> Make ShadowOverlayHelper public and customizable

Some refactoring to make ShadowOverlayHelper ready for public.

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

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

3. Make ShadowOverlayHelper independant of ItemBridgeAdapter.

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

Change-Id: I0952d3cc15de21fde0b8e237078919d35592848e
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapterShadowOverlayWrapper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/ShadowOverlayHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.java
c738357d90fcc7876415ee16d7fe935510229d4a 26-Aug-2015 Jerome Poichet <jpoichet@google.com> Exposing CompletionInfo API on SearchFragment

CompletionInfo have both label (displayed text) and text (value actually
used when completing), so in order to allow applications to add "icons"
to distinguish between different type of search suggestions, expose
CompletionInfo directly.

b/23348955 | Allow annotating different types of search completions

Change-Id: Ib23da2109f49e9e95941d02a469d4372d78fa130
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/SearchBar.java
5998b1534175d1e0d73507ba9279c2c078a3983e 21-Aug-2015 Dake Gu <dake@google.com> Merge "Details entrance transition does not slide in rows..." into mnc-ub-dev
2d6d89b2e2a4c4768cb384d0f9b9e0b6ba786007 21-Aug-2015 Dake Gu <dake@google.com> Merge "PlaybackControl: Allow showing 0 seconds for current time" into mnc-ub-dev
60751b437df43b5c6b72dd3fc9f4c341a707c8d4 21-Aug-2015 Dake Gu <dake@google.com> Details entrance transition does not slide in rows...

unless used with shared element transition.

Details fragment calls rowsFragment.onTransitionStart() which disables
layout of vertical grid view. Result is that details row view never
gets a chance added to vertical grid view. Until we call
startEntranceTransition(), after entrance transition finishes,
onTransitionEnd() it will reenable the layout.

Upon reenable the layout, sharedelement transition helper will
bind row to view and start a delayed activity transition and slide
rows in. That's why the rows only slide-in with shared element
transition.

The fix is quite straightforward using same logic of BrowseFragment/
VerticalGridFragment.

Bug 23397234

Change-Id: I79e92e3f435abe97e30fcac2ddebce1a2a05e6e4
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
22ba669b080964291d922a196998ff3d8f63c24f 19-Aug-2015 Dake Gu <dake@google.com> am 40b95b79: am 87dc4f73: am 4a4e0872: fix NPE of Fragment destroyed before transition ends

* commit '40b95b7930956ae9a939eadb8bef8ee27d4344b5':
fix NPE of Fragment destroyed before transition ends
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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
a35153609850cbb33d9ea5ebe6d6e136e26ba327 19-Aug-2015 Dake Gu <dake@google.com> PlaybackControl: Allow showing 0 seconds for current time

Bug: 21021839

Change-Id: I946999e292773266ff65d01d97affdfd78a7029f
upport/v17/leanback/widget/PlaybackControlsPresenter.java
786ba352397f44022617411936515fc9eb28d23f 18-Aug-2015 Dake Gu <dake@google.com> Staggered transition support for VerticalGrid

Bug 23319507

Change-Id: Ib86761eccd06bdbe9e2b0712a12a4d2507c5c0db
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
6813fd3b732156a921a57cf18ee27040a8c5c99f 18-Aug-2015 Johan Gardell <gardell@google.com> Transition from expanded READ MORE on Play Movies new DetailsActivity

The requestFocus call removed in this CL
caused the returning transition to
break when returning from our expanded
read more-view to the new DetailsActivity
on Play Movies.

Bug: 23134332
Change-Id: I65c125cfc29142566ea3f55d43879f5bb8801c5f
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
9877e6cab68a39825fbec727bb9453f2268cd2f4 08-Aug-2015 Kris Giesing <kgiesing@google.com> Merge "Allow action item layouts that do not supply editable actions." into mnc-ub-dev
ac07e9d12b10138d4a449522f7082a40f18861e2 08-Aug-2015 Kris Giesing <kgiesing@google.com> Allow action item layouts that do not supply editable actions.

Fix cast operations that were throwing exceptions; make the Leanback
edit text object public to allow reuse.

b/23039755

Change-Id: Id9ceda139efeb352210831dbed0f1dfbbcccd76a
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionEditText.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/LeanbackEditText.java
14b37ef88107634b03edca5eb501fa64ddec25c6 08-Aug-2015 Tony Mantler <nicoya@google.com> am f23eb104: am 9ac59472: am 42d2f1a5: Remove unused helper classes

* commit 'f23eb104d17ae989ff58f57498983f8aab37eb58':
Remove unused helper classes
42d2f1a5adf83591ea8f68340826a798c2a959a6 07-Aug-2015 Tony Mantler <nicoya@google.com> Remove unused helper classes

These classes were intended to be @hide, but are no longer used.

b/22795958

Change-Id: I9eb2799c396069567c2978c0f6edcda5875c5c99
upport/v17/leanback/view/ViewGroupOverlayHelper.java
fa6b4eadf5959e147ea5f548d5e33500227ae7a6 06-Aug-2015 Dake Gu <dake@google.com> Merge "Dont change android:background in ContextThemeWrapper" into mnc-ub-dev
69d050a8f2cb15e48185a413327feb4fb0e7a1ac 06-Aug-2015 Dake Gu <dake@google.com> Dont change android:background in ContextThemeWrapper

ImageCardView needs a ContextThemeWrapper to create its children.
The child ImageView is used in activity transition. GhostView
creates a full screen FrameLayout using ImageView's context, which is a
ContextThemeWrapper created by ImageCardView. So the FrameLayout
accidentally inherits a background same as the ContextThemeWrapper.

While we can fix GhostView in MNC, to make it work before MNC:
use a different attribute name other than "android:background".

Similarly defines attribute for card foreground.
Move cardForeground and cardBackground default settings to base card view.

Bug: 22988113

Change-Id: I8b30c6e8730e2379b29827fe8970f1d72e45ac1f
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ImageCardView.java
16233ade5b051564ff297ee48c172bf7dec22440 06-Aug-2015 Kris Giesing <kgiesing@google.com> Merge "Add support for editable actions to GuidedSteps" into mnc-ub-dev
4158705d3f0751d419a08c47a659abeae5f6c196 23-May-2015 Kris Giesing <kgiesing@google.com> Add support for editable actions to GuidedSteps

b/21403345

Change-Id: Id46c94e237f461fcb96439c1dea033e3c2f2a1c4
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/widget/FragmentAnimationProvider.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/ImeKeyMonitor.java
upport/v17/leanback/widget/LeanbackEditText.java
4d14fb53ebf304ad989afbc57baa71cfcafa4e7a 05-Aug-2015 Dake Gu <dake@google.com> Further change for ShadowOverlayHelper

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

Change-Id: I1851f8209008ef8713039429165926bc195d585e
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowOverlayHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.java
20921beeb51f39558a7ac3b646cce8e342cb7183 05-Aug-2015 Dake Gu <dake@google.com> Force use ShadowOverlayContainer for overlay

Accidentally commited debugging code.
Need force to use ShadowOverlayContainer.

Change-Id: I7e4a2e2dd6c03c0d2b52ec8f5420cfd627e741a8
upport/v17/leanback/widget/ShadowOverlayHelper.java
4fbeceb26d6f45e65f025b569bc5b44cf822b421 05-Aug-2015 Dake Gu <dake@google.com> Merge "Remove overlay view for better performance" into mnc-ub-dev
254b417129de2a8c5612826a152f8a26c8f1d0e8 27-Jul-2015 Dake Gu <dake@google.com> Remove overlay view for better performance

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

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

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

b/22794753

Change-Id: I4848f7fc6b832706445da8e6e1b807d0f1830968
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ForegroundHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/ShadowOverlayHelper.java
upport/v17/leanback/widget/StaticShadowHelper.java
459e0eacc1c547f272bc8b897dd3cfb44243c06a 04-Aug-2015 Robert Hahn <hahnr@google.com> Fixed focus bug in new ImageCardView

b/22955551
ImageCardViewStyle had focusable defined
in style which caused all it's children
to also get set focusable=true. Thus the
VerticalGridFragment didn't know what to
set focused or not. The ImageCardView is
not set focusable in code.

Change-Id: Id8c427d86042a24d0f8c88b7adc04fb997108e6e
upport/v17/leanback/widget/ImageCardView.java
708efc58b8f3950a1a90d7ac7bee4adc4b8bf211 01-Aug-2015 Dake Gu <dake@google.com> am a83f447b: am 949de5e4: am 27173217: Merge "FullWidthDetailsOverviewRowPresenter: fix NPE" into mnc-dev

* commit 'a83f447bc6ef6f58d2c61204178099189517d9b9':
FullWidthDetailsOverviewRowPresenter: fix NPE
be299ddf7ea565c5ba897b8e89f55de61b280d56 31-Jul-2015 Robert Hahn <hahnr@google.com> Merge "Leanback: Support for styling ImageCardView through XML" into mnc-ub-dev
df805b881bdb8794a068a482038df8176dd4ac4a 17-Jul-2015 Robert Hahn <hahnr@google.com> Leanback: Support for styling ImageCardView through XML

Bug: 16635577

ImageCardView can be styled by using the global Theme
attribute 'imageCardViewStyle' or specifying a style
when using the ImageCardView in a layout, or by using
the newly introduced constructor which takes a
styleResourceId as second argument. The styling allows
to specify what components the ImageCardView is using
such that only necessary Views are created and we are
able to reduce the overhead of creating unnecessary
Views.

Change-Id: I62733dad6e0460d6a303565c3386440cb02c78b8
813de6fe46801f8a01952699d553826a4f5fe116 30-Jul-2015 Dake Gu <dake@google.com> FullWidthDetailsOverviewRowPresenter: fix NPE

Remove callbacks properly when unbind from a row (row
becomes null).

Remove the accidentally exposed mHandler from api.

b/22828212

Change-Id: Iffb138e1535f2c6595a19acbfb7f0c02cd54f103
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
06388129e48b308b25bfd85e6f136db8528d4c62 27-Jul-2015 Dake Gu <dake@google.com> Fix regression of unable to focus out of empty gridview

b/22706497

Change-Id: I53b7a9d7840fe614f0bb0d0c3307386a1e4e65db
upport/v17/leanback/widget/BaseGridView.java
e8ae51595e52a0acc36bfd9261f4f2634bccdde0 24-Jul-2015 Dake Gu <dake@google.com> Remove not needed round rect outline

The rounded rect outline is set on ShadowOverlayContainer.
Do not need second one on dim layer.

b/22702823

Change-Id: Ia0b1e17857ac39cf954058d707d734019fdeb080
upport/v17/leanback/widget/ShadowOverlayContainer.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.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
89b4aed6fcd80f940531e265936ab908a8037f87 22-Jul-2015 Dake Gu <dake@google.com> GridView: fix two focus problems

1. if gridView has a list of children and gridView.requestFocus()
is called from top-down which is a typical case when activity
created: gridview should auto focus to first focusable child.

2. When none of visible children is focusable and gridview itself
is focused, focusSearch(int) should navigate to first focusable
child.

b/22634251

Change-Id: I345119c47f0d70029e18eb8405ed67a53bc26fe8
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
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
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/RowHeaderPresenter.java
53704ef3a54f4f199593a6f45ae3ccc966803d8a 10-Jul-2015 Dake Gu <dake@google.com> am 85313571: Merge "GridLayoutManager: fix jumping problem caused by requestLayout" into lmp-mr1-ub-dev

* commit '853135719b3252dacaba27a3fd884f26266e08a0':
GridLayoutManager: fix jumping problem caused by requestLayout
91feb947412e0521a5f1835553214dcbe03fd362 09-Jul-2015 Dake Gu <dake@google.com> GridLayoutManager: fix jumping problem caused by requestLayout

When requestLayout during scrolling, onLayoutChildren() does not
check return value of getScrollPosition so it may get dirty values
from the temp array.

Bug 22209986

Change-Id: I2506d2774d2069cae86b360f8c985d2ea05cc629
upport/v17/leanback/widget/GridLayoutManager.java
f5b4803291bc39e6bae407c3d9963a6e589ebb13 08-Jul-2015 Dake Gu <dake@google.com> am 6d4cf951: Merge "GridLayoutManager: Fix scroll bug when target view is removed." into lmp-mr1-ub-dev

* commit '6d4cf9512d2bf439176826cfc5fd78dcf93836fe':
GridLayoutManager: Fix scroll bug when target view is removed.
ff3b38c570fa25327bb6a9bca1753827d9f9d7fd 08-Jul-2015 Dake Gu <dake@google.com> GridLayoutManager: Fix scroll bug when target view is removed.

When item is removed, we should stop scroll animation and scroll to
a new focus position or same focus position of different item.

b/21970393

Change-Id: I3917adbbed7dd1599f93a5459c7f4bfc3bbac7c6
upport/v17/leanback/widget/GridLayoutManager.java
c49526c5df34a1e6797c9b5590086765ed7b3443 08-Jul-2015 Tony Mantler <nicoya@google.com> Remove unused StackLayout

b/22179367

Change-Id: I36fb3e3df80c399ecfde8a143fa75effd3c1f4c3
upport/v17/leanback/view/StackedLayout.java
adc6e503d75e4e6b0838f65103259aad1c156c98 27-Jun-2015 Xiaolei Wang <wxiaolei@google.com> am 54b54ced: Merge "add action background bar and support two alignment modes" into lmp-mr1-ub-dev

* commit '54b54ced24a296b9ecb064bb33d5ebe1e92ae466':
add action background bar and support two alignment modes
c6714279e5a39ac1f5eabd0431bb46fcfe6240fe 24-Jun-2015 Xiaolei Wang <wxiaolei@google.com> add action background bar and support two alignment modes

Change-Id: I8c2f6331a18c4f26f8bfde6f74b592703593d0a2
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
3f4477b21d634dae3729b6818d4e5cf7790e3c0b 24-Jun-2015 Dake Gu <dake@google.com> am d1cab1b5: Leanback: support Scroll Accessibility action

* commit 'd1cab1b54104d55407335c5d649398635822fffd':
Leanback: support Scroll Accessibility action
d1cab1b54104d55407335c5d649398635822fffd 24-Jun-2015 Dake Gu <dake@google.com> Leanback: support Scroll Accessibility action

Behaves differently than phone/tablet, it scrolls to
last/first item on the same row for SCROLL action.

simplify the dispatchChildSelection() in SmoothScroller
a little bit: only dispatchChildSelection() for the
final target.

b/19072385

Change-Id: I543e5298c681e3809d87de767ec3ab93ef6fe15c
upport/v17/leanback/widget/GridLayoutManager.java
47f61f244e877541aad3aa4883c4d3656b70f87d 23-Jun-2015 Dake Gu <dake@google.com> am 8c571342: Merge "Supports extra layout space" into lmp-mr1-ub-dev

* commit '8c5713428379689839330c344c4a800039db0400':
Supports extra layout space
8c5713428379689839330c344c4a800039db0400 23-Jun-2015 Dake Gu <dake@google.com> Merge "Supports extra layout space" into lmp-mr1-ub-dev
88dea72af6042049560140a70e059820dbb8f746 19-Jun-2015 Dake Gu <dake@google.com> Supports extra layout space

When layout reordering aligned focused item, extra space is
needed during prelayout for filling. However there is no
general solution now based on REMOVE/CHANGE flag of ViewHolder.

This CL is a case-by-case solution allows extra item to be added in
invisble area so that item animator can animate slide-in instead of
fade-in.

b/21949401

Change-Id: Ic78a0d639f387a0bf319fcc504b8401262148a0b
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
b92cd928e2a9a06d6781308feaf12f6928229df7 20-Jun-2015 Dake Gu <dake@google.com> am 83de2e82: Merge "Leanback: use SingleRow for most widgets" into lmp-mr1-ub-dev

* commit '83de2e82354859ce689e9bb253298f58ecbd69a2':
Leanback: use SingleRow for most widgets
f923d595ace34894c49d1609d3c629336b175b89 17-Jun-2015 Dake Gu <dake@google.com> Leanback: use SingleRow for most widgets

Use a simple SingleRow module for single row case.
Improves both memory and cpu.

b/21898578

Change-Id: I7aa235d343c87a87e66bac4d3209a194262e6e87
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/SingleRow.java
1b5af565a8957e16f587a415fb8795bca249eb58 16-Jun-2015 Dake Gu <dake@google.com> am 048454a7: Merge "Leanback: fix fading mask and make ImageCardView up to spec" into lmp-mr1-ub-dev

* commit '048454a762e769ee6439cd2c12d791776a7cc4bd':
Leanback: fix fading mask and make ImageCardView up to spec
cb933aeb5c89f168f604bf081d6f8f4fdde6534f 12-Jun-2015 Dake Gu <dake@google.com> Leanback: fix fading mask and make ImageCardView up to spec

No longer need a fading mask per ux.

Adjusted padding, size, color up to date.

remove redundant FrameLayout.

Remove the code that change visibility based on content.
All the cards on same row should have same height, regardless
their content. Haven't yet decided how to provide a two
textviews customization.

b/21662705

Change-Id: I8c435bb12a3ee8344f463a4975a2af4c5f14f516
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/NonOverlappingRelativeLayout.java
9cca6200e250989e80caaeee8c0df09d88c18dc6 18-May-2015 Dake Gu <dake@google.com> am 69713501: Merge "Leanback: fix bad dim support of new details UI." into lmp-mr1-ub-dev

* commit '69713501946f090154c451b0aaf2526bec79d8a5':
Leanback: fix bad dim support of new details UI.
bc00c3b6c1d1be08d2f462080fb7ccd551fe65d8 16-May-2015 Dake Gu <dake@google.com> Leanback: fix bad dim support of new details UI.

The current code has bug that being revealed on mnc.
Need extra FrameLayout to apply dim foreground before
mnc. The code is copied from the old details UI.

b/21205552

Change-Id: Ibb77e70f1329f039d8fdf9f4af4d8afb63076fe3
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
61ac5487d7617d62ca9ce3b10ea739c53ed3d2c3 05-May-2015 Kris Giesing <kgiesing@google.com> am 7eda2860: Merge "Support static in addition to dynamic shadows." into lmp-mr1-ub-dev

* commit '7eda2860540ba53d11b068dca80623b3511bdbe3':
Support static in addition to dynamic shadows.
7eda2860540ba53d11b068dca80623b3511bdbe3 05-May-2015 Kris Giesing <kgiesing@google.com> Merge "Support static in addition to dynamic shadows." into lmp-mr1-ub-dev
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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ClassPresenterSelector.java
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewLogoPresenter.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FullWidthDetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FullWidthDetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnChildSelectedListener.java
upport/v17/leanback/widget/OnChildViewHolderSelectedListener.java
upport/v17/leanback/widget/PresenterSelector.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/SinglePresenterSelector.java
4f1eb56082092e92a30d3ce1b3bbda7ac81fd306 29-Apr-2015 Dake Gu <dake@google.com> am aa371c68: Merge "fix bug of wrong selection when itemAdded is triggered" into lmp-mr1-ub-dev

* commit 'aa371c684fa58d3696f5469ff39c9adc97bef670':
fix bug of wrong selection when itemAdded is triggered
aa371c684fa58d3696f5469ff39c9adc97bef670 29-Apr-2015 Dake Gu <dake@google.com> Merge "fix bug of wrong selection when itemAdded is triggered" into lmp-mr1-ub-dev
db0b1afb71440b79923692d58adee982b5954838 29-Apr-2015 Dake Gu <dake@google.com> fix bug of wrong selection when itemAdded is triggered

When items are added at the same time that setSelection()
is called, we incorrectly apply the offset to the position that
user wants to select. Disable the offset when target view
hasn't created yet.

Bug 20672263

Change-Id: Iaf990b58109d005ef04d9a47029e5c0a493bb8c3
upport/v17/leanback/widget/GridLayoutManager.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
5ca941194494a2c96a3f08b0fe864fe3a5fb866c 28-Apr-2015 Dake Gu <dake@google.com> am 08c56822: Revert "Revert "Support multiple alignment within one ViewHolder""

* commit '08c56822b71ab0aa0b9bb03e5fd45e28f6e358b8':
Revert "Revert "Support multiple alignment within one ViewHolder""
08c56822b71ab0aa0b9bb03e5fd45e28f6e358b8 28-Apr-2015 Dake Gu <dake@google.com> Revert "Revert "Support multiple alignment within one ViewHolder""

This reverts commit bc0edc3ab9bac3c8d7d3cc9de1cb499ea3b4155e.

Change-Id: I1f9540e54fdee874adf7239a0ead1fb5447f2610
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/FacetProvider.java
upport/v17/leanback/widget/FacetProviderAdapter.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/VerticalGridView.java
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
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/widget/GuidedActionsStylist.java
b72729f00055b518a80864364459e86705fcada5 28-Apr-2015 Dake Gu <dake@google.com> am 4ff1516c: Merge "Revert "Support multiple alignment within one ViewHolder"" into lmp-mr1-ub-dev

* commit '4ff1516c6860afc1b4b8ee57ee98274f30e01ed4':
Revert "Support multiple alignment within one ViewHolder"
4ff1516c6860afc1b4b8ee57ee98274f30e01ed4 27-Apr-2015 Dake Gu <dake@google.com> Merge "Revert "Support multiple alignment within one ViewHolder"" into lmp-mr1-ub-dev
bc0edc3ab9bac3c8d7d3cc9de1cb499ea3b4155e 27-Apr-2015 Dake Gu <dake@google.com> Revert "Support multiple alignment within one ViewHolder"

This reverts commit 86a6309c3e89ec6abc40ec045bfaef7827cbe427.

Change-Id: I3385d74766e948566b7321cbe2afcf31a66282c1
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/FacetProvider.java
upport/v17/leanback/widget/FacetProviderAdapter.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/VerticalGridView.java
20a8f868896ee67116b114aa36d6313b8a64f090 27-Apr-2015 Dake Gu <dake@google.com> am 067473f6: Merge "Support multiple alignment within one ViewHolder" into lmp-mr1-ub-dev

* commit '067473f6cd124a8ac0822bdbd30840285a59399e':
Support multiple alignment within one ViewHolder
067473f6cd124a8ac0822bdbd30840285a59399e 27-Apr-2015 Dake Gu <dake@google.com> Merge "Support multiple alignment within one ViewHolder" into lmp-mr1-ub-dev
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.
61a3f8427097edbe213748882bf5b1c9e08935b7 24-Apr-2015 Craig Stout <cstout@google.com> am 62cf2fe6: Merge "Progress bar gets transparent background when full width." into lmp-mr1-ub-dev

* commit '62cf2fe6f8e4d7813562e8aabb1862e426c01bf8':
Progress bar gets transparent background when full width.
87480a3bc0b3b6ccafc934939a9b6e2ebfaf5f1f 24-Apr-2015 Craig Stout <cstout@google.com> Merge "Support persistent focus on the playback controls row." into lmp-mr1-ub-dev
d30b6d18e1c6b988f75d76c50dbec7199386ce9b 15-Apr-2015 Craig Stout <cstout@google.com> Support persistent focus on the playback controls row.

b/20148117

Change-Id: I4973f6ad2b5b450ea850939a47d1b8f73ea11f54
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/widget/PersistentFocusWrapper.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
6b447e693090017258eb48a51ae4119fb0f5119e 16-Apr-2015 Craig Stout <cstout@google.com> Progress bar gets transparent background when full width.

Also remove the ability to set a rounded rect background, since they're
generally unnecessary (because of the view clip to rounded rect outline)
and they're expensive to draw.

b/20247335

Change-Id: I607c9124bcebcdb137333120c6ed1d041317dbb0
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RoundedRectHelper.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
f4acd3cf076435ce836a6d4a9027b73ec3050def 30-Mar-2015 Craig Stout <cstout@google.com> Support static in addition to dynamic shadows.

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

Change-Id: Ib0af2411e82cdb95ffe3ff619150392c0a2bd883
upport/v17/leanback/system/Settings.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/StaticShadowHelper.java
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/BackgroundManager.java
86a6309c3e89ec6abc40ec045bfaef7827cbe427 07-Apr-2015 Dake Gu <dake@google.com> Support multiple alignment within one ViewHolder

Add support of align to multiple positions within one ViewHolder of
Grid View.

Introduce "FacetProvider" inteface for optional features to be implemented
without requiring an object must implement a java interface. Benefit
is less impact on the major feature of a class, make the extra optional
features loosely coupled with existing class. (And it is the only way
for ItemBridgeAdapter to provide a list of optional features that
are implemented by some Presenters but not others)

Add a new ItemAlignmentFacet class to describe multiple alignment positions.

Grid view gets optional ItemAlignmentFacet from RecyclerView.ViewHolder(rare)
or RecyclerView.Adapter for a given view type. If the facet exists, it's used
to calculate multiple alignment positions within this ViewHolder.

At high level, for apps that using Presenter, they don't directly use
RecyclerView.ViewHolder or RecyclerView.Adapter. apps put Facet in Presenter
(most cases) or a ViewHolder(rare cases). For example in the new detail page
design, DetailsOverviewRowPresenter will need this facet(TODO),
ItemBridgeAdapter is responsible to "bridge" facet from Presenter.

In the future, Facet may be used to customize child view state saving.

Bug: 20094419

Change-Id: Iabef94e46f9a304ffd68e49bed10e74a57dfe4ce
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/FacetProvider.java
upport/v17/leanback/widget/FacetProviderAdapter.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ItemAlignmentFacet.java
upport/v17/leanback/widget/ItemAlignmentFacetHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/VerticalGridView.java
be6b6282397861a044efd596bf5db501fa0b3a66 03-Mar-2015 Craig Stout <cstout@google.com> Support for rounded corners with nine-patch shadows.

Updated nine patch to accomodate foreground rounded corners.

Change-Id: I753e686d9fcc4998343314a262e9278dcf6be97b
(cherry picked from commit a76db0cf97b5f05ef0a5e1f6d999933f738f4a3e)
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
a76db0cf97b5f05ef0a5e1f6d999933f738f4a3e 03-Mar-2015 Craig Stout <cstout@google.com> Support for rounded corners with nine-patch shadows.

Updated nine patch to accomodate foreground rounded corners.

Change-Id: I753e686d9fcc4998343314a262e9278dcf6be97b
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.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
aa36620ca8b256584fdb69a8f97a3ac3b1de56a9 06-Apr-2015 Kris Giesing <kgiesing@google.com> Merge "Minor change to JavaDoc" into lmp-mr1-ub-dev
751fc58ffff0614288c610fbd0767969abb9365f 06-Apr-2015 Kris Giesing <kgiesing@google.com> Minor change to JavaDoc

Change-Id: I9c6e892520171493fc8a9c0a8685d551ad2af222
upport/v17/leanback/app/GuidedStepFragment.java
dda3b1cf483b95be03f6a10fceacd62d373e6e0f 04-Apr-2015 Dake Gu <dake@google.com> am f8bac02b: Use the recyclerview fix of child state saving

* commit 'f8bac02be73439a0aa4f2ca88490e27af0efe893':
Use the recyclerview fix of child state saving
f8bac02be73439a0aa4f2ca88490e27af0efe893 04-Apr-2015 Dake Gu <dake@google.com> Use the recyclerview fix of child state saving

No longer needed it since RecyclerView fixed it
in b/20061783. Test case passes with RV fix.

Bug 20016293

Change-Id: I53407d98125b86fe274ea1e0d7856d32f5ca4bc5
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BackgroundManager.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
upport/v17/leanback/app/BackgroundManager.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/package-info.java
upport/v17/leanback/package-info.java
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/ClassPresenterSelector.java
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/GuidedActionsStylist.java
upport/v17/leanback/widget/HeaderItem.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/HorizontalHoverCardSwitcher.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRow.java
upport/v17/leanback/widget/ListRowHoverCardView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ListRowView.java
upport/v17/leanback/widget/NonOverlappingLinearLayout.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/OnActionClickedListener.java
upport/v17/leanback/widget/OnChildLaidOutListener.java
upport/v17/leanback/widget/OnChildSelectedListener.java
upport/v17/leanback/widget/OnItemViewSelectedListener.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/PresenterSwitcher.java
upport/v17/leanback/widget/Row.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SearchEditText.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/SparseArrayObjectAdapter.java
upport/v17/leanback/widget/SpeechOrbView.java
upport/v17/leanback/widget/SpeechRecognitionCallback.java
upport/v17/leanback/widget/StreamingTextView.java
upport/v17/leanback/widget/VerticalGridPresenter.java
upport/v17/leanback/widget/VerticalGridView.java
upport/v17/leanback/widget/package-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.
7d86066752e22390dcea30efeceabb56564efd86 02-Apr-2015 Craig Stout <cstout@google.com> Merge "Add BackgroundManager api for specifying the theme drawable." into lmp-mr1-ub-dev
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
upport/v17/leanback/app/BackgroundManager.java
508d5c11062fb3a0ebb6e178192117ae6e447dac 02-Apr-2015 Dake Gu <dake@google.com> am 61e5a56e: GridLayoutManager: fix child states incorrectly saved

* commit '61e5a56ed066815e69be7526e3d1bee2d5268d20':
GridLayoutManager: fix child states incorrectly saved
61e5a56ed066815e69be7526e3d1bee2d5268d20 01-Apr-2015 Dake Gu <dake@google.com> GridLayoutManager: fix child states incorrectly saved

We already handles child state in LM.onSaveInstanceState(). But
ViewGroup dispatchSaveInstanceState() and dispatchRestoreInstanceState()
directly invoke child view's dispatch methods without going
through onSaveInstanceState(), so it saves states that we don't need
and later being used unexpectedly in dispatchRestoreInstanceState().

Disable the dispatchXXX() of child by toggling the flag
when a child view is created.

Bug 20016293

Change-Id: I599515ac8a0bfe29b7abef190509ef464fd2ccb6
upport/v17/leanback/widget/GridLayoutManager.java
9e7d9c69980088d48bf404aafbea73ab0073fa13 01-Apr-2015 Craig Stout <cstout@google.com> am b2200244: Merge "Make NonOverlappingView package-private." into lmp-mr1-ub-dev

* commit 'b2200244430ba9070ec032af9ac623675cec1232':
Make NonOverlappingView package-private.
0bd55cf7ca716160378bf143d84c08727e0cfb09 31-Mar-2015 Craig Stout <cstout@google.com> Make NonOverlappingView package-private.

Consistent with other NonOverlapping views.

Change-Id: I9774aff8d3568b73b027b09c4e577bc00d3463f2
upport/v17/leanback/widget/NonOverlappingView.java
599ee673eebbde49283f489cb8f3c800d68dca89 27-Mar-2015 Dake Gu <dake@google.com> am a1bb171b: Merge "GridLayoutManager Fix child state restoring bug" into lmp-mr1-ub-dev

* commit 'a1bb171b488f988758d00e018ed031a1d3c68966':
GridLayoutManager Fix child state restoring bug
3bd331ac6fe8ef25a2deb3559b0b5958573c231b 26-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager Fix child state restoring bug

A regression of ag/630154: detached and reattached child is
assigned with obsolete state saved at opening activity.

The (correct) logic is now:
1. Child state is saved when child is unbound (onViewRecycled)
2. When being asked for onSaveInstanceState(), copy the states
saved in (1) and save current onscreen views state into bundle.

Bug in ag/630154 is that in (2) we saved onscreen views state in
the GridView offscreen states and that information can be invalidated
after a while (e.g. selection of a row can change) and it's later
incorrectly used when a view is detached/re-attached.

added test case.

Bug 19937291

Change-Id: Iac6bd849fdd9755471bce6c7763316d0264cc7a2
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ViewsStateBundle.java
05fc55725c9881e6a1c11e6dc5ff3f9d7281d491 21-Mar-2015 Dake Gu <dake@google.com> Fix setNumRows gets ignored

setNumRows goes through onMeasure() then onLayout().
Before the onMeasure() gets called, another onLayout()
clears the mForceFullLayout flag without knowing
there is a pending numRows change not handled by onMeasure()
yet. When 2nd onLayout() gets called, it doesn't go to the
non fastlayout pass.

There is no need to set the flag when change num rows,
comparing with grid row number can decide if goes through
fast layout pass.

Bug 19872498

Change-Id: Ia5254a49e24be04665a1e5175355827a5dfa7258
upport/v17/leanback/widget/GridLayoutManager.java
1a5a2c58890e69b0554a82f22e3c0d1ffb238366 25-Mar-2015 Dake Gu <dake@google.com> Fix crash when calculated secondary size is 0

If for some reasons, parent of GridView asks to measure with 0 secondary size,
calculated mFixedRowSizeSecondary is zero and the array for maintaining the
secondary size of each row is also null. Then processRowSizeSecondary()
will crash.

Bug 19930906

Change-Id: Ifa45ee94cda133830a0e78b563df5edeeaff9c3f
upport/v17/leanback/widget/GridLayoutManager.java
492506cede17ecee39ce7fa35ee7a347ff31c5ba 25-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix size change not detected

When rowHeight=wrap_content, onMeasure() will measure
the child's size. So when fastRelayout is run, the
measured size is already new value, it should not be
compared to decide wether there is a size change.
Switch to use the correct view size method.

Bug 18537143

Change-Id: I084e54ba45cbb1a79fe67b65d064843035d3abf4
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.java
c0b265dd2df42b399ba1f959b3dfd14dd14012b5 25-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: Fix focus bug

During layout, when a view already had focus.
Should not call requestFocus() again which might
change the focused child within it.

Bug 19828044

Change-Id: I97074469d9e4fbcc8f45cd8c738200b7faba00a5
upport/v17/leanback/widget/GridLayoutManager.java
57f5baa07260dad2a9641e9ceb80567ce2784e9a 21-Mar-2015 Dake Gu <dake@google.com> Fix setNumRows gets ignored

setNumRows goes through onMeasure() then onLayout().
Before the onMeasure() gets called, another onLayout()
clears the mForceFullLayout flag without knowing
there is a pending numRows change not handled by onMeasure()
yet. When 2nd onLayout() gets called, it doesn't go to the
non fastlayout pass.

There is no need to set the flag when change num rows,
comparing with grid row number can decide if goes through
fast layout pass.

Bug 19872498

Change-Id: Ia5254a49e24be04665a1e5175355827a5dfa7258
upport/v17/leanback/widget/GridLayoutManager.java
bed90193f6f3a864074699f341e4a2a5fbb66722 25-Mar-2015 Dake Gu <dake@google.com> am 3b6f469a: Fix crash when calculated secondary size is 0

* commit '3b6f469a658c71ec5a118a1528fe6559a0a8fd9e':
Fix crash when calculated secondary size is 0
3b6f469a658c71ec5a118a1528fe6559a0a8fd9e 25-Mar-2015 Dake Gu <dake@google.com> Fix crash when calculated secondary size is 0

If for some reasons, parent of GridView asks to measure with 0 secondary size,
calculated mFixedRowSizeSecondary is zero and the array for maintaining the
secondary size of each row is also null. Then processRowSizeSecondary()
will crash.

Bug 19930906

Change-Id: Ifa45ee94cda133830a0e78b563df5edeeaff9c3f
upport/v17/leanback/widget/GridLayoutManager.java
123222d1dbe022444e9be3359dc0092957201717 25-Mar-2015 Dake Gu <dake@google.com> am 5915e79e: GridLayoutManager: fix size change not detected

* commit '5915e79eb6b377a29d66c89d58e1e498fc77595d':
GridLayoutManager: fix size change not detected
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.
5915e79eb6b377a29d66c89d58e1e498fc77595d 25-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix size change not detected

When rowHeight=wrap_content, onMeasure() will measure
the child's size. So when fastRelayout is run, the
measured size is already new value, it should not be
compared to decide wether there is a size change.
Switch to use the correct view size method.

Bug 18537143

Change-Id: I084e54ba45cbb1a79fe67b65d064843035d3abf4
upport/v17/leanback/widget/GridLayoutManager.java
4cccbaec5f851c429a38c23c00d3fed742e6a048 25-Mar-2015 Craig Stout <cstout@google.com> Merge "More BackgroundManager improvements." into lmp-mr1-ub-dev
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
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.java
d868d1916d866479d093bd5fbc11af60f4efe43c 25-Mar-2015 Dake Gu <dake@google.com> resolved conflicts for merge of 4bbee3a6 to master

Change-Id: I8e7f486326cc3671bd23fad2c4a7ee0bfe5e5ee8
4bbee3a6d989ff4693cbb960a750a40fbe17c0f2 25-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: Fix focus bug

During layout, when a view already had focus.
Should not call requestFocus() again which might
change the focused child within it.

Bug 19828044

Change-Id: I97074469d9e4fbcc8f45cd8c738200b7faba00a5
upport/v17/leanback/widget/GridLayoutManager.java
e4aa45916f458a1167595f4aa00c4f0c7dca2cc4 23-Mar-2015 Tony Mantler <nicoya@google.com> Override addFocusables to not include inactive children

This restricts d-pad navigation to the topmost card, which is what we want.

Change-Id: I79befa153e1a52911a5596926a37b08be751cd95
upport/v17/leanback/view/StackedLayout.java
ab7dc7c1ce6d12c0dec5f9c4ed3f5c63c5a87589 23-Mar-2015 Kris Giesing <kgiesing@google.com> Merge "Copy the drawable's level to the image view"
f28b8e9ce89cc02f481943dd58c8737d2c4a8430 22-Mar-2015 Dake Gu <dake@google.com> am 3a7aa9cd: GridLayoutManager: fix bug smoothscroller gets interrupted

* commit '3a7aa9cd68bd39f3a843291817dc209d1d9a45aa':
GridLayoutManager: fix bug smoothscroller gets interrupted
29bfd5b51788d32bdc8237747c63443618ae79c4 21-Mar-2015 Dake Gu <dake@google.com> Fix setNumRows gets ignored

setNumRows goes through onMeasure() then onLayout().
Before the onMeasure() gets called, another onLayout()
clears the mForceFullLayout flag without knowing
there is a pending numRows change not handled by onMeasure()
yet. When 2nd onLayout() gets called, it doesn't go to the
non fastlayout pass.

There is no need to set the flag when change num rows,
comparing with grid row number can decide if goes through
fast layout pass.

Bug 19872498

Change-Id: Ia5254a49e24be04665a1e5175355827a5dfa7258
upport/v17/leanback/widget/GridLayoutManager.java
162b21598d9f4fd49748b3c7e27501fe1277210d 21-Mar-2015 Christopher Lane <lanechr@google.com> Copy the drawable's level to the image view

Change-Id: Ia98c66b40b64aeab695f77de5352c41027bd29e0
upport/v17/leanback/widget/GuidedActionsStylist.java
3a7aa9cd68bd39f3a843291817dc209d1d9a45aa 20-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix bug smoothscroller gets interrupted

Vertical scroll in Videos app is janky.

During VerticalGridView scroll pass it appends a row and layout
the row, the row layout might request focus on a child, that causes
a onRequestChildFocus() call back into the top level VerticalGridView.
In that case high level verticalGridView should not start another
scrollToView() animation. onRequestChildFocus() is supposed to handle
user's interaction only.

The bug is difficult to test, both RV.smoothScrollBy() and LinearSmoothScroller
uses the same scroll state, calling RV.smoothScrollBy() does not
stop linearSmoothScroller. Added a override class to intercept calls
on RV.smoothScrollBy().

Bug: 19846906

Change-Id: Ica857f443e41f14710b2bf177eafba30403817c7
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/widget/BackgroundHelper.java
1d838981f9238c041370ebbcbc7189a02a5e67f2 19-Mar-2015 Tony Mantler <nicoya@google.com> Doc tidy for StackedLayout

Set @hide until we're ready to push it public.

Change-Id: I67f50af7c112db23269af5c7830705e7341e9413
upport/v17/leanback/view/StackedLayout.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
2382d4049da726fc041bc48fca98d3f6f4ceed43 19-Mar-2015 Craig Stout <cstout@google.com> Merge "BackgroundManager fixes." into lmp-mr1-ub-dev
1923ffb3864d59dbd690681f208ed2a9516ed31e 19-Mar-2015 Dake Gu <dake@google.com> am 0da5c853: am ecceb29f: am 75388457: GridLayoutManager: Fix ANR

* commit '0da5c853ef7dc933507ab561cff31a217bd55494':
GridLayoutManager: Fix ANR
7538845719cd1e588185ce9ae60320377862ef8d 19-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: Fix ANR

Regression of fixing b/19625410
We are trying to add non-existing focused position view in fast
layout pass and ended in a deadloop.
Switched to a different fix for b/19625410.

Bug: 19823374
Change-Id: I9fd1e985c09f8deffb46285366b5cf97d881c1b9
upport/v17/leanback/widget/GridLayoutManager.java
95b6a9673fb9212160a371754db443945424267c 18-Mar-2015 Tony Mantler <nicoya@google.com> Add StackedLayout to Leanback

Change-Id: Iaaf7a90315c9b09bb8ac9afc1b6f605c07f3fd42
upport/v17/leanback/view/StackedLayout.java
upport/v17/leanback/view/ViewGroupOverlayHelper.java
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
upport/v17/leanback/app/BackgroundManager.java
ebd3d9078dbaebd10a9506ca086435eb63e8a2d2 17-Feb-2015 Kris Giesing <kgiesing@google.com> Initial implementation of GuidedStepFragment

b/18935698

Change-Id: I413f04bcac739768f79e22ab6b518399302a0d8b
upport/v17/leanback/animation/UntargetableAnimatorSet.java
upport/v17/leanback/app/GuidedActionAdapter.java
upport/v17/leanback/app/GuidedStepFragment.java
upport/v17/leanback/widget/FragmentAnimationProvider.java
upport/v17/leanback/widget/GuidanceStylist.java
upport/v17/leanback/widget/GuidedAction.java
upport/v17/leanback/widget/GuidedActionsStylist.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
8ac2f1a2bf07e47f97c5ae8a9bb037d7219ba1f9 13-Mar-2015 Craig Stout <cstout@google.com> am baa2b276: am 652dcc51: am 3b099f5a: Merge "Internal speech recognizer fixes." into lmp-mr1-ub-dev

* commit 'baa2b276ab4cf12a92e3743a9c28a8d5f57ae1c0':
Internal speech recognizer fixes.
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
7c8283f6542b1045377e88566d363b4c2c83088b 11-Mar-2015 Craig Stout <cstout@google.com> Internal speech recognizer fixes.

- when SearchFragment pauses or SearchBar is detached, stop recognition
to release audio focus
- when audio focus is stolen, abort speech recognition

b/18194568

Change-Id: I31963f27886c909df25f0fb29a5f728697e8462f
upport/v17/leanback/widget/SearchBar.java
4a47cf77fc7dd08e08461a14623bf2a08402793d 10-Mar-2015 Craig Stout <cstout@google.com> am 279806c5: am 513307a1: am d87d4cf6: Merge "Fix list row layout without dimming on pre-L." into lmp-mr1-ub-dev

* commit '279806c5731e808549dfbbbbf803daa77b8e9c13':
Fix list row layout without dimming on pre-L.
f01172a8028e20a2d86c71c1024fbc973e67afa4 10-Mar-2015 Craig Stout <cstout@google.com> Fix docs.

Also sync BrandedSupportFragment.

b/16029942

Change-Id: Ib74ade93895ef18fca599ea62a0d31555c4412f6
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
256599eb902ae2fa7a7b2f6c0e441aed321bedf2 10-Mar-2015 Craig Stout <cstout@google.com> Merge "Broaden support for title/branding." into lmp-mr1-ub-dev
7d56c6667a9bfa435f1d1aca379ce3f79b1ba5d5 10-Mar-2015 Dake Gu <dake@google.com> am 9c8615c9: am 73da96ca: am b24d303c: Merge "Fix missing dispatchChildSelected() for staggered grid" into lmp-mr1-ub-dev

* commit '9c8615c975b9fa6312258593f7117ae3dbc73c5f':
Fix missing dispatchChildSelected() for staggered grid
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
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrandedFragment.java
upport/v17/leanback/app/BrandedSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/TitleHelper.java
upport/v17/leanback/widget/TitleView.java
d87d4cf661b8defe9606bd5977007f04a56aca2f 09-Mar-2015 Craig Stout <cstout@google.com> Merge "Fix list row layout without dimming on pre-L." into lmp-mr1-ub-dev
5870e4aca782a55d0e8f7650f06aec86080b2f88 09-Mar-2015 Craig Stout <cstout@google.com> Fix list row layout without dimming on pre-L.

b/19548299

Change-Id: I2efaa59d6ba09df1744b58d81dc6f12d9bb40ed2
upport/v17/leanback/widget/ListRowPresenter.java
66d16b9b565471fdba2380a06b7c72a2aaca8284 09-Mar-2015 Dake Gu <dake@google.com> am bc3017f9: am 3e26a66d: am 9c564753: GridLayoutManager: fix fastRelayout() not focus to added child

* commit 'bc3017f94408c27f8049a8c6d49308d9c7af79f6':
GridLayoutManager: fix fastRelayout() not focus to added child
70acb0c19be3831a2080e4f902324de16bfbf62e 04-Mar-2015 Tor Norbye <tnorbye@google.com> Annotate support library with @ColorInt, @CallSuper, etc

Change-Id: Ifa25a628f89a07d3903cd71eb1c3639297fdf722
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
f80ef0d6b0b6403f3cd94e7197bc4a39d285280a 07-Mar-2015 Dake Gu <dake@google.com> Fix missing dispatchChildSelected() for staggered grid

This bug does not happen to single row grid where we
change mFocusPosition before createItem.

For staggered grid, when scroll up to item 1: we first
create item1, then consumePendingMovesAfterLayout() changes
mFocusPosition to 1; the event is not fired in createItem
and it's not fired in smoothscroller onStop() if mPendingMoves
is 0.

Bug 19620864

Change-Id: If90fa1b11f7ba689015ecd5462482b83254f345b
upport/v17/leanback/widget/GridLayoutManager.java
9c56475370d1df940252ff1360b92de50022fff6 06-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix fastRelayout() not focus to added child

When items are added to empty GridLayoutManager, it triggers the
fastRelayout pass which does not set focus position to 0.

Bug 19625410

Change-Id: I2ce11abde2162bb7fd28fd1fa6343b9d9b6b32f1
upport/v17/leanback/widget/GridLayoutManager.java
8c5d3b45f6afa838e64e4cf011a385c191d557c6 04-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix crash and support scroll delta.

Fix crash of setSelectedPosition.
Add scroll delta that applied to setSelectedPosition.
Moved updateFirstVisibleOffset into StaggeredGrid class,
the offset is now calculated when inserting first visible item,
because the offset is needed when we append next visible item.
Fixed a loop variable bug in updateFirstVisibleOffset.

Added test cases

Bug 19272838
Bug 19593908

Change-Id: Ibb6f2e115e9e4af6a2b18a48a921e6766cd0c0a6
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
5c13a7806aa6c44e9711beb98797d06f3b2f0259 03-Mar-2015 Dake Gu <dake@google.com> GridLayoutManager: fix focus lost in fast layout

In fast layout, if there is delta, we unapplied delta first, which
may cause the detached focus child move outside visible area and it's
not added back at end of fast layout. And another rare case is
that child layout changes causing focused child being pushed outside
visible area.

Bug 19573463

Change-Id: Ib096bf68f57c32ce8d8ecd13621e0ab35719949e
upport/v17/leanback/widget/GridLayoutManager.java
6b22c4c875d7a540e705b2b6b65bf52c7a89299a 28-Feb-2015 Dake Gu <dake@google.com> Dont scroll to non-focusable items in onLayoutChildren

Added test cases

Bug 19283027

Change-Id: I1de48881dfc4117a42a7e74722f3cc4607f25a51
upport/v17/leanback/widget/GridLayoutManager.java
8246c8b6b8eca846f2bcdc1d850702e9c392b055 28-Feb-2015 Craig Stout <cstout@google.com> Optimize pre-21 shadows.

Use a non overlapping view to prevent graphics layers.

b/19005177

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

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

b/18639835

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

This reverts commit ee73a5bfd4d2460a93a9afb9d1bfce10ff875300.

Change-Id: If6b926c093a8254dca02d4ccac4bfaefca85bc81
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnItemClickedListener.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnItemClickedListener.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
628f94f0d3293372bc23bea1411e687dfe508753 26-Feb-2015 Dake Gu <dake@google.com> Remove deprecated OnItemSelectedListener and OnItemClickedListener

Bug 19514090

Change-Id: I690674d506202bc5513b5fb4cc0eaf3bcddb04f5
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnItemClickedListener.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/BackgroundManager.java
5d3875ca7ca9294a00f9da0a92ad9055adeb9703 24-Feb-2015 Craig Stout <cstout@google.com> Fixes and test for playback controls wrap_content.

b/18803384

Change-Id: I2513530a072c3fb491b3643dd4bf97139cedc830
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
7ae6200550f3c4e02054a0290f46bb1444a5a0d0 23-Feb-2015 Craig Stout <cstout@google.com> Merge "Handle KEYCODE_ESCAPE like KEYCODE_BACK." into lmp-mr1-ub-dev
5031f5e82aaa142cc52310306f51a984d1f213ff 23-Feb-2015 Craig Stout <cstout@google.com> Merge "Fix cut off title." 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
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
764e09c1353fa987144a3acecbe94a091f6229a6 23-Feb-2015 Craig Stout <cstout@google.com> Fix cut off title.

Playback controls row supports wrap_content of description if no image
is present.
Details title will be constrained to one line in order to keep subtitle
visible.

b/18803384

Change-Id: I252b937ee7f31b6ea8607eb2c870d9e9c16cd2e0
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
76b3441abcfcf1291d865fd4a204c103b637027c 20-Feb-2015 Dake Gu <dake@google.com> DetailsFragment: setOnItemViewSelectedListener after view created

b/18926118

Change-Id: Ib19acae979827ada2624f49daa774907eadcd8c5
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
d6fe6c880b70f80ea9b202679d31c54fe534fab0 20-Feb-2015 Dake Gu <dake@google.com> Merge "GridLayoutManager: recalculate scrollMinMax properly" into lmp-mr1-ub-dev
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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/VerticalGridView.java
f9eda43e5076035aba504a315d1797d2d918d12a 20-Feb-2015 Dake Gu <dake@google.com> GridLayoutManager: recalculate scrollMinMax properly

We need invalidate scroll max when last item is invisible.

Bug: 17472458

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

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

b/18933835

Change-Id: I6e4c568524dda538ea7082c8097b481a2e59dff0
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowView.java
upport/v17/leanback/widget/RowPresenter.java
cb04695965b44b6ff633a773426df286d3bfaad9 11-Feb-2015 John Butterfield <butterfield@google.com> Generate item selected events while navigating in the fastlane.
If the application wishes to ignore these, they can use BrowseFragment.isShowingHeaders().

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

Change-Id: I183df8a1f395e795c40f2291d0fe88fe9c0a9779
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
03810f183a56ca3a8c1850e4ee47c89e7ea9a0cf 11-Feb-2015 butterfield@google.com <butterfield@google.com> Merge "Minor code refactor for readability." into lmp-mr1-ub-dev
3173fdc69a928880a271036570c235f874b86f65 11-Feb-2015 butterfield@google.com <butterfield@google.com> Minor code refactor for readability.

Change-Id: Ic1d4d28e288db56dff001c5ae440cec6ec9f4869
upport/v17/leanback/widget/ListRowPresenter.java
cb959eeab2e5c791704063c021e21b831689b1e3 11-Feb-2015 Dake Gu <dake@google.com> RowPresenter: Fix ClassCastException

Bug: 19350938
Change-Id: I5c5671905a7aef0c3245738efbbd0cb6f1346f35
upport/v17/leanback/widget/RowPresenter.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
upport/v17/leanback/app/BackgroundManager.java
9e0a5a45e54dab959e171b1c82f5f07a82c7d0fc 30-Jan-2015 Dake Gu <dake@google.com> Save viewstate in onViewRecycled()

Detach and attach can happen a lot in layout.
Saving states when detached is not necessary.

We only need save state when view is unbound from data
(in onViewRecycled).

Bug: 19202006
Change-Id: Ied07a123eaca41b42e828b6fda0003e4e4e0ee8b
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/OnChildLaidOutListener.java
71fddded48048acfa744ac352166770c91a1c2b1 03-Feb-2015 Dake Gu <dake@google.com> Refactoring: don't use AdapterListener in presenters

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

Change-Id: I933e1965f27ec2c856c2f647c8876ae72df26f07
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
b682c5a20aa0a383ea2b3e7d639e51b3e7771bcd 02-Feb-2015 Craig Stout <cstout@google.com> Playback controls focus fixes.

b/18518261

Change-Id: Id4319ced4d18f3c16c94255e9d7e6772f74971b0
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/widget/PlaybackControlsRowView.java
ad9af35ec6a808136478daf7bd57d564ac517e0e 03-Feb-2015 Craig Stout <cstout@google.com> Support for null headers.

By default the header is GONE on the row and has a min size in the fastlane.

b/19144511

Change-Id: Ic40009e69e86d964a9556e8175530c2ab5396881
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
89fac6fa5d32123cc79d1d4127a4a7bcf86c498a 29-Jan-2015 Dake Gu <dake@google.com> StaggeredGridDefault: Fix inconsistent algorithm results

appendVisibleItemsWithoutCache() uses inconsistent judgements to
determin whether to fill item on next row. When filling first item
on a row, it does not use margin; when filling next item on a row,
it uses margin.

This may cause different layout results in two situations: itemN and
itemN+1 are filled in one pass or two passes (if itemN hits uplimit
in first pass).

The CL make it consistent that it does not take margin into consideration
in deciding whether to fill second item on next row.

This bug is easier to reproduce after adding LinearSmoothScroller support
for DPAD navigating a multiple row Grid. Previously appendOneColumn
is used to handle focusSearchFailed, where it always fills one column
so that itemN and itemN+1 are guaranteed to be filled in single pass.

Added test case.

Bug: 19196818
Change-Id: I9e829bff62feb9ab651bb81bf41638f799bf3a5d
upport/v17/leanback/widget/StaggeredGridDefault.java
fc8f0f06c93c224d86b85c8b9f7ae737968fd797 28-Jan-2015 Dake Gu <dake@google.com> Fix NPE in DetailsOverviewRowPresenter onUnbind

Bug: 18869799
Change-Id: I2a80f325657d0a8b687b0b64079b5cf669e4b18d
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
0a7fea13214fd2b33d0bd4f42b070d7b83bc2124 27-Jan-2015 Dake Gu <dake@google.com> am 4b3edb53: Don\'t rebind to a new view in notifyItemChanged

* commit '4b3edb53b158518329719439db18b0cbd38f27e9':
Don't rebind to a new view in notifyItemChanged
4b3edb53b158518329719439db18b0cbd38f27e9 27-Jan-2015 Dake Gu <dake@google.com> Don't rebind to a new view in notifyItemChanged

Disable item change animation by default for leanback.
This is a regression in lmp-mr1 caused by RecyclerView
turning on item change animation by default.

Bug: 18779939
Change-Id: I4fba38965a8a7a2613769619b6b0b17203c3a1ca
upport/v17/leanback/widget/BaseGridView.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)
76af050dc138a770f8e9397fd50e1aef0710edd9 27-Jan-2015 Dake Gu <dake@google.com> am 49770db2: Fix NPE in BrowseFragment header transition before API 19

* commit '49770db28f9d54507324a660faa305ffb9c6c620':
Fix NPE in BrowseFragment header transition before API 19
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
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/transition/LeanbackTransitionHelper.java
upport/v17/leanback/transition/TransitionHelper.java
49770db28f9d54507324a660faa305ffb9c6c620 26-Jan-2015 Dake Gu <dake@google.com> Fix NPE in BrowseFragment header transition before API 19

Bug 19130461

Change-Id: Ib762f5aaecfe56130ca8fbf578c7ce8e439ab33b
upport/v17/leanback/transition/TransitionHelper.java
d825ff3727407a154a35e20b3a9adc79e57879b9 21-Jan-2015 Dake Gu <dake@google.com> DetailsOverViewRow: allow update Actions, Image, Main item individually

Add setActionsAdapter() and getActionsAdapter(), deprecats addAction().

Supporting changing ImageDrawable and Main item.

Bug: 18869799
Change-Id: I2550469c0d7b3eee38a2e45eefe31ab919979d65
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
338a4977f836f112336c6312b307c9f97aa8d96c 23-Jan-2015 Dake Gu <dake@google.com> am 473fa246: Fix SparseArrayObjectAdapter.clear()

* commit '473fa246e0b44f88b3e052ad8738ae77f14cef89':
Fix SparseArrayObjectAdapter.clear()
473fa246e0b44f88b3e052ad8738ae77f14cef89 22-Jan-2015 Dake Gu <dake@google.com> Fix SparseArrayObjectAdapter.clear()

Issue: 19111955

Change-Id: I967ade2e5aed86ceef395e404d93fa9702426979
upport/v17/leanback/widget/SparseArrayObjectAdapter.java
575dc8a5a5c023aee0c0ec297a7d357685cf49e9 21-Jan-2015 Craig Stout <cstout@google.com> Add xsmall focus scale.

b/19051315

Change-Id: I39066b672b1454ff6c6ea7ee4748d7f731728ed4
upport/v17/leanback/widget/FocusHighlight.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
6380fa3bbd59f866a42db565327ae4b25fabdf31 21-Jan-2015 Craig Stout <cstout@google.com> Merge "Make internal methods package-private." into lmp-mr1-ub-dev
b17fd9f977350717ba91e1d23a7296b69c02aa25 21-Jan-2015 Craig Stout <cstout@google.com> Make internal methods package-private.

b/19070072

Change-Id: Iff5a6a2ad74b55de012810d12e0c24bb74a342d6
upport/v17/leanback/widget/PlaybackControlsRow.java
b3b295890fd53727a7a40262f86dceedf68c7123 17-Jan-2015 Dake Gu <dake@google.com> Add 4 policies of how RowPresenter change activated status of row view.

Bug: 18469244

Change-Id: I9cca86d9b39b387b6f18b3dd62dce98867d8d36d
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
85df3117f0fcd0aa10d7bd45194dab97e22112f2 14-Jan-2015 Dake Gu <dake@google.com> Fixed three bugs causing redundant remove and append

1. When checking overlimit, should take margin into consideration.

2. Fixed a bug in findRowMax, should only use edge of last item in that row.

3. appendItems should check overlimit before add item when oneColumnMode is
false, both withcache and withoutcache.

Also added test case for move items

Bug: 19017080

Change-Id: I6594c9158b186449739eb284c4607df7803e2049
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
aca6f4e4d28935fdc8f8d2a74cd41dc88c8b9e80 15-Jan-2015 Craig Stout <cstout@google.com> Fix setSelectedPosition.

Can now be invoked from onResume.

b/19029685

Change-Id: Ie75d562f1a7b007954aee6f750c43382dcd61cd0
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
95ebf8b19413aa41610c3e2e370a7eb9bf657022 14-Jan-2015 Craig Stout <cstout@google.com> Merge "Fix to prevent jumps when vertical browse scrolling." into lmp-mr1-ub-dev
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)
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
3a23ad69eef2b92be38f9704e064600066b7dfe9 13-Jan-2015 Dake Gu <dake@google.com> Fix lost selection of browse row

Workaround problem of getAdapterPosition() returns -1 in onChildDetached()
in layout pass (created b/18960075)

Issue: 18984910
Change-Id: I3906daf6d68b492c6aefe1007eb8c795da45c5f5
upport/v17/leanback/widget/GridLayoutManager.java
3e534fdedcd360d1dd5bcc51661d93f71e57b31e 10-Jan-2015 Dake Gu <dake@google.com> Fix wrong grid layout caused by not initialized offset.

When we append non-cached items to grid, the first visible item
created has a offset of 0. Then we prepend items with cache, which
will put the first prepended item at the same location of current
first visible item.

Bug 18963829

Change-Id: I174c995ff05acc8492c938bb67a7d4b993629272
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
6e96b9d46e7af6bedf6213ecc2ba0ad7b8050778 18-Dec-2014 Dake Gu <dake@google.com> Refactoring grid algorithm

The current interface between GridLayoutManager and StaggeredGrid is
too complicated: GridLayoutManager updates rows min/max edge and Grid
is responsible for fill items according to row min/max edge.

This CL moved most of the grid code into Grid class family and make
interface between GridLayoutManager and Grid much simpler.
GridLayoutManager no longer updates row min/max.

Refactoring made it possible to write efficient Grid class for single
row or non staggered grid. A base Grid class is abstracted out.
StaggeredGrid implemented it using a complicated data strurcture (a
CircularArray) to cache stagger layout result. A single row Grid will
cost less memory allocations: a TODO in the near future.

fastRelayout() was rewriten slightly differently, it will relayout
(using detachFromParent and attachToParent) next children once detects
child size change, previously we push children away on the same row
which might cause a bad alignment at end.

Regular layout now starts with detachAndScrapAttachedViews(), this
is lighter than removeAndRecycleAllViews() which may lose some views
due to cache limit.

Prepend/append during scroll now also detects if child size changed,
then invalidate cached staggered result before/after the child.

Improvement during adapter notifyChange or structure change, now we
no longer discard grid information in a non-fast relayout case. We
still keeps the same cached staggered result, until we really find
size of a child has changed then we invalidate part of the cache.

Tested with BrowseFragment/HorizontalGridTestActivity/
VerticalGridActivity/BrowseAnimationActivity and with rtl=true/false.

Issue: 18946733

Change-Id: Ia0cfa34ad8d09c124dbffe51680a89f177bfef31
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/Grid.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
upport/v17/leanback/widget/ViewsStateBundle.java
3a0a87a8628a608a1ef94f4387d0730a55d78fab 14-Jan-2015 Craig Stout <cstout@google.com> Merge "Add systrace events." into lmp-mr1-ub-dev
dda08cebca092380021dc6277bb32c0e4da16fec 19-Dec-2014 Craig Stout <cstout@google.com> Add systrace events.

Change-Id: Ic90e8cfa26df4e74d68248e878cdba552e13597e
upport/v17/leanback/os/TraceHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
433391b15bd5ff711ada5894427e90f52186ea76 09-Dec-2014 Craig Stout <cstout@google.com> Fix details description maxlines.

b/17660063

Change-Id: I198899925370d0ba6845b2c9081790108939d39f
(cherry picked from commit 7e5c3e0a514e017659fe28ced24bc7f102ee421f)
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
100e37bdec64de77f82ea19e88e74a0fd842b119 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Handle child layouts due to child selection." into lmp-mr1-dev
697886fa2541e4e1223396d38329451e9e83d08b 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Fix browse fragment smooth scrolling." into lmp-mr1-dev
83472d580eec480f87e29a27ca546d1848ed99f6 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Allow customized recycled pool size." into lmp-mr1-dev
fe9b510d4adbf39eeb335c8e37f37a2ec9fd3456 13-Jan-2015 Craig Stout <cstout@google.com> Merge "Fix scroll controller initialization." into lmp-mr1-dev
597f620c2503bb18aabf0b6fe4c0c84ab7b42cba 08-Jan-2015 Craig Stout <cstout@google.com> Handle child layouts due to child selection.

b/18840332

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

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

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

b/18742856

Change-Id: I83bbc583a7809e65ed930353aa804bd95b362eee
(cherry picked from commit e3cbb083dad7a70b26f542b7bb5d7b67a8c8621e)
upport/v17/leanback/widget/GridLayoutManager.java
bb370eee93bfe84a6e14be0e8476f48c32e2dcb0 30-Dec-2014 Craig Stout <cstout@google.com> Allow customized recycled pool size.

b/18742856

Change-Id: If914653d255c3c3c23492a4e044bd640f070917c
(cherry picked from commit 9e352dac7be9457d2cae3c6accb8ee910399c5ca)
upport/v17/leanback/widget/ListRowPresenter.java
3f23b01f1e22f971e2105557137927822e7419f1 19-Dec-2014 Craig Stout <cstout@google.com> Fix scroll controller initialization.

b/18742856

Change-Id: I00429638e1ce1e2e9fc7b7d5aa7b474c9945f155
(cherry picked from commit 2ced342a1b5cf07415825f7f5bae26f012b3832e)
upport/v17/leanback/widget/GridLayoutManager.java
07a94289970bb0badbd427b40eca97131638874d 19-Dec-2014 Craig Stout <cstout@google.com> Improve view recycling.

Don't start fade in until view is attached, otherwise views bound during
the leanback measure phase aren't recycled.

Don't start animation immediately when attached because the framework will
double count the child having transient state.

b/18742856

Change-Id: I21a0bde9a501454d1bbe244c49b2fd3fbdeaa120
(cherry picked from commit 89589687d8aafcfdc11d9760205e9d0b16505201)
upport/v17/leanback/widget/ImageCardView.java
db14dd5106afde6a39ae26448df2b81b536ebc2b 30-Dec-2014 Craig Stout <cstout@google.com> Fix NPE in the support fragment.

b/18707593

Change-Id: If484980d616a46c407b30ca74be8c5b14bb40ccc
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
5a40b451b2d0fd1c746ea8e22c56d0988c40b860 13-Dec-2014 Kris Giesing <kgiesing@google.com> Merge "Change ResizingTextView so that it defaults to leaving line spacing alone" into lmp-mr1-dev
dc5b25a4083e1d00716fa9f70d26712453fdbeab 12-Dec-2014 Kris Giesing <kgiesing@google.com> Change ResizingTextView so that it defaults to leaving line spacing alone

b/18736147

Change-Id: Iea32924cd77b3683f1b7c83b3a0a39afa5ca04c4
upport/v17/leanback/widget/ResizingTextView.java
1df1f18de496764a0c922053e601d1b6d6d3f31c 11-Dec-2014 Craig Stout <cstout@google.com> Fix NPE.

b/18707593

Change-Id: Ib7519e36f99cf23a9913b91e478013377a1e12a7
upport/v17/leanback/app/PlaybackOverlayFragment.java
ceb323a31b16a5ee227c7e68f147b86bf7bfa639 11-Dec-2014 Dake Gu <dake@google.com> Fix GridLayoutManager initial append/prepend logic

Bug 18718926

Change-Id: I2658f3363a8258b03be4d3286d0f44ca2f55e2fa
upport/v17/leanback/widget/GridLayoutManager.java
f032181dec150eadd94cdc936c6e18d83443d9c7 11-Dec-2014 Dake Gu <dake@google.com> add RTL javadoc for window alignment

Bug: 18631342

Change-Id: I8bad796a2e3ea5af1e5661e523a6a769cb181a02
upport/v17/leanback/widget/BaseGridView.java
e0e66a21916f94ebbced0d1ffe3dc652c9c7a15e 10-Dec-2014 Kris Giesing <kgiesing@google.com> Fix various RTL issues related to multi-row grid views

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

b/18631342

Change-Id: Ibc52057375c24409dacd7af3fb1e487d022b9ff8
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
upport/v17/leanback/widget/WindowAlignment.java
28f46ad88c0f297a77cf5dba2d286c0a9a0d6824 09-Dec-2014 Kris Giesing <kgiesing@google.com> Merge "Pass an appropriate default style up the constructor chain" into lmp-mr1-dev
e36b890d49e33f38eada22a0d9f84974bda2ddb0 09-Dec-2014 Craig Stout <cstout@google.com> Merge "Reset scroll when all items removed." into lmp-mr1-dev
4a6588a5160206fc7063e5a140a405dfd84f0cc9 08-Dec-2014 Craig Stout <cstout@google.com> Reset scroll when all items removed.

b/17575336

Change-Id: Ie5038b6893051a3a83e999bbcd8b64c170880083
upport/v17/leanback/widget/GridLayoutManager.java
afb8ae27a2d6f7d7088a39b9eb4a43369df91270 08-Dec-2014 Kris Giesing <kgiesing@google.com> Pass an appropriate default style up the constructor chain

Bug: 18117832
Change-Id: I30f9a18ebe2e50dc1db03692f0743474b23183d1
upport/v17/leanback/widget/ResizingTextView.java
7fa663ffa812ebc8cb2bb492eecc40485b145eba 04-Dec-2014 Kris Giesing <kgiesing@google.com> Add ResizingTextView to leanback library.

ResizingTextView is a class that adjusts text size automatically in response
to certain trigger conditions, such as text that wraps over multiple lines.

For now this class is only used in DetailsFragment, and is hidden from
javadocs. The API will be revisited before making it public.

Bug: 18117832
Change-Id: Ic8679e370acb48f8dcda6c1e05b23229e8f5739f
upport/v17/leanback/widget/ResizingTextView.java
7db64bb839e5589b38322f9f7456cb928ffc2c1c 05-Dec-2014 Dake Gu <dake@google.com> Fix end alignment of grid

And simplify and take out reverse handling from WindowAlignment.

Bug: 17953835

Change-Id: Ieebed8c1f7b4f5664462f0db210865b60cecd3e9
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/WindowAlignment.java
b455339a4d442068dd312fb93c0544106810dfad 04-Dec-2014 Dake Gu <dake@google.com> Prevent NPE in Presenter.cancelAnimationsRecursive

Bug: 18456704
Change-Id: I66f7827800aaabc9faa9d62486f8c32e88403b14
upport/v17/leanback/widget/Presenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
6a5a773fad65a61baa84ca994da9de1026007e42 04-Dec-2014 Craig Stout <cstout@google.com> Fix error message color.

b/18548286

Change-Id: I9a9d50d83e6a5b778576778bb768b839f3b57397
upport/v17/leanback/app/ErrorFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
490691bd414dbb2093dc6cb56ae63ae9b04e70e3 04-Dec-2014 Craig Stout <cstout@google.com> Fixes to support improved external recognizer overlay.

b/17611324

Change-Id: I449fcfdd1ec408e86e6305d4a6fc185af77a4902
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/SearchBar.java
2f1ca5d5a26ed0320b7f670a9e4a3a03287afb61 12-Nov-2014 Craig Stout <cstout@google.com> Remove deprecated api.

Removal part 2/2.

b/17455376

Change-Id: Ibc29f2b0e66565586780ba02475157506e23b571
upport/v17/leanback/widget/HeaderItem.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
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
936867a6a063492207bd3cd68a1aa870dd5c9da5 30-Nov-2014 Craig Stout <cstout@google.com> Fix in app search text box redlines.

b/17611324

Change-Id: I622bc8f755f107cc832d871013050468e3b9a87b
upport/v17/leanback/widget/SearchBar.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.
7a8227c4f6327388043f08237cbb2b233d5e7b96 26-Nov-2014 Craig Stout <cstout@google.com> Merge "Fix erroneous IllegalStateException." into lmp-dev
8f51aa01152a33d489471bc7c667b39cc2062706 26-Nov-2014 Dake Gu <dake@google.com> am 9036a735: am 02582d90: Merge "Leanback: fix crashes of setScrollEnabled on empty list" into lmp-dev

* commit '9036a735b00ebcaada5981ff607a598439e52662':
Leanback: fix crashes of setScrollEnabled on empty list
02582d90a07220d14ae199fa208f0ba30280afd2 26-Nov-2014 Dake Gu <dake@google.com> Merge "Leanback: fix crashes of setScrollEnabled on empty list" into lmp-dev
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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/TitleTransitionHelper.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
f47fb1e34efd538c322f7539893272ba847cdbdc 24-Nov-2014 Craig Stout <cstout@google.com> Ensure playback controls are visible when fading is disabled.

b/17923350

Change-Id: If089b2f1a6cae06fc09d751de0b828b1288c808d
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
4a10f1eb5c4283cfeef34cd71b84173f5ab3eefb 21-Nov-2014 Kris Giesing <kgiesing@google.com> Fix navigation in VerticalGridFragment for RTL layouts

Bug: 18020272
Change-Id: Id74d29d003a5ce4ac11c37f54cf958538c232907
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
7a0c98633e247d9eb4bdb081a4ef4a5103f04f73 21-Nov-2014 Kris Giesing <kgiesing@google.com> Merge "Update details overview and action presenter for RTL support" into lmp-mr1-dev
d633c87b6565c6068a5c5beb5a1ef91a493acea8 21-Nov-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fix crash when focus requested on a child that was removed.

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

b/18474947

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

This can happen when all views are removed.

b/18474947

Change-Id: I1b9c4b82488a893ba7e668cdc79e41a03d7c61a2
upport/v17/leanback/widget/GridLayoutManager.java
4e602840ed6741b44a536826799625ad0be4b3c6 21-Nov-2014 Kris Giesing <kgiesing@google.com> Update details overview and action presenter for RTL support

Bug: 18020272
Change-Id: I39c2fc4d7a049af8c16a01e12bd6d885ca546b2d
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
8e3566285de4ac771d6188f62fe947e23d371a3d 19-Nov-2014 Kris Giesing <kgiesing@google.com> Changes to support RTL layouts

Bug: 18020272
Change-Id: I3e07b5f3784303b0b50dccc72d9d5ab140ea158f
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalHoverCardSwitcher.java
upport/v17/leanback/widget/ScaleFrameLayout.java
upport/v17/leanback/widget/WindowAlignment.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
b008e4b45faf7c1ece57e48a3517520d65e3b8ca 20-Nov-2014 Dake Gu <dake@google.com> Leanback: fix crashes of setScrollEnabled on empty list

b/18449655

Change-Id: I362433c679f46eb5565d12251db0c24421e3fb55
upport/v17/leanback/widget/GridLayoutManager.java
2dfed05c8ab53ca7c28424c9c03b1a87b9b7ca0d 19-Nov-2014 Craig Stout <cstout@google.com> Rename getInputEventListener to getInputEventHandler.

b/18077079

Change-Id: Ie857b5bc743772b68e8cdb37521dae4920ea5990
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.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
upport/v17/leanback/app/BaseFragment.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BaseSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.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
38fd20857fac70b00fadd3186915647b63858e8e 18-Nov-2014 Craig Stout <cstout@google.com> Merge "Called details/description presenter view attached/detached." 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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
447860fd5c105dd0ccd227237ac5f18fdc4c26dc 18-Nov-2014 Craig Stout <cstout@google.com> Stop orb color animation when fragment is paused.

b/17789226

Change-Id: I2a467ba0f0673e3248b7738e6381adc6dd5fd95b
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
upport/v17/leanback/widget/TitleView.java
26d11212c4a66b075807888caacac5ee7fc10dc1 17-Nov-2014 Craig Stout <cstout@google.com> Called details/description presenter view attached/detached.

b/17664696

Change-Id: Ie58113b70ce92b82085d62a548cc9e9db13280df
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
e62056d592c183d6975ffe96cf3ec8dace0e0f3a 13-Nov-2014 Craig Stout <cstout@google.com> Merge "Deprecate unused api for image uri." into lmp-mr1-dev
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
30f578068f9972cdd69fedaaa66821c8e9a38a5e 12-Nov-2014 Craig Stout <cstout@google.com> Deprecate unused api for image uri.

Removal part 1/2.
Add new constructors to be used instead.

b/17455376

Change-Id: Id3ef402f484d95bef218ffcf2afa7f64e0bd52e5
upport/v17/leanback/widget/HeaderItem.java
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
upport/v17/leanback/app/MediaControllerGlue.java
upport/v17/leanback/app/PlaybackControlGlue.java
eb66dab544c4c1eabe4d469b7cea348d4b01e664 30-Oct-2014 Craig Stout <cstout@google.com> Helper classes for managing standard playback control actions.

b/18077079

Change-Id: Id299ee35cf44ef987cea8a2d8718df4837de1abc
upport/v17/leanback/app/MediaControllerGlue.java
upport/v17/leanback/app/PlaybackControlGlue.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/SparseArrayObjectAdapter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/ScaleFrameLayout.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.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
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
ad0f156d72636100caac697aef7118c0522861c0 30-Oct-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fixes for playback overlay controls.

b/18078409

Change-Id: Iaa5e3c8c9da835ba722569755e8faee966b0aa83
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ScaleFrameLayout.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.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
upport/v17/leanback/app/BackgroundSupportFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
f1c65f3168c64d82d61783284ba6fb6ad6cae922 09-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE Set transitionName for rebind after transition

After transitionEnd, people may rebind row to view, where
we may re-create the view (even though the view should be
in recycle pool unless app calls notifyChange() which invalidate
all the recycle pool). So we should always setTransitionName()
on the view for a back transition. Meanwhile we should clear
transitionName on existing view when rebind to a new view.

Added logs.

b/17918639

Change-Id: I204cf847114e5d379e6671e44a5d37c5c9ec5ebf
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
2c016cea6309ccf11b1625259c8b810143cdef88 07-Nov-2014 Tim Kilbourn <tkilbourn@google.com> DO NOT MERGE Add logging.

Needed for a later cherrypick; originally came from a change that was
not able to be cherrypicked.

Change-Id: Ic7676121af682ea0ecec8d4386e465b18c625f9b
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.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
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
c04ca1b14c5bf9ecac80fc53d3f28a5a7fdd4e77 07-Nov-2014 Dake Gu <dake@google.com> Leanback: add Browse and Details enter and return transition

b/17628884

Change-Id: I5ab571563b75cfac6eaff662c4263aba0a6fa055
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
571796b3ae0c5e15d9324a61745506b5ba47682c 28-Oct-2014 Dake Gu <dake@google.com> DO NOT MERGE GridLayoutManager: Fix crash in onMeasure

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

b/18153129

Change-Id: I0fc94caca64e8ccf0ab439b9fd44eca500fb6bd1
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseFrameLayout.java
upport/v17/leanback/app/BrowseRowsFrameLayout.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/BrowseRowsFrameLayout.java
d1911befd5509ac5ba188559eab193291bedb4ed 17-Sep-2014 Dake Gu <dake@google.com> DO NOT MERGE GridLayoutManager: fix scrolling glitches caused by interference of transition

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

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

Change-Id: I2d7acbafad415436ad7200b17ad31e2ac0e6a6d8
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
5dac2c723e1d50da356170a6f372dcbab1a7d83c 30-Oct-2014 Craig Stout <cstout@google.com> Fixes for playback overlay controls.

b/18078409

Change-Id: Iaa5e3c8c9da835ba722569755e8faee966b0aa83
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ScaleFrameLayout.java
5de88878854095e8ea11273f40d94d6a35af4878 31-Oct-2014 Dake Gu <dake@google.com> Merge "BrowseFragment: Fix NPE that focus change during activity destroy" into lmp-mr1-dev
28fe4119471dcc0ccd752c331d6420fcf363f5a5 31-Oct-2014 Dake Gu <dake@google.com> BrowseFragment: Fix NPE that focus change during activity destroy

b/18044793

Change-Id: Iddb8a60e21f33d583d1312433ef1c7f753a8aa86
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
ef9d4aa4eb25e5a0e6ec3ff7c406ced131726ff2 30-Oct-2014 Nick Chalko <nchalko@google.com> Fix spelling error in onViewDetachedFromWindow javadoc.

Change-Id: Ib52d054094275c4a79235ef47ceedc56f683d54a
upport/v17/leanback/widget/Presenter.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
80d061649db1d8e5c69f400fef4d61e2fde9dd3b 29-Oct-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix scrolling glitches caused by interference of transition" into lmp-mr1-dev
e72d6a9a6ff36930e0482d38df71a9ec0b6b8c25 29-Oct-2014 Dake Gu <dake@google.com> Merge "Set transitionName for rebind after transition" into lmp-mr1-dev
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
upport/v17/leanback/app/BackgroundSupportFragment.java
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.java
99881f0d15df96179f93eee2d624b338d327571c 09-Oct-2014 Dake Gu <dake@google.com> Set transitionName for rebind after transition

After transitionEnd, people may rebind row to view, where
we may re-create the view (even though the view should be
in recycle pool unless app calls notifyChange() which invalidate
all the recycle pool). So we should always setTransitionName()
on the view for a back transition. Meanwhile we should clear
transitionName on existing view when rebind to a new view.

Added logs.

b/17918639

Change-Id: I7ae0d39175c2162500bcfcdc87e9219408f2ded1
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.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
upport/v17/leanback/app/BaseRowSupportFragment.java
upport/v17/leanback/app/BrowseSupportFragment.java
upport/v17/leanback/app/DetailsSupportFragment.java
upport/v17/leanback/app/ErrorSupportFragment.java
upport/v17/leanback/app/HeadersSupportFragment.java
upport/v17/leanback/app/PlaybackOverlaySupportFragment.java
upport/v17/leanback/app/RowsSupportFragment.java
upport/v17/leanback/app/SearchSupportFragment.java
upport/v17/leanback/app/VerticalGridSupportFragment.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BackgroundSupportFragment.java
9a934fa3710ecb3fb2eb67e33a611563a144186d 28-Oct-2014 Dake Gu <dake@google.com> ArrayObjectAdapter: Support replace

also add shortcut to clear/remove avoid fire event not needed.

b/17893479

Change-Id: I5a987f877a3ce593f176c3224f35447048f0c15a
upport/v17/leanback/widget/ArrayObjectAdapter.java
2986af93ba272bdc69d414bdcf5fcf0901c8ee97 28-Oct-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix crash in onMeasure

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

b/18153129

Change-Id: Ie156072b284098e671e4b90e0fad574c263a1fdd
upport/v17/leanback/widget/GridLayoutManager.java
290ba2dbf37227e931a657bd3c819db68a80480d 27-Oct-2014 Dake Gu <dake@google.com> Merge "Leanback: Add support for imageView scale type transition" into lmp-mr1-dev
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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseFrameLayout.java
upport/v17/leanback/app/BrowseRowsFrameLayout.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/BrowseFrameLayout.java
upport/v17/leanback/widget/BrowseRowsFrameLayout.java
05805862fe972a3e3c0d199b7eb3a80fc5bdd7b6 16-Oct-2014 Craig Stout <cstout@google.com> Fix talkback accessibility by setting playback control labels.

b/17974328

Change-Id: I88bf9d3574e5a9b6f4738bc0e3bed178fc9637fc
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/PlaybackControlsRow.java
13f6f74d1057d950f838cbadb2b2fc939e412ed8 10-Oct-2014 bulic <bulic@google.com> Merge "Removed click sound effect for search orb" into lmp-dev
4dccb65d6621b458a1c02a956324d78cf35c7d07 09-Oct-2014 Dake Gu <dake@google.com> Merge "BackgroundManager: Use the right drawable cache with activity theme" into lmp-dev
2a3ff0424bb423d8719c340f6158873abca99bc0 09-Oct-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Play sound and update orb during onReadyForSpeech." into lmp-dev
9d9f969b5f37b4454b49f74125521c82a8bf88c4 09-Oct-2014 Tim Kilbourn <tkilbourn@google.com> Play sound and update orb during onReadyForSpeech.

Delays the sound until closer to when things are actually ready.

Bug: 17922736
Change-Id: I67a1923d09df4366a0f1d77b871f9afc7e64b0d6
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/BackgroundManager.java
c4788eac909f51e73e05885314d3ace65d0a2f26 08-Oct-2014 bulic <bulic@google.com> Removed click sound effect for search orb

b/17789838

Change-Id: I0589e4ddc1f61e012d7e44b8c875d57c4be86ebc
upport/v17/leanback/widget/SearchOrbView.java
9e3b908cd06f14bc7810e744ccb174ee55c972a5 08-Oct-2014 Craig Stout <cstout@google.com> Speech orb fixes.

Scale factor.
Reset mCurrentLevel on start.

Bug: 17610737
Change-Id: I4ea3aab26dd9e56a929384f9b16bb98e074d9823
upport/v17/leanback/widget/SpeechOrbView.java
49bd8747a667ae5f45a132d803cc18a80e963545 07-Oct-2014 Jerome Poichet <jpoichet@google.com> Speech orb improvements

- orb moves more dramatically when receiving volume changes
- no breathing colors while recording

Bug: 17610737

Change-Id: Ib7c415f1f5152d415539f770c0e3eea31277a923
upport/v17/leanback/widget/SpeechOrbView.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
b7b4d9a241526b79ec39083299f6d7dcf1f2a7eb 06-Oct-2014 Dake Gu <dake@google.com> Merge "Revert "SearchFragment improvments"" into lmp-dev
2eac9924967d79de4a4488eb9bf0fc2950819670 06-Oct-2014 Dake Gu <dake@google.com> Revert "SearchFragment improvments"

This reverts commit edb67b0b59ee6657b2d1adb6b2822858db34e8c8.

Change-Id: If2627e201dd0e7dfcc3359718175e2a7c74b8ac2
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
5681c8261b2bc2bb77bf78e1e84c8123553de944 06-Oct-2014 Dake Gu <dake@google.com> Merge "SearchFragment improvments" into lmp-dev
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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
a088f574b916685bd0a75ff613ac2009a3bad483 03-Oct-2014 Craig Stout <cstout@google.com> Support for displaying partial results.

b/15492986

Change-Id: I3f75260e26146230d91e2be73d978435c72bfdb7
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SearchEditText.java
upport/v17/leanback/widget/StreamingTextView.java
d5dff7f2ff07d060e052083f1e4d9d01c2b7ee8e 03-Oct-2014 Craig Stout <cstout@google.com> Expose SearchOrbView.enableOrbColorAnimation.

Apps should disable color animation when paused.

b/17788704

Change-Id: I18e703bedcd9980ff08ec303c0ab47ae7a2bb7c0
upport/v17/leanback/widget/SearchOrbView.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
e33fac64498a83e1138b0e0aad732ea29e2f8a81 01-Oct-2014 Jerome Poichet <jpoichet@google.com> Prevent NPE

We could get a null for the query, use TextUtil to be safer

b/17759464 Music crashing on mic button in LRX01

Change-Id: I85628827dee811e41d9fe3c8c6f2483bd876fc1e
upport/v17/leanback/widget/SearchBar.java
b81a2943b9e150c6caca969e62c5375928c4cd1c 30-Sep-2014 Dake Gu <dake@google.com> Leanback: Add support for imageView scale type transition

Copy snapshot code from framework SharedElementCallback.

Read scale type and matrix from snapshot view. Requires a framework change.

b/17703309

Change-Id: I9c0f3c980b4724cbd118e2d6e25aa2750ce47260
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
7a52e206fb20167f0b7e7a9daa7abb952d5f544d 30-Sep-2014 Dake Gu <dake@google.com> Fix NPE caused by incorrectly calling detachAndScrapViewAt

b/17702252

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

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

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

Change-Id: I4c7d14f1e60b70984745c1ab9f55748d9abcc5aa
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/SearchFragment.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
upport/v17/leanback/app/HeadersFragment.java
f9e1c9b19a2a2aad58610599c2ea8e551d5c065e 26-Sep-2014 Dake Gu <dake@google.com> Merge "leanback: fix transition shared element" into lmp-dev
6a7323031205c4301e7b5cb7d76b9c70f333c19e 26-Sep-2014 Dake Gu <dake@google.com> Merge "Revert "Workaround accessiblity focus problem"" into lmp-dev
ce1dad42528bdd7d26aaf714af7ccc4ebaa57fcd 26-Sep-2014 Dake Gu <dake@google.com> Revert "Workaround accessiblity focus problem"

This reverts commit 1c7cf0caa7eae95dbd73a4fb093bead673d7047b.

Change-Id: I89d6f5070d3b3fdf0d207e4ea9525a6998bd5809
upport/v17/leanback/app/HeadersFragment.java
e7b29b745f6562b43ad79074cf5445a26cd4073c 26-Sep-2014 Dake Gu <dake@google.com> leanback: fix transition shared element

Since we add one more framelayout with background, the shared element should be
the new framelayout.

b/17661532

Change-Id: I19869e648f6caadf774ec7e662a33ad233f0c1c9
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
37b7977ed359b0c38706e246a5d7d31ad4751a4c 25-Sep-2014 Dake Gu <dake@google.com> Merge "Workaround accessiblity focus problem" into lmp-dev
1c7cf0caa7eae95dbd73a4fb093bead673d7047b 25-Sep-2014 Dake Gu <dake@google.com> Workaround accessiblity focus problem

Avoid item gaining focus in transition.

b/15376774

Change-Id: I10ac97bc45dd94eedbdaca296b30f856e4368897
upport/v17/leanback/app/HeadersFragment.java
db6a0d1b5f4c0353d168fd5b22661246d23aa206 24-Sep-2014 Craig Stout <cstout@google.com> Fix onAdapterChanged.

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

b/15696646

Change-Id: Ibc311fb62ad87ad35e0a98ed4f95f30aab752544
upport/v17/leanback/widget/GridLayoutManager.java
26c145aadca16cba3f294cc93c36edc6e9c98e6a 22-Sep-2014 Craig Stout <cstout@google.com> Fix broken shadow on details overview row.

Also fixes layout issue seen in Play Games.

b/17608823
b/17609089

Change-Id: I97c1aceee0c6e3af5d6dc447003c02ea584d2031
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
55f1d8b057b1e273c9c34a1f06c7a2f0c8868a97 19-Sep-2014 Craig Stout <cstout@google.com> Merge "Support select effect on details overview rows." into lmp-dev
d391b19d1bf663ce300b0f4550e6fbaa7e12b0d4 19-Sep-2014 Dake Gu <dake@google.com> Leanback: Add a default timeout for Detail Activity transition.

Avoid deadlock if the details activity never loads content.

b/17576164

Change-Id: Iccd3992f607295fbfa79ed7b1844972c3b709ca4
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
09d52d76912e3689cc2b58b7bb3f44b923915fd8 18-Sep-2014 Craig Stout <cstout@google.com> Support select effect on details overview rows.

b/16898456

Change-Id: I7228c35b3cdf07b5863275d47d1648e81bb45911
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
16d71295acfe8e8808df57db6747049c121c1512 18-Sep-2014 bulic <bulic@google.com> Fix for installs hanging on launcher

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

b/17517359

Change-Id: I701b24a57d27c6c3b4569b80959cb2a315a2857c
upport/v17/leanback/widget/GridLayoutManager.java
90a30a0dfdd4341f1587003579229d7f28d98d21 17-Sep-2014 Tim Kilbourn <tkilbourn@google.com> Guard against NPE after transitions.

Bug: 17511707
Change-Id: Ia79c37324157fbd25f709f782c4a6b728e734841
upport/v17/leanback/app/RowsFragment.java
af1b3cf80f8976e00271add905e537bb22cbb61a 16-Sep-2014 Dake Gu <dake@google.com> Merge "Fix performance of hero transition" into lmp-dev
ceb7ab2ddd6e157cd4ade0f14a382c39428163c4 15-Sep-2014 Dake Gu <dake@google.com> Fix performance of hero transition

Use hasOverlappingRendering false for action list
details description frame and ImageCardView.

TODO for transition: Ideally ImageCardView should hasOverlappingRendering
and transition should create hardware layer for fade animation.

b/17499864

Change-Id: I4c4437c7e1ac19051ab939bea2ee0b2119d03090
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/ImageCardViewInfo.java
upport/v17/leanback/widget/NonOverlappingFrameLayout.java
upport/v17/leanback/widget/NonOverlappingLinearLayout.java
upport/v17/leanback/widget/RowContainerViewHeaderDock.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
upport/v17/leanback/app/PlaybackOverlayFragment.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
a374e013eae5bd696e4d4e17532234acc5eaa684 15-Sep-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Polish speech orb." into lmp-dev
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
4c696a0ad561090035960c2f34a058562c7f2aad 15-Sep-2014 Craig Stout <cstout@google.com> Polish speech orb.

Pulse color on focus, add shadow, zoom icon.
Refactored SpeechOrbView to subclass SearchOrbView.

b/17452282

Change-Id: I8dc34da4f24967f4c26dc3ca11b0388dbecf3de8
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/SpeechOrbView.java
361955cd7c040bf30330c8e21d9016c747a94473 13-Sep-2014 Craig Stout <cstout@google.com> Add a callback interface for voice input.

Bug: 16320681
Change-Id: I48224a8167435372c722553ba88e4f6961d9c152
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SpeechRecognitionCallback.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/transition/TransitionHelper.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
upport/v17/leanback/app/HeadersFragment.java
c7d3c9aa60ae79dbbca7a3bfe63a7e8458d301b5 13-Sep-2014 Dake Gu <dake@google.com> ImageCardView: avoid creating hardware layer in headers transition

For performance.

b/17490677

Change-Id: I74eb24fe190f13b6a26c2aee0fa5948a6f9d0ddc
upport/v17/leanback/widget/ImageCardViewInfo.java
2320d56e598912d7bd714b0edd9965610a6b49c5 13-Sep-2014 Dake Gu <dake@google.com> Merge "BrowseFragment: no longer use left fading edge" into lmp-dev
eb4947ed0d90c24552d1edc7943763a7e765fc87 13-Sep-2014 Dake Gu <dake@google.com> BrowseFragment: no longer use left fading edge

For performance.

b/17487746

Change-Id: I48e60514e3e058a7223d0d790eecfb37c6db761c
upport/v17/leanback/widget/ListRowPresenter.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
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/widget/RowContainerViewHeaderDock.java
0fff85d7f9dee67ec5116f3cba4e8b3961f805a7 11-Sep-2014 Craig Stout <cstout@google.com> Scale rows when headers are showing.

b/15887467

Change-Id: Ib7a942c7de6f7bdfef08ba8ef8e938abee585358
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/RowsFragment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
a6c18317f09969688b7d329a5b4ce35c8d648e4f 10-Sep-2014 Craig Stout <cstout@google.com> SearchFragment polish.

Fix search bar vertical position.
Fix visibility of hint text.

b/15881642

Change-Id: I423d4f3d8394b9630d651bc41b2aef71827c46e7
upport/v17/leanback/widget/SearchBar.java
c031fd76061137a1873a1e506c499710b71dc9e3 10-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix focus navigation from search bar down to results." into lmp-dev
a52784195525cdb1f2bb4d8dde1b8b314f480957 10-Sep-2014 Chet Haase <chet@google.com> Remove references to "L"

Issue #16894783 Remove references to L when API is locked down

Change-Id: Icf1215eed34e6fbe3d71a5cec4bf1699c3bc3ff9
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/ShadowHelper.java
f6221e91bd3f0f584893baadcb9f8cf5621dce3b 09-Sep-2014 Craig Stout <cstout@google.com> Fix focus navigation from search bar down to results.

b/16189418

Change-Id: Iba103910fd7d80888d2ebc3b876a326f5ab2828d
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/HeadersFragment.java
763733c9538f139f95b5b09d8314e639d9dcf39e 09-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix speech orb colors and icon." into lmp-dev
82a2377919d8de2658bff96507cbcd9dac591a83 09-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix focus handling between search bar and results." into lmp-dev
9325acc6799fbb0bef84a5ac9b25bfca0701420f 09-Sep-2014 Craig Stout <cstout@google.com> Fix speech orb colors and icon.

b/15599562

Change-Id: I502cc051d1a89ac2a4d71d64128e7a8e3b2b0475
upport/v17/leanback/widget/SpeechOrbView.java
1d9c59a1a9621e54d4f3defd20451ced63cbf088 09-Sep-2014 Craig Stout <cstout@google.com> Fix focus handling between search bar and results.

b/15330714

Change-Id: I9e56560a0a403deff43360c69a559b1bf979a7cf
upport/v17/leanback/app/SearchFragment.java
7a208cd35be79a69b1f4f36724b85ab96eb23e75 09-Sep-2014 Dake Gu <dake@google.com> Implement fastlane fading edge

b/17289018

Change-Id: Idc6629f5d18df668b3cca56495574755ada689b9
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/HeadersFragment.java
2024f694e8ae778eefb3f6b6cdc245a67975436c 09-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix double layout framework warning." into lmp-dev
d7618ab69ef591dd5342b9481c4954bfc7e9110c 08-Sep-2014 Dake Gu <dake@google.com> Fix fading out children not moving with parent

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

b/17423570

Change-Id: I253bdbadeefb71ced6971d446a17d96d7a96dea3
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
b33714d135e006cf3bdba09788c27d4791b8632e 07-Sep-2014 Craig Stout <cstout@google.com> Fix double layout framework warning.

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

b/15446050

Change-Id: I5d123d2586bdb55a410365a38146d1310fbfbe8a
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
4d32be88ce98efb2088455135905181d64d89fc6 05-Sep-2014 Craig Stout <cstout@google.com> Merge "Fix context leak." into lmp-dev
6ced181ce948d1ae03c1a8402cf5ca31e2bef170 05-Sep-2014 Craig Stout <cstout@google.com> Fix context leak.

Stop orb animation when detached.

b/17408665

Change-Id: I74e59ce7b9f6ea13d3233b680cbcf4390cba479d
upport/v17/leanback/widget/SearchOrbView.java
4474506866a0ee006974d9b20b3f9fa9f15b99a1 05-Sep-2014 Dake Gu <dake@google.com> Merge "Leanback: Dim unselected grid item" into lmp-dev
46e7de54775fc37dc51041629c79249e6dae3242 05-Sep-2014 Dake Gu <dake@google.com> Leanback: Dim unselected grid item

Also hide FocusHighlight interface from doc.

b/17388123

Change-Id: I2501e8e501b6ab75570e11356413cf87fdc46d9f
upport/v17/leanback/widget/FocusHighlight.java
upport/v17/leanback/widget/FocusHighlightHandler.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
9306f07b1d66f4974a81f781d29739b30124fff0 29-Aug-2014 George Mount <mount@google.com> API Review: change SharedElementListener to SharedElementCallback

Bug 17289526

Change-Id: I49f8d838207524fbf0ec099021bcf7312c28bd82
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
5358b0ca6ed795892bd097fdf15d41fb6b1a03d2 03-Sep-2014 Craig Stout <cstout@google.com> Fix memory leak when fast scrolling rows.

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

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

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

b/17013302

Change-Id: Ibdf5998e81dd130128f88f85d88243ec27a70dd5
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/RowPresenter.java
14d54b35a8927e7b116ab8fa6ac621ecfcbe4bb0 29-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: fix selection offset problem

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

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

b/17331101

Change-Id: Ic07b68874c3742e6d29275a1c5921fa8afc08011
upport/v17/leanback/widget/GridLayoutManager.java
37eb0e53ba5363bbe15314c7d19d4b2d6024a5aa 29-Aug-2014 Dake Gu <dake@google.com> Fix Action row does not gets updated

Games has mutliple rows, so row view will be reused
and the ActionList will bind to different adapter.
When changing adapter of ItemBridgeAdapter, also
needs to notify recycler view that something has changed.

b/16897784

Change-Id: I010dd046a2f332ab0f6874bd786d41ef86795bd0
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
a37118706af7d79adeb8b3918fb52fad99ece361 28-Aug-2014 Dake Gu <dake@google.com> GridActivity: use large as default scale

b/16687095

Change-Id: Ibb8764100bf537727bf298bf27ec1d30102ef19e
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ViewsStateBundle.java
b300ce0dfc3ad41fd6fef25833dfe4b14d5261d2 28-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: fix alignment when refreshing new data

b/17309152
b/17307859

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

b/17212513

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

Fix problem when layout item from non-first column.

b/16824116

Change-Id: I26a1cd9ab7c7b6309709d9bf57b6b0bc624bcc8f
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TitleTransitionHelper.java
upport/v17/leanback/app/VerticalGridFragment.java
906659fc65e7b8b1bc9f0c7cc3dabf7e64e8b9bf 22-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: support nested onSaveInstance()

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

b/15702302

Change-Id: Ie48300684945ee3adacc042e73d06a411287e6d1
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ViewsStateBundle.java
c62efa44831b1c60dcbdfd968735e27ac8294439 22-Aug-2014 Craig Stout <cstout@google.com> Add shadow to fastlane.

b/15777980

Change-Id: I2f6a0d42dc711405c920204570d75737ba44475a
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/ShadowHelper.java
3146269a82645438b55a41c679047e3be36e65df 21-Aug-2014 Craig Stout <cstout@google.com> Ensure list row bottom padding is always sufficient for shadows.

b/17180725

Change-Id: I6199394a88ccabb96242cd21b5f0f31c36ee937c
upport/v17/leanback/widget/ListRowPresenter.java
cda8867f3c17e94f41d7dcd491e0eb27e6a3953a 21-Aug-2014 Craig Stout <cstout@google.com> Merge "OnItemViewClicked/SelectedListener for details rows and playback controls rows." into lmp-dev
1eb6cc286944b1e2f60decdf6432e5f780092c94 21-Aug-2014 Dake Gu <dake@google.com> Merge "GridLayoutManger: fix setSelectedPosition is aligned to a wrong position." into lmp-dev
e692c096892075c6ac5cf509f118df6b618edecc 21-Aug-2014 Dake Gu <dake@google.com> Merge "onLayoutChildren() should not interrupt SmoothScroll" into lmp-dev
801d8b7bc960a5ae4b0e23af8ac5b8b81f8ad6f3 21-Aug-2014 Dake Gu <dake@google.com> GridLayoutManger: fix setSelectedPosition is aligned to a wrong position.

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

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

b/16681515

Change-Id: I61a8efde46327853a2ed67af63fa125d5426f907
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
16f37f24a1f341429fdea4d4850644fecaefcdd9 21-Aug-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Make dim color & opacity into theme settings." into lmp-dev
131ea1bf320a60591383cc6d8831c38e13b31b2b 20-Aug-2014 Tim Kilbourn <tkilbourn@google.com> Make dim color & opacity into theme settings.

Bug: 14617546
Change-Id: Ie809ae1a7bc6c5a05168558394672b24f3083866
upport/v17/leanback/graphics/ColorFilterDimmer.java
upport/v17/leanback/graphics/ColorOverlayDimmer.java
314e0698cf026f83cb9d7ff13ae31cd913845604 20-Aug-2014 Dake Gu <dake@google.com> onLayoutChildren() should not interrupt SmoothScroll

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

b/16659420

Change-Id: I294fd3bff21bd78a4335e091e68c6a3982d7f50b
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/PlaybackOverlayFragment.java
8b6327deb6bbacc335b098894cbbbdc1060310f0 20-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: handle padding change properly.

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

b/17135547
b/16320658

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

b/16657786

Change-Id: I1a00a035175950d77cbc6d349898071290ce397e
upport/v17/leanback/widget/GridLayoutManager.java
4650f15e6a2427dd7cfcfb4d36fba0f7e47fb926 19-Aug-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: Tracking selected position change when adapter changes" into lmp-dev
d182feca369cfefe1cedad624ead716a99cca713 19-Aug-2014 Dake Gu <dake@google.com> GridLayoutManager: Tracking selected position change when adapter changes

fixed b/17087493

cleanup and remove unused prelayout code.

Change-Id: Ia2a4adfe73600931a678ec6dcd2c4a6d15dfec99
upport/v17/leanback/widget/GridLayoutManager.java
139d69f76bbc189571db2d3f3da6812af3611cc3 20-Aug-2014 Craig Stout <cstout@google.com> Merge "Fix deprecated docs tag." into lmp-dev
0bc1aae85ac55af50c2debfe711505093fd3626a 20-Aug-2014 Craig Stout <cstout@google.com> Fix deprecated docs tag.

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

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

b/17108202

Change-Id: I92aad74952ef7bcf8a5e626e0c73620c31692054
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
14b5ad0db56bbee8966f3f04ea4a0d6cc93ebcf8 19-Aug-2014 Craig Stout <cstout@google.com> Add back two parameter initialize to fix TvSearch build.

Change-Id: Ibf2bbaf1a06aa0e2b8756d5aa9d9c7586d831b29
upport/v17/leanback/widget/ShadowOverlayContainer.java
ca48c80e6b6d90f6362144950c5f20a8f6839e9d 19-Aug-2014 Brian Carlstrom <bdc@google.com> Fix javadoc breakage from 4f34a05cdf73b68c3b2eb8678f740ab15225126a

Bug: 16687089
Change-Id: Ifb4424f5d9272887bdb0dcc5466a178a26c01c9d
upport/v17/leanback/widget/ShadowOverlayContainer.java
e30bdac5029bb58b4dc39fe155f58c79ebb41cbe 20-Aug-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Add javadoc for region visibility methods on BaseCardView." into lmp-dev
71545370fce2dc3c104fd5698a58189721101f1e 20-Aug-2014 Tim Kilbourn <tkilbourn@google.com> Add javadoc for region visibility methods on BaseCardView.

Bug: 15575706
Change-Id: Iba71421d0b5f253e4658f8cc52e89f06afe5c21e
upport/v17/leanback/widget/BaseCardView.java
329286648ed7e32712628504b9cf1801a099d2c8 19-Aug-2014 Craig Stout <cstout@google.com> Merge "Add rounded corners to leanback "cards"." into lmp-dev
4f34a05cdf73b68c3b2eb8678f740ab15225126a 15-Aug-2014 Craig Stout <cstout@google.com> Add rounded corners to leanback "cards".

b/16687089

Change-Id: If8997998304c5fd22823f2cf95677be90e35c136
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/RoundedRectHelper.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
upport/v17/leanback/widget/VerticalGridPresenter.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
210401c0fd2e95b6e08b656b9dca08f4e7eef08e 19-Aug-2014 Craig Stout <cstout@google.com> Merge "Cleanup playback control actions." into lmp-dev
386b06a44a1f46327f045dbb3ae1bebadbcbfed7 18-Aug-2014 Craig Stout <cstout@google.com> Cleanup playback control actions.

b/17112170

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

Use SmoothScroller when scroll to offscreen items.

b/15546722

Change-Id: I4d8abba9a376771993bc0bcff09d86b340baed69
upport/v17/leanback/widget/GridLayoutManager.java
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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
adf55abedd17eb9484d03da4b521209f15724f1f 15-Aug-2014 Craig Stout <cstout@google.com> Fix shadow on playback controls card.

b/16687092

Change-Id: I3c58089993868b880eaa0deb736b0a064e44aab0
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/ShadowHelper.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/RowPresenter.java
aa67105babce5fb14e1f39b57d4c84ce634afa62 14-Aug-2014 Craig Stout <cstout@google.com> Fixes for playback controls "more actions".

b/17031274

Change-Id: Icde9524cb5bce1c3f61826bf1cd0d8f224663cb1
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TitleTransitionHelper.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/transition/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.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
upport/v17/leanback/app/RowsFragment.java
b500acb88c1ac8ba4dbd50441e1c71316c65da75 14-Aug-2014 Craig Stout <cstout@google.com> Fix recycled view pool sharing between list rows.

b/17013302

Change-Id: I4813d59d970b9d581f4e2e89aaa917b3c11f0a49
upport/v17/leanback/app/RowsFragment.java
db40bbb47b4449fe36875f9eec4471d9864f0b05 13-Aug-2014 Craig Stout <cstout@google.com> Merge "PlaybackOverlayFragment positioning and spacing polish." into lmp-dev
d20507e0f5ac7ad021f42ca87c294787246f0591 13-Aug-2014 Craig Stout <cstout@google.com> PlaybackOverlayFragment positioning and spacing polish.

b/16987129

Change-Id: Ie450ae9c5f493ae6eeb33f454dbe66ce920b97fc
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
dd0b7f7577a5b82aca264fc428b12e53301b1270 13-Aug-2014 Craig Stout <cstout@google.com> Merge "Playback overlay animation polish." into lmp-dev
836443f4a3b69eb7a88ffeb65a39e11439dee55e 13-Aug-2014 Dake Gu <dake@google.com> add background for transparent image

b/16989401

Change-Id: Iee87604593146e7d27704d8f155f2facb85370e2
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
6b2e5b5117f1b8dfafbd81b995bb423ab0297564 12-Aug-2014 Craig Stout <cstout@google.com> Playback overlay animation polish.

b/16980270

Change-Id: I01476bbd239ae6ba850573935a1df1de8bb105db
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
3e91a20766ee7aea2bd2a8282425b0d61cd44376 11-Aug-2014 Craig Stout <cstout@google.com> Optimize no-fading-edge case.

setWillNotDraw(true) in that case.

b/16952580

Change-Id: I6cbec9e5cfb4789aac2209f39f528999cb9907ed
upport/v17/leanback/widget/HorizontalGridView.java
f0e485de16a48547b1c6b272cf005d0b80b92e79 10-Aug-2014 Craig Stout <cstout@google.com> Fix action button selection backgrounds.

b/16799117

Change-Id: Iea26e35c63439f199d0300d5ca3f158161f2a09f
upport/v17/leanback/widget/HorizontalGridView.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
upport/v17/leanback/app/PlaybackOverlayFragment.java
d1adbdcb44a48e142d28a93189c57edfe62d93ce 07-Aug-2014 Craig Stout <cstout@google.com> PlaybackOverlayFragment fade animation improvements.

Change-Id: I7d8d35e3afed3b6d5633a235ec397dfc405bfe64
upport/v17/leanback/animation/LogAccelerateInterpolator.java
upport/v17/leanback/animation/LogDecelerateInterpolator.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/app/RowsFragment.java
31b1448fe2a88d6bd338c42f19e40ddbf903cee4 08-Aug-2014 Dake Gu <dake@google.com> Merge "Set background on right panel if no margin on imageView." into lmp-dev
ae2614fe4c86c79344dc7dcb07777143b2fbd0d6 07-Aug-2014 Dake Gu <dake@google.com> ImageCardView: add methods for change info area background

b/15704903

Change-Id: I113c7be0b5b425371b536dfe252be21bc9e83aae
upport/v17/leanback/widget/ImageCardView.java
72a2146f4c3e6dbb84a5f9f92e7ab42d142dab04 08-Aug-2014 Dake Gu <dake@google.com> Set background on right panel if no margin on imageView.

Avoids thin color band on bottom of imageView especially in
transition.

Change-Id: Ieae86089e0cbe8fa36ea9277c90e7cdcf2db6c10
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
18c8048f17940359b8bce99cb46d24337bff8997 07-Aug-2014 Dake Gu <dake@google.com> DetailRow: Allow access details ViewHolder from row ViewHolder

Details row's ViewHolder is not intended to be subclassed.
Details Row has three parts: image, actionlist and details.
Instead developer should only replace detailsPresenter.
Leanback lib has a strong restriction so that it can change
the DetailsRowPresenter without breaking app's code. A typical
example is adding transition support to detail row that animates
images, action list and details.

Adding the access to details ViewHolder eliminates needs for
subclassing ViewHolder and put stuffs in. Instead, developer
should put stuffs in details presenter's ViewHolder.

b/14407649

Change-Id: I3b1c9d3fd7f551ad08b01a28a8964874a2025b88
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
b0181a77ce38f75a7d218745a330c5d80daacfb6 07-Aug-2014 Dake Gu <dake@google.com> matches part of leanback transition ux design

Change-Id: Id576015f7e36b3a8754e93c87726c635106bc8a5
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
dcc8de5c9a9a07474c5dac86660f0bbc82eaabce 06-Aug-2014 Dake Gu <dake@google.com> add Ripple click effect for cards

Change-Id: Icfef1c785deba51c4c64f7a3dabd8ea4335a03b0
upport/v17/leanback/widget/BaseCardView.java
372d07bb41510d91a6a662a1906aceb0ee759481 25-Jul-2014 Craig Stout <cstout@google.com> Add view fading support to PlaybackOverlayFragment.

Includes auto-tickle on input.

Change-Id: I58d1f6d87870d06527b3b80f7fedcdeab1b3cb6e
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/BaseGridView.java
1223c56dd703a4a7725a4abf8c091d68348a2a53 05-Aug-2014 Dake Gu <dake@google.com> Merge "ImageCardView: add method to set drawable without animation" into lmp-dev
4cc255c1c9ce5f3a718970b6e0be2c3ae6abf9ed 31-Jul-2014 Craig Stout <cstout@google.com> Support for item selection in playback controls.

Change-Id: I620626efb69dbee0b1ba3ba87ef8b1a495059fe1
upport/v17/leanback/widget/ControlBar.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
aa93f6777233b789feb14d95d900b158d0ac4841 31-Jul-2014 Craig Stout <cstout@google.com> Fixed spacing of controls.

Change-Id: I56286e1b48c75c45fe5046a0aee2e2363a25558b
upport/v17/leanback/widget/ControlBar.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
ada0432e54a7a69478ef648523a8a66bc82861e9 05-Aug-2014 Craig Stout <cstout@google.com> Merge "PlaybackControlsRow actions improvements." into lmp-dev
19025301f907b7b706bec652304b39761086e39b 26-Jul-2014 Craig Stout <cstout@google.com> PlaybackControlsRow actions improvements.

Add outline and solid states for thumbs actions.
Use new MultiAction where applicable.
Shuffle now supports configurable highlight color.
Repeat icons updated.
Add HighQualityAction and ClosedCaptioningAction.
Uses styles to allow icon overrides for stock actions.

Change-Id: I0db4e4695252f963e6ac171ec12fde1c3358953b
upport/v17/leanback/widget/PlaybackControlsRow.java
502e6531c4ee86b6671cd692bd3e2d0ffd5d65c4 05-Aug-2014 Craig Stout <cstout@google.com> Fix for measure when views have been removed.

b/15919486

Change-Id: Ib85e72d0dbabac985a33aa714f51082af37c3eab
upport/v17/leanback/widget/GridLayoutManager.java
e5b67be786d519377ae275ef76f3ad72187183d5 28-Jul-2014 Craig Stout <cstout@google.com> Support for varying margins on current time and total time labels.

Change-Id: I7286c38f345184a47c6dd5ebcbb3ac2961dcc000
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
7709709c2c78490a21311e9950d5dca7e89a6aed 26-Jul-2014 Craig Stout <cstout@google.com> Add background scrim to PlaybackOverlayFragment.

Change-Id: I6b7f2d0c8e3e6bce63e0fa8c2622f3af5919a7f8
upport/v17/leanback/app/PlaybackOverlayFragment.java
44f004b2612b04510a09a4c1e33f5a109582d669 02-Aug-2014 Craig Stout <cstout@google.com> Fixes to search orb focus animation.

Quick scale up and scale down.

b/15492575

Change-Id: I8379e1ce16110faedec275d5c24b07c1d92c8218
upport/v17/leanback/widget/SearchOrbView.java
558f7b70035c50045908efca5f4f3d65df685cac 02-Aug-2014 Craig Stout <cstout@google.com> Seach orb scale on focus includes the icon.

b/16324433

Change-Id: I8c0a028ca19eb2c6fcd12380004502142e4f5a14
upport/v17/leanback/widget/SearchOrbView.java
932feed83c3dbc49c9855a1736afd9d5a3428b8e 04-Aug-2014 Dake Gu <dake@google.com> ImageCardView: add method to set drawable without animation

b/16790928

Change-Id: I4e248c09edd90617bf4d4fba60765ff3e15e960a
upport/v17/leanback/widget/ImageCardView.java
6e0b2c07dacd32bec0d2745631d4f486d366f91e 31-Jul-2014 Dake Gu <dake@google.com> Merge "fix NPE when postAnimation multiple times" into lmp-dev
f4482e64217e38c0ad8f344da0e90e9e1cf3aa11 31-Jul-2014 Dake Gu <dake@google.com> fix NPE when postAnimation multiple times

Change-Id: I47b25aef0abe0b01616e4a7f8b264470def07787
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.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
upport/v17/leanback/app/BackgroundManager.java
0e9492360e123589ac8c54e0668901d567f788a6 26-Jul-2014 Craig Stout <cstout@google.com> Default focus goes to the middle control.

Change-Id: I1ffbd32993a796d904e1db1ace2d2ad89f5a8169
upport/v17/leanback/widget/ControlBar.java
058f08d235aa4188df24ed1fe12cd8673dd2f429 25-Jul-2014 Craig Stout <cstout@google.com> Merge "Add support for progress to playback controls." into lmp-dev
6dca725412977bb56b933bdec120e31909233cdb 22-Jul-2014 Craig Stout <cstout@google.com> Add support for progress to playback controls.

Change-Id: I63f0e93c9151cfa4ef4b4ade8ee2b9502771d4e8
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.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
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/PlaybackOverlayFragment.java
upport/v17/leanback/widget/ControlBarPresenter.java
upport/v17/leanback/widget/ControlButtonPresenterSelector.java
upport/v17/leanback/widget/PlaybackControlsPresenter.java
upport/v17/leanback/widget/PlaybackControlsRow.java
upport/v17/leanback/widget/PlaybackControlsRowPresenter.java
upport/v17/leanback/widget/Presenter.java
b1456a70fd1200bc6d9574edb030c9cb69c8c790 24-Jul-2014 Craig Stout <cstout@google.com> Merge "Add PlaybackOverlayFragment and associated row and presenters." into lmp-dev
4121f22713bbed467a977ec0d867ef53989ff374 18-Jul-2014 Dake Gu <dake@google.com> Add support for hero transition into detail overview row

b/15024618

Change-Id: Ibaadcd543b6cee9b8085d7c89f24b4cb88004a0c
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/DetailsOverviewSharedElementHelper.java
f6729841c35fa9db061cdfe71c1aacef613a4e96 19-Jul-2014 Craig Stout <cstout@google.com> Merge "Pass the data object not the row to AbstractDetailsDescriptionPresenter." into lmp-dev
7d1196948811bc5f1b7ec0cdc74340fca60fc8e2 19-Jul-2014 Craig Stout <cstout@google.com> Pass the data object not the row to AbstractDetailsDescriptionPresenter.

This enables use of the description presenter by other rows such as
playback controls.

Change-Id: I306dc0eda76e36782b9074e80b48842d07053a8f
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
cef7b4942bacc862ea4eac66952e9f7aba027d18 15-Jul-2014 Yigit Boyar <yboyar@google.com> Update RecyclerView scroll listener API

This change adds RecyclerView as a first parameter to the scroll related callbacks.

It also fxies a bug where scroll callback was being called w/ the intended scroll
amount instead of the real scroll amount.

I also changed it to be an abstract class instead of an interface to make future
changes easier.

Bug: 16054949
Change-Id: I99a1f91dcd442c1ac3ad1ed7dbf4598d1cee9c28
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
152a664517049dab6374d779cdbf2274d4005d0c 17-Jul-2014 Dake Gu <dake@google.com> Merge "DetailsOverviewRowPresenter: Add method to get overview view" into lmp-dev
7728d53c5c50e8ed807e8f4a189e34684de04800 12-Jul-2014 Craig Stout <cstout@google.com> Fix details overview binding when drawable is null.

b/16237144

Change-Id: I5820c296b535aaadc52077711f6e0ca47c58199d
(cherry picked from commit 91bbebf55c09a58325c1836fc9f52fd82bf5fd09)
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
b34a2372153298ebdc3e148e1c1f3b3924efab08 15-Jul-2014 Dake Gu <dake@google.com> DetailsOverviewRowPresenter: Add method to get overview view

Use the overview view instead of imageview for activity transition.

Change-Id: If350a536ffc3294635ee9feffc10b78e1abd06f9
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
b3874b3cc18478ed10d2f1506aad21c2d9e5a4a9 11-Jul-2014 Dake Gu <dake@google.com> Merge "new listeners for DetailsFragment and SearchFragment"
dc9b5676ab337317154fa7702033ae174617525b 10-Jul-2014 Dake Gu <dake@google.com> new listeners for DetailsFragment and SearchFragment

Change-Id: I127be8199e6ab37629da7e17ea6b378ab432d5d6
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/SearchFragment.java
afe1da48b4673f64c67c130237dd485a34a69c1b 10-Jul-2014 Dake Gu <dake@google.com> fix doc build - re-add @deprecated

Change-Id: Ib7c09752ac7e9acb0e55eacd3749d6347c2f3db2
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/VerticalGridPresenter.java
947dbf076cd019e3c26217fbc7aa21e860d68044 10-Jul-2014 Dake Gu <dake@google.com> Use new listeners in VerticalGridFragment

Change-Id: I77f6a8f90bf2bd9508ec44a047c2aceeddd1b7b0
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/VerticalGridPresenter.java
73d17f7cda162797e3d10e47445bf44b2c842170 10-Jul-2014 Jerome Poichet <jpoichet@google.com> Merge "Fix initial focus in SearchBar"
2680c6a2ed5b2567d9709a5adb419728e062d686 11-Jun-2014 Jerome Poichet <jpoichet@google.com> Fix initial focus in SearchBar

- Turns out I was explicitely requesting focus for the EditText when
attaching to the window
- Start recognition automatically on start

b/15527718 In app search in Play Movies causes keyboard to flash and disappear

Change-Id: I1c746da01e3746dd62317ad2282a794f21a8049c

Conflicts:
v17/leanback/src/android/support/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SearchBar.java
13fa060612629dc3882f57f5530d4f72f050c12d 09-Jul-2014 Craig Stout <cstout@google.com> Merge "Details row may disallow scaling up of images."
e23ea69ec54eb70d17239ba671fcd75563780553 08-Jul-2014 Craig Stout <cstout@google.com> Details row may disallow scaling up of images.

Margin around image now used in some cases.

b/15762107

Change-Id: I78f12b51cc5a4c550d407a33e8f56c09f687e8da
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnItemClickedListener.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/OnItemViewClickedListener.java
upport/v17/leanback/widget/OnItemViewSelectedListener.java
upport/v17/leanback/widget/RowPresenter.java
f2df33adb72d7a4138d00128bf66751ad77ecaba 28-Jun-2014 Dake Gu <dake@google.com> Merge "Use ViewCompat for postOnAnimation"
49c83b12201dde5b93d4eca3d44478e0c967a2e6 26-Jun-2014 Yigit Boyar <yboyar@google.com> Pass recycler to LayoutManager#onDetach callback

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

Change-Id: Ia1013fc3830258eb6f3a7d4dd9db664597ce18ac
upport/v17/leanback/widget/GridLayoutManager.java
e358cb8b1b05e35d2b18661caf4898a828bda4a3 27-Jun-2014 Craig Stout <cstout@google.com> Merge "New ErrorFragment."
b7c2e023ab13ac158badfc9f4e17fd33fd6bf274 27-Jun-2014 Craig Stout <cstout@google.com> New ErrorFragment.

Change-Id: I11355505141932b65905f189f7e8ddd6d4526b44
upport/v17/leanback/app/ErrorFragment.java
3de146291132c3d463941e34f0609a3dd15d6784 27-Jun-2014 Dake Gu <dake@google.com> Fix NPE when detached RecyclerView schedule onLayoutChildren()

b/15911289

Change-Id: I99ef70d585147f7f8d8a9d0923e8e667fb780d19
upport/v17/leanback/widget/GridLayoutManager.java
4fdd3589c982860b831c0fad63c0082cb9079f47 24-Jun-2014 Craig Stout <cstout@google.com> Allow developer to specify search orb colors.

b/15774559

Change-Id: Ie8522f55b1dedf81410eaf60980509d1d8756fd5
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/TitleView.java
74ecd2848a6ceaed6a4dcaed4748b4fb688de020 19-Jun-2014 Dake Gu <dake@google.com> VerticalGridFragment: use z-order instead of customized drawing order.

Change-Id: I1a6efa101416b81cf759dd63dd76c3a50ef8cce5
upport/v17/leanback/widget/VerticalGridPresenter.java
cd3fcab8bbbea194b72422f3977b8488ef2ad207 19-Jun-2014 Dake Gu <dake@google.com> Merge "ListRow: Use Z order instead of customized drawing order"
0fcad32410ad29031630bb9cc2da35d33a4aa906 19-Jun-2014 Dake Gu <dake@google.com> ListRow: Use Z order instead of customized drawing order

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

Change-Id: I78b7e4bff29d8ebc0ce128d5783f0c89e29a2bbe
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowHelper.java
d2fd82409150a29da24eb97009d1fa59ec0a0f07 19-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager clean up code never used

Change-Id: I46660343b16ad5eb6e811175181656f4654080c1
upport/v17/leanback/widget/GridLayoutManager.java
72761b833b535ef717ff4241f30b8b79ad9317bf 19-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager clean up code never used"
f9ee673b5efd7428800f305b54274827c51db72a 19-Jun-2014 Craig Stout <cstout@google.com> Merge "BackgroundManager fix for repeated quick setting of the same drawable."
d6019d141130ae4811b78e37286faf93d5944fd9 19-Jun-2014 Craig Stout <cstout@google.com> BackgroundManager fix for repeated quick setting of the same drawable.

Change-Id: Id0cb3de42adcbbf93eee64ac93b5b874dba8fca6
upport/v17/leanback/app/BackgroundManager.java
819b4e55bcf37847548a55c5dac0dfa8323975f6 19-Jun-2014 Craig Stout <cstout@google.com> Fix action bar fade right.

Must ensure that views have been laid out before checking bounds.

Change-Id: If1ccab473d8b7212f2c36a6b1843c50ffda340d3
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
ac98cd2905e0bac5ace2d4527048ca5a4a5871ce 19-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix action bar fade right."
08a42433300b4617bad27bda1214e12ca7854adc 11-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix WindowAlignment algorithm

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

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

b/15547766

Change-Id: I81f8b68c1739b7df1fa08d94d3a23b6c9e495747
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/WindowAlignment.java
69e74bd8956577d9a3414b81ec661fd5fee42e19 16-Jun-2014 Craig Stout <cstout@google.com> Add L-only shadows to search orb and details overview.

b/15676752

Change-Id: I616c31824c741eacfbdbe8526c530c5617012cb3
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/ShadowHelper.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
80d04d2265fe28800fcbc7e8cc7d6d229a7913d8 12-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Update more leanback javadocs.

Bug: 15149629
Change-Id: Ie98f9ab4a6ab555e06626e692fc2a75d207840e9
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
94914f34d9b5054731153185f96c269fd5e3ad5d 12-Jun-2014 Dake Gu <dake@google.com> Merge "BrowseFragment: not trigger header transition in requestFocus()" into lmp-preview-dev
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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseFrameLayout.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
upport/v17/leanback/app/BrowseFragment.java
3d5bfaf87ae4e70c8d11abc06dde8256bbafc0c6 12-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Merge "More leanback javadoc updates." into lmp-preview-dev
beeaa973d1b5bd79ee8ae798141231d9a315eba7 12-Jun-2014 Tim Kilbourn <tkilbourn@google.com> More leanback javadoc updates.

Bug: 15149629
Change-Id: I53221f65d79f25e6683af4e5205fecb8e666aed8
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/ObjectAdapter.java
c22050c807ebd3f67573a8a48155e02bafb8782e 12-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Improving overall memory usage" into lmp-preview-dev
c8737e35c611362db621b25656b57be0c2b8a306 12-Jun-2014 Jerome Poichet <jpoichet@google.com> Improving overall memory usage

- Making sure we release SoundPool when done
- Preventing multiple recognizers from being started if pressing voice
repeatedly.

b/14057166 Got a "can't open microphone" error, OOM

Change-Id: I8082036962d2f536cee88677d5398af08af575f4
upport/v17/leanback/widget/SearchBar.java
961a8f12d1fbeeb86ea066f9f2c693abb2ce50f2 12-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Update leanback javadoc.

Bug: 15149629
Change-Id: Ib3977c497f1fc0fd2a9cc8527347a85e8f1e8d40
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ImageCardView.java
upport/v17/leanback/widget/Row.java
upport/v17/leanback/widget/RowPresenter.java
497a47f2ab7fdc8490191b02caa9a68f884d9ac0 11-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Remove deprecated Params.

Bug: 15414619
Change-Id: I82f390cdaf16a52c4d88efd10404a95121195856
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
94920246f7f5a0d4dae794058020cd67c5701056 10-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: Do not declare predictive layout support.

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

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

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

Issue #15542012 Simplify RecyclerView animations

Change-Id: I6219210c9b0ca32535182c1d233076a355fe0671
upport/v17/leanback/widget/GridLayoutManager.java
fb413100a0ce8c0b68a1c5f6dd9cee5e0f981700 10-Jun-2014 bulic <bulic@google.com> Removed setting of search orb defaults in xml

doing it programatically to avoid forcing users of SearchOrbView to set
their theme to Leanback
b/15515406

Change-Id: I6717449e18ac01121fb43dc67ba6210f17e38c5b
upport/v17/leanback/widget/TitleView.java
5a59bde085588f95dc067bd1ed64a940f355343c 09-Jun-2014 bulic <bulic@google.com> Fixed titleview/searchorbview crash

-set bright color to be null
-use correct defaults (even if theme is overriden)
b/15515406

Change-Id: Id8077fe50ecc4e1d1e436ffc586bb23a9ac55fe2
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/TitleView.java
56603224aeccbed8b7a1bdb303725fa15b09b820 09-Jun-2014 bulic <bulic@google.com> Merge "Added bright color parameter to search orb" into lmp-preview-dev
decb4e284bb5befddcc3812564dab41049fca303 09-Jun-2014 Jaekyun Seok <jaekyun@google.com> Fix build breakage

Change-Id: I70d2dad01c2cc6da222b7e2e92246e8f3c0bb47b
upport/v17/leanback/widget/SearchBar.java
a1798f408d3acafffc93cce1b309a54dce52d22d 08-Jun-2014 Jérôme Poichet <jpoichet@google.com> Adding search tones

b/15479577 Tone missing when starting voice search in-app

Change-Id: I53782b0a734d5d6f9cc2fa05b82b6f7f614f054c
upport/v17/leanback/widget/SearchBar.java
8b55ff20146055bb0c4c5544814fcf530e03649a 06-Jun-2014 bulic <bulic@google.com> Added bright color parameter to search orb

b/15427416

Change-Id: I10c1d03db62b25d28cd573ff7fa7a491648a3ac9
upport/v17/leanback/widget/SearchOrbView.java
4c94efdb022031d2cbf5e80c8aa3703b01d78f68 08-Jun-2014 Dake Gu <dake@google.com> fix bouncing effect of selected card view

When card animation is enabled, the scale pivot changed dramatically
because card height is changed before/after browse transition without
animation. There is much less bouncing in "card -> card navigation"
because pivotY is animated with card height animation.

The fix is to allow pivotY being at a fixed location regardless info
height. Pivot values also need to be transfered to shadow container
since the actual scaling is done on shadow container.

b/15413508

Change-Id: I9b2ab7e9ef8d961d3a5072bf47f2e68e9b15f3d9
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
8d610b69ca210524b3d87f42abc07029297609b8 08-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Merge "GridLayoutManager: fix some animation jumpiness" into lmp-preview-dev
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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/Row.java
777317218bacac9d5f0979306608efc217055921 07-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Fixing default values" into lmp-preview-dev
033fd1bdda0e33e4f81e323f61ab10840cc649a2 07-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Details overview image now scales." into lmp-preview-dev
937f910ceb3364a1b84899c2b5f1ff5384f38f84 07-Jun-2014 Jerome Poichet <jpoichet@google.com> Fixing default values

- Fixing the way we retrieve default values to avoid crash when not
setting any attributes
- Adding documentation for the widget, since this is starting to become
a "first" class citizen

b/15473391 Regression SearchOrbView crashes when no attributes are passed

Change-Id: Icbce9e9a452b124968776bdeb00d89752697b76d
upport/v17/leanback/widget/SearchOrbView.java
6f2623c3520b1fde1e30bce75d4e7cd38bc7c156 07-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Fixing SpeechRecognizer leak" into lmp-preview-dev
50ea3557b75826b3f51480715df1973472e345c4 07-Jun-2014 Craig Stout <cstout@google.com> Details overview image now scales.

b/15394334

Change-Id: I1007b9bbcd9e6f649d2589654aebb879294dea27
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
66ae15f5fa8b6714fa78e6d3f94fe85af06ddabd 07-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix some animation jumpiness

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

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

part of b/15413508
b/14885970

Change-Id: I7478ea39f1fb429f483b5f25b69118b66c086c21
upport/v17/leanback/widget/GridLayoutManager.java
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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/BackgroundManager.java
9ae4ca8296ee814d305719fc3de70790bf5be334 06-Jun-2014 Alan Viverette <alanv@google.com> Merge "DO NOT MERGE Material theme" into lmp-preview-dev
134804b76d18b0a15e73f62aeaa5a7c70ad667b2 06-Jun-2014 Craig Stout <cstout@google.com> Merge "BackgroundManager improvements." into lmp-preview-dev
2fb330f7a11a5c87d4ea8b19a97a99f65b81b42e 06-Jun-2014 Alan Viverette <alanv@google.com> DO NOT MERGE Material theme

Change-Id: Idd8fd14c15da11134422511c8b64f8a24cde2f12
upport/v17/leanback/widget/SearchOrbView.java
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
upport/v17/leanback/app/BackgroundManager.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
upport/v17/leanback/app/BrowseFragment.java
ed57770cf2211040bffe0bddd55e7c28fb47a42a 06-Jun-2014 Jerome Poichet <jpoichet@google.com> Setting orb color later in the constructor

Turns out attributes to set the color were called before the animation
parameters were set, so the bright color was computed as being the same.

Moving attributes loading to a later phase in the constructor

b/15467438 Search Orb doesn't color shift when focused

Change-Id: If276015b187fdebe883f3fa83f0fffb5368c65c8
upport/v17/leanback/widget/SearchOrbView.java
a7352a9636372c8389a20300d41ad32459ab3b74 06-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Adding search orb attributes" into lmp-preview-dev
f0e71182c62bba18e9d8098941a29c4f5031ce36 05-Jun-2014 Jerome Poichet <jpoichet@google.com> Adding search orb attributes

Adding color and icon as orb attributes so that McLauncher can customize
the orb as they wish

b/15455246 Add parameters to customize SearchOrbView

Change-Id: If4efc11c6beb17350739dd65e6f1c9e3975858f9
upport/v17/leanback/widget/SearchOrbView.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
upport/v17/leanback/app/HeadersFragment.java
a146b68648170a782838968dae9fe4497a3e80a9 06-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix NPE when adapter changed in scrolling" into lmp-preview-dev
b8f95f79fdba6860887d6826a9447cf15cea6d7d 06-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Add API to provide suggestions (aka completions)" into lmp-preview-dev
911b1d9ec87dcaa9b4a5a3d4e13c54f21bf03398 05-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix NPE when adapter changed in scrolling

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

b/15004615

Change-Id: Iea86e0b9b582c3e0e0f3a435aa5092173642672d
upport/v17/leanback/widget/GridLayoutManager.java
731066a59e10ddc7bb6c95d0b91b3e0e11e10396 05-Jun-2014 Craig Stout <cstout@google.com> Add TitleView and use it to complete VerticalGridFragment.

b/15432740

Change-Id: I00740c265e76b93b943d402be452c74d889510e4
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TitleTransitionHelper.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/SearchOrbView.java
upport/v17/leanback/widget/TitleView.java
2a4917392556a63a0d4d3d8ecbc55780e6e5303b 05-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix scroll bug" into lmp-preview-dev
6ef7396cd226efcce83389c5107166c121e25785 05-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: fix scroll bug

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

b/15449400

Change-Id: Icb111eabb988538923b88f4bd52bb27ec7680929
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/WindowAlignment.java
9f7c2a242cf64f9790f28d0a103a0bea0b3640b7 05-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix VerticalGridFragment focus navigation and title transition." into lmp-preview-dev
b04c500ecc9109673d0384e85f62f0485e3f6b4f 05-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "SearchOrbView shouldn't be invisible itself" into lmp-preview-dev
2ed0e8a36ac111a3661c56f5dbbe74cfe0696eee 05-Jun-2014 Jerome Poichet <jpoichet@google.com> SearchOrbView shouldn't be invisible itself

As McLauncher was trying to use SearchOrbView, it was discovered that
the widget made itself invisible. It really should be invisible by
default in the title bar, not the widget itself.

b/15435741 SearchOrbView widget is invisible by default

Change-Id: Ifbe0dbaa69a282289debf80974195c3b193a5928
upport/v17/leanback/widget/SearchOrbView.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
9020c0aec57b4e8994d66b7cd1a89c225e9bfa11 05-Jun-2014 Craig Stout <cstout@google.com> Fix VerticalGridFragment focus navigation and title transition.

b/15432740

Change-Id: I6ac533a88d8ce8b17aa28d3605e688536bfbb8e5
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
01d63e7d432a412718d7c8a28b558744a372abcd 05-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: scroll limit check" into lmp-preview-dev
f4c26c37a99b7233cfbec51f94b661e3bd5f6fb3 04-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix leanback docs." into lmp-preview-dev
5a983d70762d39d92501479cfc445be6cb1b569c 04-Jun-2014 Craig Stout <cstout@google.com> Fix leanback docs.

Change-Id: Ic5f3ba909d0686b61da422e88744c75dc3519079
upport/v17/leanback/app/BrowseFragment.java
a9cd123e18f21ada648a8c715989c7b900a5c3e7 04-Jun-2014 Dake Gu <dake@google.com> Merge "dont unbind header text so the view can be fade out in transition." into lmp-preview-dev
f752e9582ac7fc97ae5090e76321343871edb810 04-Jun-2014 Dake Gu <dake@google.com> dont unbind header text so the view can be fade out in transition.

This is because we changed from removeView to recycleView when layout is disabled.
However we still want to use the recycled view during transition.

b/15417457

Change-Id: Ia499176117688e644edfba0030b112ea0a79585c
upport/v17/leanback/widget/RowHeaderPresenter.java
79b86b227e6794937ec311522b50e727f8eec263 04-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: scroll limit check

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

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

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

Tested on TV and tablet.

TODO: scrollMin/Max on secondary axis.

b/15414917

Change-Id: I125025a5865df69316dadc612b52b67d8f27a250
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/WindowAlignment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
a7ccdd7cccc63bd80519b91ae87223c8234ae0b3 04-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix child selection listener dispatch." into lmp-preview-dev
45ef49ba4d3b9bd0a4c9764749b3f9faa6c6abd6 04-Jun-2014 Craig Stout <cstout@google.com> Fix child selection listener dispatch.

b/15425688

Change-Id: I6e3e28074f6a4c163f400b5c9e99068154a3d6f8
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BackgroundManager.java
7746dd4ede9dba98bda6519c395f9ed452df8bf0 04-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix text spacing on rebind." into lmp-preview-dev
aea109d1024c5fdd582b328b58eb8b52341d50d3 04-Jun-2014 Craig Stout <cstout@google.com> Fix text spacing on rebind.

b/15399014

Change-Id: I961a8eb5cee365e70fef412d7871890fccd2a6e6
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
76c3b90228d8c4afc6d24c683e9c95f41ae619c9 04-Jun-2014 Jerome Poichet <jpoichet@google.com> Removing ununsed imports

Change-Id: Id398857ca752b9ac612d0e596da1cce58e6e3a6f
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ListRowView.java
upport/v17/leanback/widget/OnActionClickedListener.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/VerticalGridView.java
e0a1253fccf626dbc9c0d3aaf03ab903d1485171 04-Jun-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: avoid redundant dispatchChildSelected" into lmp-preview-dev
3543308c80a5a0bc3a2401dc0368a99b754d65c1 04-Jun-2014 Craig Stout <cstout@google.com> Remove more actions view.

b/15409230

Change-Id: Ibfb2e3e08500bf736aa20c490cce0456b596d901
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
0d9c25bab934568d041d93281287f831fdd0c169 03-Jun-2014 Dake Gu <dake@google.com> GridLayoutManager: avoid redundant dispatchChildSelected

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

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

b/14807080

Change-Id: I5ac770181542955360c4d0531d5110694db04b89
upport/v17/leanback/widget/GridLayoutManager.java
e0fc06a975f22a71c6d106a33feb4859ce8fe191 03-Jun-2014 Jerome Poichet <jpoichet@google.com> Merge "Handling missing RECORD_AUDIO permission." into lmp-preview-dev
66a714e3184c4be0d35dff3e9887f77ce84fa5eb 03-Jun-2014 Craig Stout <cstout@google.com> Merge "Further browse spacing fixes to match redlines." into lmp-preview-dev
4cd4cce277571385f4d1a56d5348578c38368cbe 03-Jun-2014 Craig Stout <cstout@google.com> Further browse spacing fixes to match redlines.

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

b/15328938

Change-Id: I97f2a40b542372a7f15ff6cfc30d7a23e74eb8a5
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowHeaderPresenter.java
99f1278ee0fffafdba26a48d0482e2a30e8df591 03-Jun-2014 Craig Stout <cstout@google.com> Merge "Fix NPE when measuring with wrap_content and no items." 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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
056561d81012983d2d27b8665c4aeabb427174cb 03-Jun-2014 Tim Kilbourn <tkilbourn@google.com> Set defaults for brand color and search orb color.

Bug: 15162080
Change-Id: I0c184ac1dd8f30744966fe0232c37a263c0bad96
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
92a959ab2b3c3c99aabb03cd999ff223763128da 03-Jun-2014 Craig Stout <cstout@google.com> Fix NPE when measuring with wrap_content and no items.

b/15369861

Change-Id: I338e2be5613442900e23ea4e1a590db7cc5f2482
upport/v17/leanback/widget/GridLayoutManager.java
e748917a5661b0de79c7082267799f2530badde6 03-Jun-2014 Craig Stout <cstout@google.com> Set all views in a vertical grid to activated.

b/14467535

Change-Id: I9d75c8264a4e2a6b640170b4c382fa258e80ab99
upport/v17/leanback/widget/VerticalGridPresenter.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
83118b72d02074ee35f07ad0253579565c16882b 31-May-2014 Craig Stout <cstout@google.com> Fix visibility of "more" actions row view in details overview.

b/15344783

Change-Id: I2d2f74f1d90c1e1c4111671df6a66fb5dc19f987
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
9a1a0dc3d1ae8e80a5992e414a77c854e9f0cf65 31-May-2014 Dake Gu <dake@google.com> Merge "show title when no row is available" into lmp-preview-dev
e2f86a37ee5e08a34d8bc286ce97568046dfd036 31-May-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: don't fire selection change event in prelayout." 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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
3d091e81d45f6b691475f4d79bb257567658318a 30-May-2014 Craig Stout <cstout@google.com> Merge "Hide the fastlane if headers are disabled." into lmp-preview-dev
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
upport/v17/leanback/app/BackgroundManager.java
37390806e43578a40f1275c3c0497eaa83971697 30-May-2014 Dake Gu <dake@google.com> GridLayoutManager: don't fire selection change event in prelayout.

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

b/15343493

Change-Id: I5960f67dd66c6f55814aadcc904b4bf200392a39
upport/v17/leanback/widget/GridLayoutManager.java
d559710c8763acb37fd444735da7ee770b84df07 30-May-2014 Craig Stout <cstout@google.com> Hide the fastlane if headers are disabled.

b/15339596

Change-Id: I703ba776edf8098bb5ad14740859f2251a96a7bc
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
853dbb9531de43103829847b1121ad049f930806 30-May-2014 Dake Gu <dake@google.com> Merge "use quantum shadow" into lmp-preview-dev
19312c5f247559a9483d874e62150c49d36aa478 30-May-2014 Dake Gu <dake@google.com> use quantum shadow

b/15186925

Change-Id: Ia4e129ff85566cda496fcb28f279c762980d6da3
upport/v17/leanback/widget/ShadowHelper.java
43329fc348a0134d4a3273796a6a9cf71dad04a5 28-May-2014 Craig Stout <cstout@google.com> Add Recycler and State parameters to LayoutManager.onMeasure.

Allows a layout manager to measure children when measuring itself.

b/14885970

Change-Id: Icad22a5e4d19b9827c4c601a364a83bd84883cd2
upport/v17/leanback/widget/GridLayoutManager.java
a5d1266687a2448db606a34cb387b31745d2c035 30-May-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: supports item animation" into lmp-preview-dev
4200ae975bfd7e4dc2e5c2d838c070470fcb3e2a 29-May-2014 Dake Gu <dake@google.com> GridLayoutManager: supports item animation

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

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

Fixed a NPE in scrollVerticallyBy

b/15079477
b/15004615

Change-Id: I67245bd0c2f6c3265a3b309b5f47e3f0c10ac6b3
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
a7ba44025ec38541f429a830763ff799b5e5267e 30-May-2014 Dake Gu <dake@google.com> ArrayObjectAdapter: Add notifyArrayItemRangeChanged() and indexOf()

These are handy methods for user to use ArrayObjectAdapter.

Change-Id: Ib61cca110dbee893d5f53f19ae8be669c683a156
upport/v17/leanback/widget/ArrayObjectAdapter.java
efea02cbf3b1f69cbff4e98f859a521c95484fac 29-May-2014 Craig Stout <cstout@google.com> Merge "Improvements to browse search orb." into lmp-preview-dev
983ce5a01bb4dbbeb9c752f7ecf98653ea09174f 29-May-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: stop using adapter + smooth scroll support." into lmp-preview-dev
e7d7944fe8400baa17d4bb66069e3e9976615f31 29-May-2014 Dake Gu <dake@google.com> Merge "RecyclerView Cleanup" into lmp-preview-dev
aadb8928f5920c758c1a385bbc8b8b128a60657c 29-May-2014 Craig Stout <cstout@google.com> Improvements to browse search orb.

Now supports color animation.

b/15094070

Change-Id: Id66afa01711bcac4c950f19fda14d9593ff6b539
upport/v17/leanback/widget/SearchOrbView.java
2ad1027496fefed641f91f3cde2f8c8b468bca0c 22-May-2014 Jérôme Poichet <jpoichet@google.com> DO NOT MERGE Retroactive feedback

Incorporating feedback from ag/470934

Change-Id: I5338c2a9819b9c1c741f4bd97cef9cfef118c0e1
(cherry picked from commit 17ff6d32785b726b67fd3ac18e273651f15f59c0)
upport/v17/leanback/widget/SearchBar.java
6e0cf9c34636f450f1ada4bf3f53a98c7a3fe9df 27-May-2014 Dake Gu <dake@google.com> GridLayoutManager: stop using adapter + smooth scroll support.

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

Switch to use SmoothScroller for scrolling to invisible child.

Change-Id: I8d0e1e93dd226328cc337ab26f113c7c52cfc7c5
upport/v17/leanback/widget/GridLayoutManager.java
d4a794983364c7b1801638abc7f332abee12b6e6 28-May-2014 Yigit Boyar <yboyar@google.com> RecyclerView Cleanup

Removed deprecated methods from RecyclerView.

(cherry picked from commit 34106bc044343fdac6d16623166d17cda17c083e)

Change-Id: Ie9de0aae4519b870302424deaf2326cbf9e4b7fc
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/GridLayoutManager.java
2a2b18cd1bc49aa5f51d2a2ab7272328ee0235f3 28-May-2014 Craig Stout <cstout@google.com> Fix details overview multiline title.

b/15218751

Change-Id: I93b954a96d8856bb73a8ca659fc59946f73cc1ca
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
9c0d20dbcdf7afc18f429ad54a2250f82bd85841 24-May-2014 Tim Kilbourn <tkilbourn@google.com> Override correct scrollBy methods in GridLayoutManager.

Change-Id: I394a9267efd720f2b0de0a68d46914d0aa1c26c3
upport/v17/leanback/widget/GridLayoutManager.java
8a6b74972056bb2a58b0a7f14d58f098a9d012be 23-May-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Update leanback lib assets." into lmp-preview-dev
f9e105a8516efe06d1bdb8df2d569261c3b11dc6 23-May-2014 Tim Kilbourn <tkilbourn@google.com> Update leanback lib assets.

Some names were updated by UX to prevent possible naming collisions.

Change-Id: I64594c5b4f682c0b916e0485270da129074752e1
upport/v17/leanback/widget/SpeechOrbView.java
268de3d2ea3de1be0725a80bbc79dd7b8b18617e 23-May-2014 Craig Stout <cstout@google.com> Browse redlines improvements.

b/15094070

Change-Id: I842070f69c136eaae33e6c66ff02828c49be3175
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/widget/RowHeaderPresenter.java
4a2e567c6a387fbd6122930155ac22d3f4b05e35 23-May-2014 Craig Stout <cstout@google.com> Merge "DO NOT MERGE Details actions polish." into lmp-preview-dev
2e0c922430f8c285b4325da52d69c09451069c93 22-May-2014 Craig Stout <cstout@google.com> DO NOT MERGE Details actions polish.

Includes fixes for fading edges on HorizontalGridView.

Change-Id: I04086b0d4c6f5047a6255217109cc1d6a15c6330
(cherry picked from commit 1c077500dda9d2e1c67aa0b19de36ded877a58fe)
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/HorizontalGridView.java
64cb72ad6f931743fcb36aa2249e90aaabfd6a4b 22-May-2014 Craig Stout <cstout@google.com> DO NOT MERGE Fix for item alignment.

Change-Id: I372f6c610ac686dbfeed7b30664d7466a1675cd2
(cherry picked from commit 83964c856041da6788869eda5bcb97fe77016f00)
upport/v17/leanback/widget/ItemAlignment.java
cdb70a71717005904c8fc20b41c36513b1875b52 22-May-2014 Tim Kilbourn <tkilbourn@google.com> Merge "fix extra browse backstack entries"
a9b678302ddee2149e5605afd429c74ba5625c24 22-May-2014 Jerome Poichet <jpoichet@google.com> Redlines for in-app search

Adding search box, handling different states UI (voice, text, focused,
unfocused)

b/14993328 | In-App Search: Implement Redlines and Motion

Change-Id: Icdd897e0552e68583781199d634383b02356fade
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SpeechOrbView.java
b6bccbc28a8ecac1b039afdedb89ba9af6a9908d 22-May-2014 Jerome Poichet <jpoichet@google.com> Merge "Adding voice support in search bar"
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
upport/v17/leanback/app/BrowseFragment.java
ea779163321dca33eddde61749c34eed4833883e 22-May-2014 Craig Stout <cstout@google.com> Merge "More details polish."
7c004076d5289caa0af7b5fb04cf7a3374be56b1 22-May-2014 Craig Stout <cstout@google.com> More details polish.

Change-Id: Ic8faffa8265def25fee1a09634e5ecd07e4cb49d
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FocusHighlightHelper.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SpeechOrbView.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ListRowPresenter.java
65058322c6009c57c47b73268568a5e259139a2c 17-May-2014 Craig Stout <cstout@google.com> Merge "New details ux spec."
d2c235afaa4119599fd8bfc9bff65c5af9a8fdc1 16-May-2014 Craig Stout <cstout@google.com> New details ux spec.

DetailsOverviewPresenter supports setting a background color and specifying
the layout style, large or small.

Change-Id: Icd16dfd39360d20aae23adc8662fef8e55bca187
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
9a1be9a2f40d23a2d08a6ea6cd59735ae9abd0de 16-May-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix layout animation"
2a0b55c390f4b75b3ae752b8407bf3da9d18a01e 16-May-2014 Dake Gu <dake@google.com> GridLayoutManager: fix layout animation

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

b/14594235

Change-Id: I68e5cc9c53eb2e26ad50f09ff7b4064d05f0c203
upport/v17/leanback/widget/GridLayoutManager.java
2cd8c3f3ca891f8b27bbc10ffc044cace0185ac2 16-May-2014 Jerome Poichet <jpoichet@google.com> Let the receiver handle the back key.

Was using onKeyPreIme to detect the back press, but was returning true
as if it was handled by the search bar when really we want the receiver
to handle th back button and allow the IME to be dimissed.

b/14931552 - [Molly]Keyboard stops registering the key clicks, if user taps on the 'back' button once in 'Search Mode'
b/14930596 - [Molly]User needs to tap the 'back' button 3 times to exit search mode

Change-Id: Ia3296dd1c15a3f22619c1e8776d5b9b83a03299a
upport/v17/leanback/widget/SearchEditText.java
74c29896d6e2a520e00605cceeef64669bab02b3 15-May-2014 Dake Gu <dake@google.com> Quantum browse: remove reparent transition

Change-Id: I4900a583a5989770b3069d3c7984961804461a68
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/RowPresenter.java
6f8c0cb076a103d044b18fc58117e37d2319d9eb 15-May-2014 Craig Stout <cstout@google.com> Switch to changebounds transition for browse title.

Change-Id: I5011f4742e094475d3bf0ac7c3cf263d42463c7b
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TransitionHelper.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/OnItemSelectedListener.java
4cf79b1c4d38a190317961891f9fd052836710fd 14-May-2014 Craig Stout <cstout@google.com> New browse ux with solid color fastlane.

Change-Id: Ide2516e6570c0990dd976b3ac6b759826ec95979
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/SearchOrbView.java
0018dd1964053d44696aee1c564dd0a70b53fc24 09-May-2014 Dake Gu <dake@google.com> fix NPE in Settings app

don't fire child select change when !mLayoutEnabled.

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

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

b/14164663

Change-Id: I360118c98950519ed7e9dc3bf67dbe0bfdd45995
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/RowPresenter.java
dc362d4642900b852df2dd63e98848b6621cbe92 08-May-2014 Dake Gu <dake@google.com> fix fast relayout bug

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

b/14651901

Change-Id: I5ec05e30746020c5dece90e7c67220f80eb63aee
upport/v17/leanback/widget/GridLayoutManager.java
01ce047bc251d73d24c3ddd60aa280cf9930570b 03-May-2014 Dake Gu <dake@google.com> Make vertical grid fragment item center horizontally

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

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

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

Change-Id: I4f2d17ffe112e5ea89e5392a519d90e236e1e48d
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
c407e646f1f923c3ef3000a3130efb9eefb2d3c0 02-May-2014 Craig Stout <cstout@google.com> Merge "Support for wrap content on the secondary axis."
f272f7533fcb5aba341e9ab2f4ff0421d668a8ca 26-Apr-2014 Craig Stout <cstout@google.com> Support for wrap content on the secondary axis.

Change-Id: I96ca955025c2d5b1857bd29febbcf2d0ac7e825a
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/VerticalGridView.java
d839787be33855ba5d432d3d2b58a7dd049bef46 01-May-2014 Dake Gu <dake@google.com> Merge "Add API to change fast lane header presenter"
35be60e31fa8bf53b89d13fddc88963f7c7162f7 01-May-2014 Dake Gu <dake@google.com> am 04d87418: am a5f76574: fix doc 2nd try

* commit '04d8741852fe856e47f02d07e4d7bd79bf28b1be':
fix doc 2nd try
bd80644186ff8622c565f067dc3a4136a4dc0586 01-May-2014 Dake Gu <dake@google.com> Add API to change fast lane header presenter

Change-Id: I17dfc5c51d22d0afb3d45a78033eeae33a93493e
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
a5f765740ef4451374963e6eabd5f587b94ff50e 30-Apr-2014 Dake Gu <dake@google.com> fix doc 2nd try

Change-Id: I95d260726bb1e8d441d515435bc83cb478c20902
upport/v17/leanback/widget/FocusHighlightHelper.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
95189b4f74c86737cb7ee13f10d27d567825f1cb 30-Apr-2014 Dake Gu <dake@google.com> am 60523845: am c16a0e4e: fix doc

* commit '6052384514be44daa8d131487a710a5256a68dc6':
fix doc
c16a0e4e812e393f67b0d55a4df5667a967a8e57 30-Apr-2014 Dake Gu <dake@google.com> fix doc

Change-Id: Iec5f0ccbf8cc7392babcf01d70cb29f10c4e2a0e
upport/v17/leanback/widget/FocusHighlightHelper.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
upport/v17/leanback/app/RowsFragment.java
5e35530da02e69baacb9d26f1dbb45970a5dbb9c 29-Apr-2014 Dake Gu <dake@google.com> am 41d19c3c: am 70c07190: Merge "GridLayoutManager: new method signature" into klp-modular-dev

* commit '41d19c3c2ec81d40ca4ebf35f0a5e71ca3158eb0':
GridLayoutManager: new method signature
2d8ec4a44f2ffcfb83247c5f0e12e45aec7e4174 29-Apr-2014 Dake Gu <dake@google.com> GridLayoutManager: new method signature

Change-Id: I6a1a698eb59c973bd48cbd986805da01773c38d2
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseFrameLayout.java
upport/v17/leanback/app/HeaderPresenter.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
b6e24f60743bd2022dd496126f0ff683ff6b3713 18-Apr-2014 Andrew Wilson <anwilson@google.com> Fade in images that are loaded. Allow setting of image dimensions. Allow titles to wrap if no description.

Change-Id: I4287d9bfac10ef5457a9f3ee76c8de0b3375ba5b
upport/v17/leanback/widget/ImageCardView.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/ListRowPresenter.java
26bfc3c42a1e0b0bd08bf2bb1142b371b60aa7d3 05-Apr-2014 Craig Stout <cstout@google.com> Fix adapter update during measure.

Change-Id: Ia42463cdc0f5054c4771a439c6f310dcfaee2ec1
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
85886809580d605d44a1f45d8bb80742d6ca987e 17-Apr-2014 Dake Gu <dake@google.com> ShadowOverlayContainer: Fix bug of always stretch to rowHeight

The FrameLayout takes the maximum measured child height as its measured height.
Since overlay/shadow use match_parent, their measured height will be using
full rowHeight. So regardless what wrapped view set, the wrapper will always
take full rowHeight.

Fix is to only use measuredHeight of wrapped view.

Change-Id: I551007090ccdc2f3b4495efb4f0ebb64bd51d658
upport/v17/leanback/widget/ShadowOverlayContainer.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/BaseGridView.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
26b8cb87efab1b6e9b6aa7bfef24bcab634ffe73 17-Apr-2014 Craig Stout <cstout@google.com> Merge "Fix browse and details child fragment re-creation." into klp-modular-dev
e273cee299273882f7d6c7e1ce10091cebd4f93b 16-Apr-2014 Jerome Poichet <jpoichet@google.com> Merge "moving the request focus later in lifecyle" 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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/DetailsFragment.java
84211f4a1fc6911951d76da5ce2579413f252771 16-Apr-2014 Andrew Wilson <anwilson@google.com> Fix layout of DetailsOverview.

Change-Id: I09bae4bf7482302ed0e8ee77ad2c31e572dcf2fc
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.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
upport/v17/leanback/app/BackgroundParams.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
5a8a7c929e07e3a3d17b2e5466785d271eee7657 14-Apr-2014 Jose Lima <joselima@google.com> Fix bitmap scaling for Background manager

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

Change-Id: Ibac5cc340cadc9d50f9420496d98d798377b3cd2
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/VerticalGridFragment.java
c4b1a043ab39a881b2a05d50e93c35e6f6ebfffb 14-Apr-2014 Dake Gu <dake@google.com> ListRowPresenter: fix ClassCastException

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

Change-Id: I5d9bb6b0b34cdb7599f9bde7235c457047a5b184
upport/v17/leanback/widget/ListRowPresenter.java
146a2a07c0e9750c2bdd5bd434197c2f46fea662 11-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Update javadoc for the BackgroundManager.

Change-Id: I5b9fad5251b75fddaab235a81e5ad7283ef5c5a0
upport/v17/leanback/app/BackgroundManager.java
1e18cea1c29e13f6b10167b9d5a4648be5da9653 14-Apr-2014 Dake Gu <dake@google.com> Merge "Revert "GridLayoutManager: fix bug if current focus is on top of grid view"" into klp-modular-dev
31aa83dc228c115ff48105dd36f25304dd744460 14-Apr-2014 Dake Gu <dake@google.com> Revert "GridLayoutManager: fix bug if current focus is on top of grid view"

This reverts commit bcb7bf9b051050fa44ae270b4ac0ecab5456fe33.

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

Change-Id: I360df90a3b8d05bba8548c0e0a0bfd58d59988a6
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/HeaderPresenter.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BrowseRowHeaderView.java
upport/v17/leanback/widget/BrowseRowHoverCardView.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/ListRowHoverCardView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ListRowView.java
upport/v17/leanback/widget/RowContainerView.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowHeaderView.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/VerticalGridPresenter.java
a9f895ba544579f500cd303add5020d4c6cb060f 11-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Update javadoc for the leanback graphics package." into klp-modular-dev
7cc1c375d3bbfeacfcc3259e77671ae24f610d33 11-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Update javadoc for the leanback graphics package.

Change-Id: I0dc5011126ad69eef95cb9db9ef4a633d4cd0b3d
upport/v17/leanback/graphics/ColorFilterCache.java
upport/v17/leanback/graphics/ColorFilterDimmer.java
upport/v17/leanback/graphics/ColorOverlayDimmer.java
4e2fb08b51c8f14e1fcbc336d55076d975329329 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> CardView improvements.

Apply default style and some other state change fixes.

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

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

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

Change-Id: I916d9666076cb977296617075dc0721857d9a04e
upport/v17/leanback/widget/GridLayoutManager.java
267ee02d485e13699840b3f8a6f480e0bb4abf0b 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Remove deprecated constants in leanback.

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

Change-Id: Icfe8b906656051421409d4abd2867eecadd18e24
upport/v17/leanback/widget/ListRowPresenter.java
0d734cb6671b314f84cb4911cd37631177d07fba 09-Apr-2014 Craig Stout <cstout@google.com> Add shadow support to VerticalGridPresenter.

Change-Id: I7c48d650aea011d3da9775e62c34e6617cc41585
upport/v17/leanback/widget/VerticalGridPresenter.java
b6c84c2cd06d9470342a24af9f436ee85a74ab44 09-Apr-2014 Dake Gu <dake@google.com> Merge "Removed the hardcoded fragment width" into klp-modular-dev
f110e403308bae45a8016f462052d8c2dee870cf 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Fix sdk docs build.

Change-Id: I06cb6e7b8c972d643c1cec78c7b4c71555cc8254
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
dfd01bbadc107b6b3b2081ddb0236128c425f380 05-Apr-2014 Dake Gu <dake@google.com> Refactored shadow helper

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

Change-Id: I8c65d2a2c2a949cc4b251aeeeddf4bfea6f67194
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ListRowCardWrapper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OpticalBoundsHelper.java
upport/v17/leanback/widget/ShadowHelper.java
upport/v17/leanback/widget/ShadowOverlayContainer.java
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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseCardView.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ImageCardView.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
upport/v17/leanback/app/BrowseRowsFrameLayout.java
afcaf8343b5fd033ce2810552f17dda93ce38047 09-Apr-2014 Dake Gu <dake@google.com> Merge "fix row select/expand state for SearchFragment" into klp-modular-dev
62d5de70439cb859525e45310b5ac4dbbfe420f2 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Add deprecated constants back to ListRowPresenter.

They were used by another branch, breaking the build.

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

Change-Id: I35476263c52d1fef09036bbe9339c945de2f339c
upport/v17/leanback/app/VerticalGridFragment.java
upport/v17/leanback/widget/FocusHighlight.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/VerticalGridPresenter.java
8abe871a26db135be7db8160563e6c9465297375 09-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Fix details fragment initialization." into klp-modular-dev
0075dfe4e812a633be39018e1d6a85e5c6e58de5 05-Apr-2014 Jerome Poichet <jpoichet@google.com> moving the request focus later in lifecyle

Change-Id: I79dc3b64d6e3850e4f6775bf64ed0b853726d4a4
upport/v17/leanback/widget/SearchBar.java
4d744f70ce60a8ac66294d9298b25b2c827224d0 07-Apr-2014 Jerome Poichet <jpoichet@google.com> removing deprecated call

Change-Id: I8e9d37e60f090f054c28ddfe271f090b6d0d9ae2
upport/v17/leanback/app/SearchFragment.java
1caf420879768ae8aebe8c27546707a28f3bb659 08-Apr-2014 Craig Stout <cstout@google.com> Fix details fragment initialization.

Change-Id: I8ebb57beea8bbdfbf6fe844e00b5a52f043385ac
upport/v17/leanback/app/DetailsFragment.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/RowPresenter.java
70c858a5ca5b7ed9862e2edfa43912faecf42f96 05-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Details actions callbacks.

Add a listener to the DetailsOverviewRowPresenter for action callbacks.

Change-Id: Id0e023845f6d30b75f9a30a75d4b4b590df206a3
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/OnActionClickedListener.java
43040065f16c57e180957a2afc27ecc706977491 05-Apr-2014 Dake Gu <dake@google.com> GridLayoutManager: fix crash of adding then removing end item

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

Change-Id: I5028ba3a04e97a0cdfcf00e140a5abd741f6eb10
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/SearchFragment.java
c6b7931134cc3f4cdde95ebfd90c5dc69f59ef12 04-Apr-2014 Dake Gu <dake@google.com> Merge "fix dark overlay bug" into klp-modular-dev
29246e5ca814f17dcf368eeacd1b44a329592ae0 04-Apr-2014 Dake Gu <dake@google.com> fix dark overlay bug

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

Change-Id: Iced5fc987e507771ef317a2c56284b817d3f03fd
upport/v17/leanback/widget/ListRowPresenter.java
e652714f2fcc876de6f168b28dd03bfc22e1cb96 28-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Layout and styling for leanback details fragments.

Presenters for actions
Details descriptions styles

Change-Id: Ieff6e96d1a0131c96c01cdb5b012b6616f84d5ca
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/ActionPresenter.java
upport/v17/leanback/widget/ActionPresenterSelector.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.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
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowCardWrapper.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/OpticalBoundsHelper.java
upport/v17/leanback/widget/RowPresenter.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/widget/BrowseRowHeaderView.java
upport/v17/leanback/widget/BrowseRowView.java
5fb3146be35c38a8fb794c2b8566e35e6c049401 03-Apr-2014 Dake Gu <dake@google.com> Merge "fix undesired horizontal scroll when focus from fastlane to row." into klp-modular-dev
9421aa6ca7de4174ddbe2e10fbb05cb31685ffcc 02-Apr-2014 Dake Gu <dake@google.com> fix undesired horizontal scroll when focus from fastlane to row.

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

enforce "focus after descendant".

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

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

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

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

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

This reverts commit 5b1f117209e8a38d6d6b004c3c0d0285acc9b27f.
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
c9422fb7ac972aee1f05c5ec0f07c2ec24cc771b 02-Apr-2014 Jerome Poichet <jpoichet@google.com> Showing the right IME action

b/13752423 SearchFragment - SearchResultProvider.onQueryTextSubmit never called

Change-Id: I1bd0957f22d4572963920f04fe35ca766a81dc4d
upport/v17/leanback/widget/SearchBar.java
03399b772a6e7823d8c8ec1ca1275b06c36a2e9e 02-Apr-2014 Dake Gu <dake@google.com> Merge "fix undesired horizontal scroll when focus from fastlane to row." into klp-modular-dev
9b0aa361de01529a7d6e5a5956548fef51213e9d 02-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Revert page-based scrolling on by default in browse.

Go back to aligned focus for now while we evaluate both.

Change-Id: Ib6cac8f8d294c6761b5c55293e5495746d342efb
upport/v17/leanback/widget/BrowseRowView.java
5b1f117209e8a38d6d6b004c3c0d0285acc9b27f 02-Apr-2014 Dake Gu <dake@google.com> fix undesired horizontal scroll when focus from fastlane to row.

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

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

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

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

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

Changed default BrowseRowView horizontal scrolling to use
FOCUS_SCROLL_PAGE.

Change-Id: Idc4cc2e7d4833cf9b24c8c9505b03e945667af59
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/StaggeredGrid.java
62d36d44e03a3dd0632b156615b04563c62e83c1 02-Apr-2014 Dake Gu <dake@google.com> fix NPE when unfocused item is detached from recyclerView in layoutChildren()

Avoids calling view.getParent().getChildViewHolder(view) for detached unfocused
view, the viewHolder is no longer needed by FocusHighlight.

b/13749349

Change-Id: I9fd9d8cd116cc537262f4bcf4401a6bed3404e48
upport/v17/leanback/widget/FocusHighlight.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
ce08db4f13dd7f7a82694b440462d7484cfb7c5b 01-Apr-2014 Dake Gu <dake@google.com> Merge "draw focused item at last" into klp-modular-dev
182f3350d5f3cef04d160c673b6969df28e9439c 01-Apr-2014 Dake Gu <dake@google.com> draw focused item at last

b/13734333

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

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

Change-Id: If02dd8c069219bf28791770dc3643956645ed634
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/GridLayoutManager.java
6da6ae33f0909d65fee90602ce5c78d4e1e4856f 01-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Fix docs build.

Forgot to correct the @param after changing a method parameter.

Change-Id: Ia08bb3dc4d2446e6b0c94c7bec5fa6f411dab80d
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
f3530d9b4b852ffd8d6200feff810d42aae85a43 01-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Pass the details overview row item to the presenter.

Since the concrete class is going to call getItem() anyway, might as
well save them a step and pass the item directly.

Bug: 13735170
Change-Id: I7c0beb9326e310527e1a9ffb5f5dcfb7fee66cb6
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.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
upport/v17/leanback/app/RowsFragment.java
f27f3c74172517f0e3399de45f7628965bcf630d 01-Apr-2014 Dake Gu <dake@google.com> Merge "BackgroundManager: make it foolproof to share manger instance" into klp-modular-dev
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
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
099638ff4eabee0a91588fc1ed8f3481d7afe48a 01-Apr-2014 Craig Stout <cstout@google.com> Merge "Background fixes." into klp-modular-dev
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
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
c7d37856bb5971608f557066873a155df391934d 01-Apr-2014 Tim Kilbourn <tkilbourn@google.com> Fix docs build.

Change-Id: Ibc9a39545ddc2864ca4f4ccf610b42806d5efe4d
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
2574f0cfd53bfd4befeea437b5722c17559d8064 31-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Actions and details overview row for leanback." into klp-modular-dev
24b4b33b534ce1edd8ee1c19daa74078a5dd2a89 31-Mar-2014 Craig Stout <cstout@google.com> Merge "Zoom on focus changes." into klp-modular-dev
a83005b70853ea52c5d98910762344de16b850a8 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Actions and details overview row for leanback.

A DetailsOverviewRow contains the row data for presenting the top
details overview in a DetailsFragment.

TODO: presenter and click handlers for actions

Change-Id: I3d1cd24e5dac59c65449d6c9729538845c7b59eb
upport/v17/leanback/widget/AbstractDetailsDescriptionPresenter.java
upport/v17/leanback/widget/Action.java
upport/v17/leanback/widget/ActionPresenter.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/DetailsOverviewRow.java
upport/v17/leanback/widget/DetailsOverviewRowPresenter.java
upport/v17/leanback/widget/FocusHighlightHelper.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
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.java
upport/v17/leanback/widget/SearchEditText.java
b9e89a1544f8cf582f191184fb9b2a4f24e1fa5b 31-Mar-2014 Craig Stout <cstout@google.com> Zoom on focus changes.

Developer may specify one of several predefined zoom factors.

Bug: 13387176
Change-Id: I6ad53f691c95d824ca379a7a50604c65363be7e4
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/ListRowPresenter.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/DetailsFragment.java
upport/v17/leanback/app/SearchFragment.java
baace7864a7d7e8fa4b118512d9ebf72a02af282 28-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Initial DetailsFragment for leanback apps." into klp-modular-dev
327c8a71ee24dd56993d0a530c62f4a75c0713ff 27-Mar-2014 Andrew Wilson <anwilson@google.com> Merge "Fix disappearing search icon." into klp-modular-dev
43fd7c31e66a8a3821a0272cf7dc1d01e3bed91b 27-Mar-2014 Andrew Wilson <anwilson@google.com> Fix disappearing search icon.

Change-Id: I8198d48e6854b7ec43af526a0f0a857d2dd9237d
upport/v17/leanback/app/BrowseFragment.java
db1e9bb04638eb6b0b16e849e433d1c3b6f4296c 27-Mar-2014 Dake Gu <dake@google.com> Fix bug that setClipToPadding() does not update the ViewGroup.

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

workaround b/13675947

Change-Id: I6ab5e9106fa403250c1eae9f08204dc6a5e79b1f
upport/v17/leanback/widget/ListRowPresenter.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
upport/v17/leanback/app/DetailsFragment.java
c26ebee190513b93c6f30620dac3bfc9038cb621 21-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: subclass LayoutParams instead of using Tag

Also make it ready for future customized layout params.

Change-Id: Ic72f03d433c84ba0871117a189b4e2482a3bf69f
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GridLayoutManagerChildTag.java
upport/v17/leanback/widget/ItemAlignment.java
f23dc9bfc548a35bc0bc326c6f3ddbdc91f9e875 27-Mar-2014 Justin Mattson <jmatt@google.com> Merge "Add APIs to allow observability of property changes" into klp-modular-dev
b3451baf39c3b17972e7826baee90be4b1cd2626 26-Mar-2014 Justin Mattson <jmatt@google.com> Add APIs to allow observability of property changes

Change-Id: I178955edb7d3de7c34f685b8f524b6a0bc71b421
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/ObjectAdapter.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
upport/v17/leanback/app/BrowseFragment.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
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
17993c442c26161f684d6c0c6867a746f3148548 19-Mar-2014 Craig Stout <cstout@google.com> Add support for backgrounds.

Change-Id: I6e1652a79d17f87e964836a729056dc78d67c7ca
upport/v17/leanback/app/BackgroundFragment.java
upport/v17/leanback/app/BackgroundManager.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/app/SearchFragment.java
42ded13505ce3e4300335e4cdeb24a677a71ed32 26-Mar-2014 Jerome Poichet <jpoichet@google.com> adding missing APIs to SearchFragment

Change-Id: If5f2cd125ceb3cb7ab43501cb8390c3f0358ae7f
upport/v17/leanback/app/SearchFragment.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
upport/v17/leanback/app/BrowseFragment.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
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowPresenter.java
8f7f69e59ac59c0399c28a08a0fbec2eb4c065d1 25-Mar-2014 Andrew Wilson <anwilson@google.com> Merge "Don't request items at negative indicies." into klp-modular-dev
0f03021697a323f7db7b934667ed260accd7b2ca 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Merge "Remove deprecated setMargin function." into klp-modular-dev
e2679e4ccab0ce75f701629c22c179165df4f15e 24-Mar-2014 Jerome Poichet <jpoichet@google.com> Search 'affordance' in title of BrowseFragment

Change-Id: Ifc2729489fcff597c8864ae8ac43d611d92e4b7a
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/widget/SearchOrbView.java
2f5fbc79d656fc4966119141aaef48161f08376f 25-Mar-2014 Andrew Wilson <anwilson@google.com> Don't request items at negative indicies.

Change-Id: Id932e91308bd12af8f35b45add359f8b4ebacff2
upport/v17/leanback/app/HeadersFragment.java
f133a97300b8175c68dc75edbdceff8b86b97912 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Remove deprecated setMargin function.

Change-Id: Ic803be92e7bed36cb26f2d9ad4c31b8541ab6134
upport/v17/leanback/widget/BaseGridView.java
cfbb302b7a67d1633b1a68f659ed41aa71702507 25-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Add support for multiple vertical columns.

VerticalGridView now supports multiple columns, just like
HorizontalGridView.

Change-Id: Ibe33c7fe960f04e01c13e9d848f9060ad1c26782
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/VerticalGridView.java
462e3ba37ddd32afb7434ec0a217af335f49b9a6 25-Mar-2014 Dake Gu <dake@google.com> fix IllegalStateException for calling setHasStableIds multiple times

Change-Id: I1e3013c031eb8e8ba4b727e0dbf25703eab5aec9
upport/v17/leanback/widget/ItemBridgeAdapter.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
upport/v17/leanback/app/HeaderPresenter.java
869c06d6d5dea7cf23f30fb5a1727204a43ac4c3 24-Mar-2014 Andrew Wilson <anwilson@google.com> Merge "Don't close a null cursor." into klp-modular-dev
e14d72261ac77c75ee77bdeb4557b57f87feb242 24-Mar-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: Fix missing margin" into klp-modular-dev
2eaaad9c189f1ae42bf6c382a30ccab455030e54 24-Mar-2014 Andrew Wilson <anwilson@google.com> Don't close a null cursor.

Change-Id: I10b9ef5fb26f0d583e5cce7e6a4cbf9fd24466a8
upport/v17/leanback/widget/CursorObjectAdapter.java
5b882ac46cc2ee851de04dadbd9bdc8fe946d9da 22-Mar-2014 Andrew Wilson <anwilson@google.com> fix initial dim color

Change-Id: I4866dd2ca19bb964baca21c984c1e06ea7ad7d85
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/graphics/ColorOverlayDimmer.java
85c10faf654848a8aacd1e61760b3e24a1902a83 21-Mar-2014 Jerome Poichet <jpoichet@google.com> SearchFragment and SearchBar in support-leanback

Change-Id: Id958ad47462d9efd2b5b770c0391477190e0d66a
upport/v17/leanback/app/SearchFragment.java
upport/v17/leanback/widget/SearchBar.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/HeadersFragment.java
upport/v17/leanback/app/RowContainerFragment.java
upport/v17/leanback/app/RowHeaderFragment.java
upport/v17/leanback/app/RowsFragment.java
upport/v17/leanback/widget/BaseGridView.java
upport/v17/leanback/widget/BaseListView.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ListView.java
upport/v17/leanback/widget/VerticalGridView.java
upport/v17/leanback/widget/WindowAlignment.java
fa9a61fa061befbbbd49b01ec926a0fe8d61a9a5 21-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: Fix missing margin

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

b/13571410

Change-Id: Ied16bc560f55043e063f9d6554e7c4c6749d377d
upport/v17/leanback/widget/GridLayoutManager.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
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/RowContainerFragment.java
upport/v17/leanback/graphics/ColorFilterCache.java
upport/v17/leanback/graphics/ColorFilterDimmer.java
upport/v17/leanback/graphics/ColorOverlayDimmer.java
upport/v17/leanback/widget/GridLayoutManagerChildTag.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.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
upport/v17/leanback/app/HeaderPresenter.java
upport/v17/leanback/app/RowHeaderFragment.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/ClassPresenterSelector.java
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/PresenterSelector.java
upport/v17/leanback/widget/SinglePresenterSelector.java
522035025d6d9a7b3f0001bbc6724e71e91cae0c 20-Mar-2014 Dake Gu <dake@google.com> Merge "GridLayoutManager: fix ArrayIndexOutOfBoundException in onAddFocusables()" into klp-modular-dev
c1f3bcf2f1deac4603cddfb9548380ba20a5f310 19-Mar-2014 Dake Gu <dake@google.com> GridLayoutManager: fix ArrayIndexOutOfBoundException in onAddFocusables()

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

Change-Id: I7ec0fce47b04775c2f90853d952783a773b31c62
upport/v17/leanback/widget/GridLayoutManager.java
01b7f19dfa3b2ec113f20defacf32d0a548f5beb 20-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Add leanback droiddoc targets.

This provides a quick way to generate docs for just the
android-support-v17-leanback library. In addition, a stubs/api target
makes it easy to track API changes over time.

Fixed up one instance of using a hidden API in a public method.

Change-Id: I191b4b8a8707ac10b15b556cfa56386aa9674aad
upport/v17/leanback/widget/HorizontalHoverCardSwitcher.java
cfccf53cd27eb7d8e2420d507b4b46cd1c299815 19-Mar-2014 Dake Gu <dake@google.com> Merge "Leanback: add hover card view, stylize hover card layout" into klp-modular-dev
f804d908c317b846899a480031c4dcab616074c4 19-Mar-2014 Dake Gu <dake@google.com> Leanback: add hover card view, stylize hover card layout

remove unused "Theme.Leanback.Light"

Change-Id: Iec871179ce81ea98d311b93528d7b5ffa3d9b416
upport/v17/leanback/widget/BrowseRowHoverCardView.java
7888eca68714c6a753199b901e4a855d85d64ccb 19-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Fix javadoc for leanback.

Change-Id: I5504062fd2bb967c0d7f0f8d621934ef97946136
upport/v17/leanback/widget/SinglePresenterSelector.java
13d1515a1edd63f26ad7f3c9c7471d0969900190 19-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Implement ClassPresenterSelector.

Also promote SinglePresenterSelector to a public class.

Change-Id: I1315dded9349503486897035bd89d43dd804286c
upport/v17/leanback/widget/ClassPresenterSelector.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/SinglePresenterSelector.java
b56bf9a6ae8a8490ff440ed8c136a72ee6398157 18-Mar-2014 Dake Gu <dake@google.com> RecyclerView: minor change of onAddFocusables() signagure

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

Change-Id: Iac06f2e862894ee9c420cfab062289500baf9067
upport/v17/leanback/widget/BaseListView.java
upport/v17/leanback/widget/GridLayoutManager.java
60d34fdccbe92a77e01b2cc63ffcab092a91009f 18-Mar-2014 Tim Kilbourn <tkilbourn@google.com> Fix javadoc so it compiles.

Change-Id: I18b86cf9e731986c60ad1ef991f9df094f02ae6d
upport/v17/leanback/widget/BaseListView.java
upport/v17/leanback/widget/Presenter.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
upport/v17/leanback/app/BackgroundParams.java
upport/v17/leanback/app/BaseRowFragment.java
upport/v17/leanback/app/BrowseFragment.java
upport/v17/leanback/app/BrowseFrameLayout.java
upport/v17/leanback/app/HeaderPresenter.java
upport/v17/leanback/app/RowContainerFragment.java
upport/v17/leanback/app/RowHeaderFragment.java
upport/v17/leanback/app/TransitionHelper.java
upport/v17/leanback/database/CursorMapper.java
upport/v17/leanback/widget/ArrayObjectAdapter.java
upport/v17/leanback/widget/BaseListView.java
upport/v17/leanback/widget/BrowseRowHeaderView.java
upport/v17/leanback/widget/BrowseRowView.java
upport/v17/leanback/widget/ClassPresenterSelector.java
upport/v17/leanback/widget/CursorObjectAdapter.java
upport/v17/leanback/widget/FocusHighlight.java
upport/v17/leanback/widget/FocusHighlightHelper.java
upport/v17/leanback/widget/GridLayoutManager.java
upport/v17/leanback/widget/GridLayoutManagerChildTag.java
upport/v17/leanback/widget/HeaderItem.java
upport/v17/leanback/widget/HorizontalGridView.java
upport/v17/leanback/widget/HorizontalHoverCardSwitcher.java
upport/v17/leanback/widget/ItemAlignment.java
upport/v17/leanback/widget/ItemBridgeAdapter.java
upport/v17/leanback/widget/ListRow.java
upport/v17/leanback/widget/ListRowPresenter.java
upport/v17/leanback/widget/ListView.java
upport/v17/leanback/widget/ObjectAdapter.java
upport/v17/leanback/widget/OnChildSelectedListener.java
upport/v17/leanback/widget/OnItemClickedListener.java
upport/v17/leanback/widget/OnItemSelectedListener.java
upport/v17/leanback/widget/Presenter.java
upport/v17/leanback/widget/PresenterSelector.java
upport/v17/leanback/widget/PresenterSwitcher.java
upport/v17/leanback/widget/Row.java
upport/v17/leanback/widget/RowHeaderPresenter.java
upport/v17/leanback/widget/RowPresenter.java
upport/v17/leanback/widget/StaggeredGrid.java
upport/v17/leanback/widget/StaggeredGridDefault.java
upport/v17/leanback/widget/WindowAlignment.java