History log of /frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8b66ca38dbb9f4af7814e7048a14924deb6251a9 15-Sep-2017 Dake Gu <dake@google.com> leanback: skip startEntranceTransition after destroyed

Though the app should check before calling startEntranceTransition,
added extra check in leanback library.

Bug: 65687171
Test: startEntranceTransitionAfterDestroyed
Change-Id: I5b3fd108d907b404798f1fbf6facc8cc4b732074
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
c6c4e8e836f3608446fb472916418f9df660d46a 22-Apr-2017 Dake Gu <dake@google.com> leanback: fix DetailsFragment Tests

Remove duplicated code that causes adapter being
updated and child view become invalidate.

Bug: 37580870
Test: DetailsFragmentTest
Change-Id: Ic7ec245f1a03ac2dfb0afb0909c050ba59904b2f
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
c65ceae1251b35fbf4aa72df7b5d20e764bed9d2 12-Apr-2017 Wei-Hsin <wwwllllfrank@google.com> Reuse PlayBackGlueHost when switching PlayBackGlue

Bug: 37222175
Test: sharedGlueHost() in DetailsFragmentTest
Change-Id: Icdbbfe28c11ef456743cbd2290892e2136862c6a
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
dec38f028e4991e352cb45f0e3c1bc85fd9b973d 04-Apr-2017 Dake Gu <dake@google.com> leanback: fix flaky tests

Dont wait activity isDestroyed() in afterTest.
And remove member mActivity from test class.

Bug: 36701683
Test: run DetailsFragmentTest multiple times on emulator
Change-Id: I0e0e037f6e85f86a1157a7640b864661cc074e4f
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
a43689a5797d22853aad74c4fa23539b640a8f3f 24-Mar-2017 Dake Gu <dake@google.com> fix DetailsFragmentTest

Add wait for video fragment being created.
Disable CompositeDrawable getAlpha test bellow API 21 because
CompositeDrawable calls DrawableCompat.getAlpha(firstChildDrawable)
which always returns 0 on API 17.

Bug: 36577054
Test: DetailsFragmentTest DetailsSupportFragmentTest.
Change-Id: I32f3e3db1a25835c08e9c85e3b13191d9f5992ba
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
8d82210fca5f250a2b370031c120376251ed2340 17-Oct-2016 Dake Gu <dake@google.com> Fix Broken DetailsFragment ParallaxTest

Bitmap bottom matches details frame bottom now.
Bug: none
Test: DetailsFragmentTest

Change-Id: I52b93124027301f9ae413120dc652b1b3a401584
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
180dc4030628425a8081fe058bdc1d529c505ae8 26-Sep-2016 susnata <susnata@google.com> Revert "Revert "Refactoring DetailsBackgroundParallaxHelper.""

This reverts commit 6eebd92660979650cbde3b9d303099cff3015a23.

Test: DetailsFragmentTest, DetailsParallaxManagerTest
Change-Id: I86a3ef75b862a60f7dcef037e7d4eebcaa488785
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
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
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java
d7ba0d89531101088939239bb0339658dbe6c85b 19-Sep-2016 susnata <susnata@google.com> Refactoring DetailsBackgroundParallaxHelper.

Test: added DetailsParallaxManagerTest and existing unit tests pass.
Change-Id: I6c06ac944da6ffc62875c03edfa6f4fb21e5fee5
/frameworks/support/v17/leanback/tests/java/android/support/v17/leanback/app/DetailsFragmentTest.java