History log of /frameworks/support/v17/leanback/src/android/support/v17/leanback/transition/ParallaxTransition.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8d3e223e8023bbb0902a13745d5ab961e196540e 07-Mar-2017 Dake Gu <dake@google.com> resolve merge conflicts of ec6f358e25 to master

Change-Id: Idb5f4da1ddd439b0ae6d31799d5faef43a44ecc9
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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/transition/ParallaxTransition.java
28f32a294cf077dd4c681f24581b3eec902ec633 30-Jan-2017 Dake Gu <dake@google.com> Leanback: parallax and details video API refactoring
am: e1cde4d4ac

Change-Id: I9f1111e1e895087430cede7607aebf488c159b0e
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/src/android/support/v17/leanback/transition/ParallaxTransition.java
e22ae93397361d1bd5568fa51d82e2f7553712e1 08-Dec-2016 Alan Viverette <alanv@google.com> Remove unnecessary @TargetApi annotations

Bug: 33412815
Test: ./gradlew assemble
Change-Id: I0be3358fb97d6e637357c253f3f43f39355a643a
/frameworks/support/v17/leanback/src/android/support/v17/leanback/transition/ParallaxTransition.java
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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/transition/ParallaxTransition.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/src/android/support/v17/leanback/transition/ParallaxTransition.java