History log of /frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/graphics/BoundsRule.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/src/android/support/v17/leanback/graphics/BoundsRule.java
bc97de4b587ef0a53a88400c346ac959b4746702 29-Nov-2016 Dake Gu <dake@google.com> leanback: hide BoundsRule

Fix build.

Change-Id: I7d4aaa3155b5e6979a62eb687714821a3d780ab3
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.java
8be7e7b0b81450f406354f4672d0e0cf7138e127 30-Jul-2016 Dake Gu <dake@google.com> fix doc build

Change-Id: I3e3c80cfa03db0c5bc2e774a2cd3c58d85983846
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.java
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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.java
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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.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
/frameworks/support/v17/leanback/src/android/support/v17/leanback/graphics/BoundsRule.java