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
ridWidgetTest.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
ridWidgetTest.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
ridWidgetTest.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)
ridWidgetTest.java
|
6d65d10a40b33e52a365610cb299771178a56824 |
27-May-2017 |
Dake Gu <dake@google.com> |
leanback: fix flaky testMoveItemToTheRight The default wait animation timeout was same as animation duration. Increase the default timeout to 6 seconds. Bug: No Test: testMoveItemToTheRight Change-Id: Ia04080d5636a7da0d874ebfdb2c9fdaa2084c72a
ridWidgetTest.java
|
2447d5ed8f4396fc6d1271df7f00ddf150bb5d41 |
27-May-2017 |
Dake Gu <dake@google.com> |
leanback: fix new flaky tests Fails due to the size of view vs window Bug: none Test: testMoveItemToTheRight testPredictiveLayoutRemove2 Change-Id: I2675c87780a7931357d8539b7bc60bf7c4b78db1
ridWidgetTest.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
ridWidgetTest.java
|
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
ridActivity.java
ridTest.java
ridWidgetTest.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
ridTest.java
ridWidgetTest.java
|
6a3e5a1ea0f4791413a81bf1667f358f1eda1aff |
16-May-2017 |
Dake Gu <dake@google.com> |
leanback: change default shadow value of unselected item to be 0 And selected item to be 10dp to be consistent with launcher. App can still customized the shadow values in code. Test: visually inspect Bug: 37003555 Change-Id: I172459c053571aee7b01084a15191ce922b34cb2
istRowPresenterTest.java
|
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
ridWidgetTest.java
|
93b954ed786fcd8c25c332cb921b9a51c525dfd4 |
04-May-2017 |
Dake Gu <dake@google.com> |
leanback: Fix rounding error for test assertion On nexus5x, density is 2.625, textview layout_width 50DP is translated 131.25pixels as width. This causes rounding errors. Bug: 37967115 Test: GridWidgetTest Change-Id: I5c039caf4a6150fa5c8b137b3698a4d3be1e53fe
ridWidgetTest.java
|
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
ridWidgetTest.java
|
a23c768a1a61495852074869b244064cf535b4c1 |
21-Apr-2017 |
Dake Gu <dake@google.com> |
leanback: better support custom onSelectLevelChanged() Custom onSelectLevelChanged() does not handle the case that child is added later. Introduce applySelectLevelToChild() to be called in onAttachToWindow. And add a complete test for shadow overlay container. Bug: 37545125 Test: ListRowPresenterTest Change-Id: I50dae625714ec122161d790de372c5b4b0833a81
istRowPresenterTest.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
laybackGlueHostImplWithViewHolder.java
laybackSeekProviderSample.java
laybackTransportRowPresenterTest.java
|
3719c5ffa1f4b3a92c9186374100a8a6eb9572ec |
13-Apr-2017 |
Dake Gu <dake@google.com> |
Fix flaky GridWidgetTest We should not verify times of bindToView, because holding DOWN key might causes smoothScroller which overshoot and bounce back, which causes re-bind of the early items. Bug 36702460 Test: GridWidgetTest Change-Id: I358bc520e08e6446e0bdaae3867f8f446eaef84b
ridWidgetTest.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
ridActivity.java
ridWidgetTest.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
|
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
ridWidgetTest.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
|
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
ridActivity.java
ridWidgetTest.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
ontrolBarTest.java
|
05944c3367279f44345963acc40674b1653f6418 |
08-Mar-2017 |
TreeHugger Robot <treehugger-gerrit@google.com> |
Merge "A pass at fixing unchecked javac warnings."
|
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
itleViewAdapterTest.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
arallaxFloatEffectTest.java
arallaxFloatTest.java
arallaxIntEffectTest.java
arallaxIntTest.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
ridWidgetTest.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
ridWidgetTest.java
arallaxFloatEffectTest.java
arallaxFloatTest.java
arallaxIntEffectTest.java
arallaxIntTest.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
ridWidgetTest.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
ridWidgetPrefetchTest.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
ridActivity.java
ridWidgetTest.java
|
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
|
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
ridWidgetPrefetchTest.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
ridWidgetTest.java
|
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
|
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
imePickerActivity.java
imePickerTest.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
|
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
atePickerTest.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
|
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
atePickerActivity.java
atePickerTest.java
|
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
|
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
atePickerActivity.java
atePickerTest.java
|
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
|
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
atePickerActivity.java
atePickerTest.java
|
35232c6eaeb9b99f390cb8ef0ac83bf45fa0b3fa |
01-Feb-2017 |
Aurimas Liutikas <aurimas@google.com> |
Update test sizes for all currently @SmallTest. SmallTests are supposed to complete in <200ms, Medium in <1s, and Large in <30s. This CL updates the size of all the SmallTest based on excecution times from presubmit test runners. Test: None Bug: 34854821 Change-Id: Iec73f7b6ef63b27cd3d8b19a8e8c7a9b91ff6729
ridWidgetTest.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
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
arallaxFloatTest.java
arallaxIntEffectTest.java
arallaxIntSourceTest.java
arallaxIntTest.java
|
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
ridWidgetPrefetchTest.java
ingleRowTest.java
|
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
resenterTest.java
|
16cb98dc4b7af5eae092a25446a0aa5133f1f5eb |
09-Dec-2016 |
Dake Gu <dake@google.com> |
leanback: make description view GONE for empty text Bug: 33484449 Test: testRowHeaderPresenter Change-Id: I352c13b9085d6ea3cc040ce313b18d26fe6ff1c7
resenterTest.java
|
cc671dd3caac1d0cbf3f6999ab063c9ff1f297b2 |
18-Oct-2016 |
Dake Gu <dake@google.com> |
Add checkstyle:off flag Test: None Bug: 32243836 Change-Id: I5c28ee5b4623e25126518ceb99f17b5ee384cb76
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
|
b50e46706ac654b071942bd7f6ba059c14c9c29a |
12-Oct-2016 |
Dake Gu <dake@google.com> |
Fix flaky GridWidgetTest more Test: testFocusToFirstItem GuidedStepFragmentTest Bug: None Change-Id: I815284eb38ae181b18fe229a89c66eb288b5bfb2
ridWidgetTest.java
|
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
ridWidgetTest.java
|
580515488b23ac8a39795d11aef985c0f05c467e |
05-Oct-2016 |
Dake Gu <dake@google.com> |
leanback test: add more analysis info for flaky test Test: nothing changed Bug: none Change-Id: Ie0bf45a04525b3d858a36e4330e6ea0f92af4904
ridWidgetTest.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
ridWidgetTest.java
|
b3034c5df0d06f3dbfa466af19b1f014967f3d75 |
29-Sep-2016 |
Dake Gu <dake@google.com> |
Leanback: Fix flaky tests Test: modified Bug: 31771962 Change-Id: Id44203e3ed696bd63d2661f0a4e67a7e3a889d1b
ridWidgetTest.java
|
42e7d6fafcde7bfe261dd7d8d75ee53ca0cd6790 |
28-Sep-2016 |
Aurimas Liutikas <aurimas@google.com> |
Replace usage of Instrumentation#runOnMainSync with ActivityTestRule#runOnUiThread. ActivityTestRule#runOnUiThread handles exceptions correctly and thus should be used in place of Instrumentation#runOnMainSync. This changes most of these use-cases except for tricky cases. Bug: 31801302 Test: ran support-design:connectedCheck and support-appcompat:connectedCheck Change-Id: I70904aef89e6bbc2a3cff1b3be697258d666e316
ridWidgetTest.java
|
754cb29c50f09a83251dd4bb633ba445b2411adb |
27-Sep-2016 |
Aurimas Liutikas <aurimas@google.com> |
Switch from deprecated size annotations to new ones. Switching from android.test.suitebuilder.annotation.*Test to android.support.test.filters.*Test. Bug: 30074170 Test: manual - ran small appcompat tests, they still run and pass Change-Id: Idce58b988c8e1a809f7f5fae67e0e235159d9fc5
aseCardViewTest.java
ridWidgetTest.java
orizontalGridViewEx.java
ediaNowPlayingViewTest.java
agingIndicatorTest.java
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
arallaxIntEffectTest.java
arallaxIntSourceTest.java
resenterTest.java
hadowOverlayContainerTest.java
ingleRowTest.java
taggeredGridDefaultTest.java
erticalGridViewEx.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
ediaNowPlayingViewTest.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
aseCardViewTest.java
ridActivity.java
ridWidgetTest.java
|
9480eb4e94e429726b07eba133ffbc6450b8d795 |
09-Sep-2016 |
Alan Viverette <alanv@google.com> |
resolve merge conflicts of 7243922 to master Change-Id: I34d800e77c4b1a440eb67191b4697213a2e6239e
|
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
ridActivity.java
ridTest.java
ridWidgetTest.java
agingIndicatorTest.java
ingleRowTest.java
taggeredGridDefaultTest.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
aseCardViewTest.java
|
386c77e84a7eacf073c86aead6f653770d6c56ba |
06-Sep-2016 |
Aurimas Liutikas <aurimas@google.com> |
Convert several Leanback tests to JUnit4. Change-Id: I5dd78555a40d2f08806bf90101d2ff3341a7309e
ridTest.java
agingIndicatorTest.java
resenterTest.java
hadowOverlayContainerTest.java
|
06dd2b62f48746fbb1447b171db882d0a458368e |
25-Aug-2016 |
Dake Gu <dake@google.com> |
Convert GridWidgetTest to AndroidJUnit4 Change-Id: Idea0f1d83c133d2654d0e81b3df758f266026f92
ridWidgetTest.java
|
d1f491d37de7420febb0345cb6b254f6eef196eb |
18-Aug-2016 |
Dake Gu <dake@google.com> |
Merge "Fix GridWidgetTest.testFocusableViewAvailable"
|
61afde67696f46ecb82eb0a26038c6fbf3383c2c |
18-Aug-2016 |
Dake Gu <dake@google.com> |
Fix GridWidgetTest.testFocusableViewAvailable Bug 30943873 Change-Id: Id1175e0fdf1bdb801acbb8853a62bf128b5b2f77
ridWidgetTest.java
|
f0039c1465cd83a4f30c4f0ce24a6b15f3e26874 |
17-Aug-2016 |
Aurimas Liutikas <aurimas@google.com> |
resolve merge conflicts of 019c65e to master Change-Id: I6846ffff4a5085a15c2786fbebcbd22da746f0bf
|
fad2335f169d36b7b6f2c0ec8ddfe6c0094c2072 |
16-Aug-2016 |
Aurimas Liutikas <aurimas@google.com> |
Annotate more support lib tests with size annotations. Turns out we were not running these tests because they are not annotated with @SmallTest, @MediumTest, or @LargeTest. Bug: 30892341 Change-Id: I4ed870d4c1a456c1fcd446243179c005653a041d
ridWidgetTest.java
resenterTest.java
hadowOverlayContainerTest.java
|
35a680402b90f786b912cead8b23ecca4ab7c692 |
05-Aug-2016 |
Dake Gu <dake@google.com> |
Fix build for Parallax test Change-Id: I17e0b17d0e07f198d578de4abc9bd95c6c6a3fd3
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
arallaxIntEffectTest.java
arallaxIntSourceTest.java
|
f5f386abee45f9256980e99d910c80922f1865e7 |
04-Aug-2016 |
Dake Gu <dake@google.com> |
Merge "leanback: Refactoring ParallaxSource to use Property"
|
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
ingleRowTest.java
taggeredGridDefaultTest.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
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
arallaxIntEffectTest.java
arallaxIntSourceTest.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
|
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
arallaxFloatEffectTest.java
arallaxIntEffectTest.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
ridTest.java
ingleRowTest.java
taggeredGridDefaultTest.java
|
770847c0c8424175f0619026615b11fef50ca269 |
19-Jul-2016 |
Dake Gu <dake@google.com> |
Make Parallax working and add Parallax Tests Change-Id: I8909a090a8648e50faf84f3c4c5a3a0d6840da56
arallaxFloatEffectTest.java
arallaxFloatSourceTest.java
arallaxIntEffectTest.java
arallaxIntSourceTest.java
|
7a38d7478bb7a0ec2bfc87e50b77c93fe5f66bfe |
22-Jun-2016 |
Dake Gu <dake@google.com> |
leanback: add test case for selection with adapter change Bug 29279610 Change-Id: Iec421d841033bafc41f8dc836d1a8e8e541e5ce0
ridWidgetTest.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
ridWidgetTest.java
|
7d7bf9541e0203ec67df0fe53367e2c126355b9e |
07-Jun-2016 |
susnata <susnata@google.com> |
Moving Leanback unit tests. Moving Leanback unit tests from frameworks/support/v17/tests to frameworks/support/v17/leanback/tests. Change-Id: I1dbfe73434a61d721f8666911c688930a8cb32cb
ssertHelper.java
ridActivity.java
ridTest.java
ridWidgetTest.java
orizontalGridViewEx.java
agingIndicatorTest.java
resenterTest.java
hadowOverlayContainerTest.java
ingleRowTest.java
taggeredGridDefaultTest.java
erticalGridViewEx.java
|