• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/transition/
History log of /frameworks/base/core/java/android/transition/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8cd89cddc10ee1f02dd68fb7e8a4480c889fcf41 23-Apr-2018 Evan Rosky <erosky@google.com> Don't clear focus during transition animations

If a view is suppressing layout, it is probably part of a
transition animation. In this case, we don't want to defocus
a focused view which may eventually have a size.

Bug: 78302781
Test: issue in bug is resolved. Transition CTS tests still pass
Change-Id: I983f41bcd68056d2150d4db29c781b63a2c321c2
hangeBounds.java
519ad488a5157143e883e437b1e259472280c746 13-Feb-2018 John Reck <jreck@google.com> Switch to public API version

Use the public API version of the same thing that the private API
access was doing. No behavior change.

Test: built
Change-Id: I4a9032cfb1d4e699f72df3b079ef363d308419e8
ransitionUtils.java
a20833c06df83e7ec74a267b3578d7f17facd476 08-Feb-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix bug in calculating path in ArcMotion"
575ffb856ec7a91701a79840cad315102eaa0afd 07-Feb-2018 George Mount <mount@google.com> Fix bug in calculating path in ArcMotion

Bug: 73077523

When the path is perfectly horizontal, ArcMotion
was calculating a Path that had NaN values. This
corrects that problem by special casing horizontal
and vertical paths.

Test: manual with app that discovered the problem
Test: manual with test app
Test: I30d51206194e3c68ea145d3a81e05a461c4e0ca8
Change-Id: Ic1a70b79290847726fc7994d1224fd77024e0610
rcMotion.java
283897b327ff3461e4c70d09879ca614422e77d5 02-Feb-2018 George Mount <mount@google.com> Avoid improperly removing views during transitions

Bug: 65715616

There are two places where views were being removed improperly
during transitions. The first was when making a copy of a view.
Because of hardware bitmaps, views were being moved to the overlay
so that the image could be copied. This CL moves the view back
into its parent after copying the image.

The second location is where the view was being considered an
overlay. When a view is in the starting scene and the view in
the end scene cannot be used, the starting scene view was being
moved to the overlay. This is only valid when the view is alowed
to be removed. Instead, a bitmap copy of the view is moved to
the overlay.

Test: manual testing
Test: I0456d8a699525b08b044236c558b2d84b48c29a6
Change-Id: Ieb32b146cf65e3ff4ed6d7bb8325e74763dbd2d5
ransitionUtils.java
isibility.java
ce8db9911494225fcd99711d7df85a130de5a6ce 14-Dec-2017 Jeff Sharkey <jsharkey@android.com> Add more IntDef prefixes for auto-documenting.

Test: builds, boots
Bug: 70177949
Exempt-From-Owner-Approval: annotation-only changes
Change-Id: I76dde6054e06f52240bd4b1a0f196dcb74623608
isibility.java
3884b03b9829b3f609fa48ba7299b06407621e28 30-Sep-2017 George Mount <mount@google.com> Fix Transition test failure.

Bug: 67049319

TransitionUtils was returning null when the View wasn't attached,
but Visibility transitions can do that intentionally. This CL
temporarily adds detached views to the view hierarchy as part of
an overlay while creating the hardware bitmap representation.

Test: ran transition CTS tests
Change-Id: Ie335619953653dce0224514f0d5c9c8eb00ee1a9
ransitionUtils.java
a3acf73c3e3d5379bf0f4a60272e48a85b87982b 28-Sep-2017 Doris Liu <tianliu@google.com> Merge "Associate RenderNodes created for hw bitmap w/ views" into oc-mr1-dev
d4c5ab8b8c6238102d568031a8c3bcfb5931482a 28-Sep-2017 Doris Liu <tianliu@google.com> Associate RenderNodes created for hw bitmap w/ views

In transition animations, in order to capture the content of a view
or a drawable in a hw bitmap, a RenderNode needs to be created. The
RenderNode was previously setup with no owning view. As a result,
in cases where RenderNode animations are triggered by the draw calls
in displaylist recording, these animations would fail for lack of a
view to animate on.

This CL ensures that when RenderNodes are created for the purpose of
populating content in a hw bitmap in transitions, there's always a
view associated with each RenderNode.

BUG: 65160121
Test: Force to repro crash by changing press state during hw bitmap
creation, which triggers a ripple animation that led to the
otherwise timing dependent and hard to repro crash.

Change-Id: I2b4ba95cad25a94d50b3904e775606f737e960e3
ransitionUtils.java
4dc1ec754c5b263b96cddad047f1f99412f08596 26-Sep-2017 Doris Liu <tianliu@google.com> Fix crash when creating a HW Bitmap on a detached view

BUG: 65160121
Test: Unable to repro the crash before or after the fix

Change-Id: I84fa28557c67a6672b8d82443d4da7be4f28a50d
ransitionUtils.java
3f81c33a35e69fcfcb6e1f3d486bc1f01015615b 22-Aug-2017 George Mount <mount@google.com> Use hardware bitmap for shared element snapshots.

Bug: 64851247

Drawing to software bitmaps does not support many
features, most especially hardware bitmaps. This
changes the implementation to using hardware bitmaps
for View snapshots.

Also fixed broken TransitionTest discovered while
testing.

Test: I4ede02db67e578ea4a25069b683f1989c611e06c
Change-Id: I185bbfe1f789055c9efdba5297a74e481607afaf
ransitionUtils.java
dc936201153913359424d412811c3cc8b0e7cd41 20-Apr-2017 George Mount <mount@google.com> Fix ChangeClipBounds to set final clip to null.

Bug 35227753

ChangeClipBounds wasn't setting the final clip to null after its
transition if the end clip was supposed to be null.

Test: I9089e0c84718d219cfda266a99fd3dffdbae8512

Change-Id: If928454b30807ccc6b34ed4dfbb14857d99d43be
hangeClipBounds.java
f31efa38f86f41965089f748ddb1085b35912b30 07-Apr-2017 George Mount <mount@google.com> Ensure bounds are updated together.

Bug 37156683

The animator was setting the value twice on the first run, so
the bounds was being set improperly as the top/left was being
set from a different frame than the bottom/right.

Test: I534cc4d7534cff1206ea8c2b222e0c0852fc0e9c
Change-Id: I6fb047d2fa4d0ed0db3b44107f9815a65f1f2676
hangeBounds.java
f85b3d48d692e60af0b01ce75424ccb68e11b2bb 06-Mar-2017 George Mount <mount@google.com> Excluded Views don't go through Transition.

Bug 35832096

When entering or exiting Views were excluded, they were still
being set to INVISIBLE during the exit transition. This made
them disappear instantly. Instead, I've reverted back to the
original implementation by not affecting excluded Views during
the transition.

This CL walks the transition and removes excluded Views from
the enter/exit from being affected.

Test: I5b1b75dd12a3914e35c1d0fb641850981a19f9c3
Change-Id: I2b00ba95575420bae690b1cd8d4894c98401da79
ransition.java
fb6ed353a63d9e27642875867927ffd5a738f565 09-Feb-2017 Yuichi Araki <yaraki@google.com> Recycle TypedArrays in Fade and TransitionInflater

Test: Builds
Change-Id: I91e214eafc87850dca6986af2054e5edca46e724
ade.java
ransitionInflater.java
fd62c58ede768be5830a052ee2d5ee6ade787839 07-Feb-2017 Yuichi Araki <yaraki@google.com> Merge "Fix doc for setReparentWithOverlay"
995f4b5721e092478881b8929bdd235ec5855646 06-Feb-2017 Ben Weiss <benweiss@google.com> Merge "Extract and unhide TransitionListenerAdapter"
3f23b30c638114df8ead03c0585774bdbd281885 03-Feb-2017 Yuichi Araki <yaraki@google.com> Fix doc for setReparentWithOverlay

Test: Doc fix only
Change-Id: I8d89be7c87cf95fd2c7799fdd8286acc13102e46
hangeTransform.java
5de23c5eb4b56fdaa377fb7c098176441a17c7b4 26-Oct-2016 Ben Weiss <benweiss@google.com> Make ArcMotion material spec compliant

Upwards and downwards paths are
now curved in the same direction,
applying "gravity" to objects as they move around.

Test: CTS I40a5df051711fd719806cd88d87eeed68565d73d

Change-Id: I9e5323655dc7901393f90bb1ea2f393ca64b77ff
rcMotion.java
e0c37bdea37f78778f6c4f23f03604e59dfb0d55 26-Oct-2016 Ben Weiss <benweiss@google.com> Extract and unhide TransitionListenerAdapter

Test: CTS tested

Change-Id: I8db99d5f212b15db70ee5a6d6debf25d7ad7922d
hangeTransform.java
ransition.java
ransitionListenerAdapter.java
ransitionManager.java
f0b46b9540b48448c1f1fbe55ca2930770bd72e2 31-Oct-2016 George Mount <mount@google.com> Use safe access to OnPreDrawListener.

Bug 32472451

It is important to remove an OnPreDrawListener from the correct
ViewTreeObserver. When a View is added to the view hierarchy, the
initial ViewTreeObserver is not active. The listener must then be
removed from the current OnPreDrawListener. When a View has been
removed from the hierarchy, it is important to remove the listener
from the orignal ViewTreeObserver.

Test: cts-tradefed run singleCommand cts -d --skip-preconditions
--skip-connectivity-check -m CtsUsageStatsTestCases
Test: cts-tradefed run singleCommand cts -d --skip-preconditions
--skip-connectivity-check -m CtsFragmentTestCases

Change-Id: I735f71d2d9c84e86ef846aab0088a8651300fbe8
ransitionManager.java
67e2ae86396c6d0f989285275cbf908dee5e71f7 12-Oct-2016 Aurimas Liutikas <aurimas@google.com> Fix import statement in view|transition|animation packages.

This change also remove trailing whitespace.

Test: code still compiles
Change-Id: I7eff4546320d67d2bae58d31bad0625ea0791b8f
hangeBounds.java
hangeScroll.java
hangeTransform.java
xplode.java
atternPathMotion.java
lide.java
ransitionInflater.java
ranslationAnimationCreator.java
d0549f2e903fc3998e1db585d4df6384b606b164 21-Sep-2016 George Mount <mount@google.com> Fix TransitionManager.go with null Transition.

Bug: 31529500

Test: I8e5a3285bc5e2b34a1eb32afd67e3184c6d8897e
Change-Id: Ibf273d5acab4e32420093adc395034b2246bd530
ransitionManager.java
50b2c2444cf5e5e35df01fffc22c78dfaf9640ba 27-Jun-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Return proper values from ChangeScroll.getTransitionProperties"
ae61b85cb595ad157000279e77475900a3f44e05 25-Jun-2016 George Mount <mount@google.com> Return proper values from ChangeScroll.getTransitionProperties

Bug 29644621

Change-Id: I9035e94582d05889a00df61f84de46d782baea17
hangeScroll.java
f239f99113c049ec03dd46ba99b5f7417acf0315 24-Jun-2016 George Mount <mount@google.com> Make getTransition a @TestApi for CTS tests.

Bug 29570647

Change-Id: I85b2b215fbad2ca72e67b17a29cc9b122ae5945e
ransitionManager.java
25f98a4c0156ec40d1d92cfe5a24459d9ffa6f91 14-Jun-2016 George Mount <mount@google.com> Remove TransitionListener after transition completes.

Bug 22232371

Change-Id: I1ba6f8742792ff00996b7fdaa892d5e1388ef61c
hangeBounds.java
hangeText.java
ade.java
ranslationAnimationCreator.java
isibility.java
e6b23b6ab9bf5e4e88fd6b720c911424efa4f501 08-Jun-2016 George Mount <mount@google.com> Merge \\"Re-add Internal API for cross-task Activity used by assistant.\\" into nyc-mr1-dev am: 174e41b1fd
am: dff1fa4bb9

Change-Id: I76afa8d89b2ac1624a36b3114bd3891c9c734cee
413739e8c62a7cd83ec519203a2628504b1b0d16 08-Jun-2016 George Mount <mount@google.com> Re-add Internal API for cross-task Activity used by assistant.

Bug: 29091742

This reverts commit 563df3b328f5488aaa33b894748029ed00d0e263.

This also fixes the problems experienced by b/29128683.

Change-Id: I8e3d485cb818ea9e03ca475cba88934f6f903f11
ransition.java
ransitionManager.java
ransitionSet.java
d9a7b1e07bc9961496d7f944222a617d438a9507 07-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Merge "Revert "Internal API for cross-task Activity used by assistant."" into nyc-mr1-dev am: fe3ecdab1b
am: abb7488998

* commit 'abb74889982603f6070100033c8fa2b1eef3d8de':
Revert "Internal API for cross-task Activity used by assistant."

Change-Id: Id397afe9221e2562e096befc1b105233618ca7ef
563df3b328f5488aaa33b894748029ed00d0e263 07-Jun-2016 Eino-Ville Talvala <etalvala@google.com> Revert "Internal API for cross-task Activity used by assistant."

This reverts commit 04073dc5be4c8faad41f549617ed1c3ef999d6b2.

Bug: 29128683
Change-Id: I7d9bb7bb388f38e8e5ab159a211ee7f9f4fb7ab9
ransition.java
ransitionManager.java
ransitionSet.java
a9e1ad04fb27f101f62dacf35771671651204423 04-Jun-2016 George Mount <mount@google.com> Merge "Merge "Internal API for cross-task Activity used by assistant." into nyc-mr1-dev am: 3af59ef42c" into nyc-mr1-dev-plus-aosp
am: 74babe679b

* commit '74babe679b0f8e17ed73280b18bc19153764c55e':
Internal API for cross-task Activity used by assistant.

Change-Id: I985c67a465e88f74e66600709c187c3dfc9734e9
04073dc5be4c8faad41f549617ed1c3ef999d6b2 27-May-2016 George Mount <mount@google.com> Internal API for cross-task Activity used by assistant.

29091742

A new internal API has been created for use by assistant
to launch an Activity Transition from a non-Activity.

The ActivityOptions are also passed along when using
a spring board Activity so that the shared elements
can be properly synchronized.

This also fixes TransitionManager.endTransition so
that it forces Transitions to end the animations.

Change-Id: Id18d9765bfc0c7b438e17966455aa66d3fa3aeda
ransition.java
ransitionManager.java
ransitionSet.java
e1b53d7caba4e6c8e0367e4d33f5dd3b816a6606 25-May-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Add missing @Deprecated annotations."
514c5ef8d5774d8820ed1bf90fe53af1606cf106 25-May-2016 Aurimas Liutikas <aurimas@google.com> Add missing @Deprecated annotations.

Add missing @Deprecated annotations for methods with @deprecated tag
in javadoc.

Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
hangeBounds.java
bbeafd1199fc12b57b32b2e86820e227b3efd149 24-May-2016 Doris Liu <tianliu@google.com> Fix blue channel gets updated incorrectly in ChangeText transition

Also fixed text's alpha channel gets incorrectly reset to fully
opaque.

Bug: 28919053
Bug: 28932357
Change-Id: Ib0ae6fe56ba4e09dea69534868e764e65e888e62
hangeText.java
1349bb9c336e33bdb8a7edd3fdec9a7ecf8015d0 22-Mar-2016 George Mount <mount@google.com> Disable suppressLayout in Visibility Activity Transitoins.

Bug 27389255

In Idf21542464a13bac7b4d4a17f6b9303f68d550c3, I had removed
a suppressLayout check from forced visibility. Unfortunately,
when the transition ends, it calls layout if there was a
requestLayout during the transition. This prevents the
suppression at the level of the individual views so that it
can be handled at the decor View level as it was before.

Change-Id: I0f016e6356fd1ceff705b122a6b4ac3f3f09600d
isibility.java
fdce57b6dc931c6d038117d34b70e97a22de2b27 10-Mar-2016 George Mount <mount@google.com> Merge "Fix ArcMotion path creation in some quadrants." into nyc-dev
eddc8dbed621077ddbc3a66f475920ea5f63283d 10-Mar-2016 George Mount <mount@google.com> Fix ArcMotion path creation in some quadrants.

Bug 27577177

When ArcMotion created paths in some quadrants, the control
points were placed in the wrong place, making a non-circular
arc instead of an arc of a circle.

Change-Id: Ie842524c09385038fb1f991b877b01ee5e740f20
rcMotion.java
193b821829723c008663e7f2021d9ad135c6c0b7 08-Mar-2016 George Mount <mount@google.com> Merge "Fix propagation delay not working with minimum value = 0" into nyc-dev
23d57f30c5c9a22c69d3b19a221d8e4c4405657f 08-Mar-2016 George Mount <mount@google.com> Fix propagation delay not working with minimum value = 0

Bug 27545221

When the propagation delay had a minimum value of 0, no
propagation delay was happening.

Change-Id: Id28c2cac1c40d5c57f6b49fa11a60218ac1787a0
ransition.java
cfa15bd1d532830954a5f9717c05e3fe19bc512a 07-Mar-2016 Tony Mantler <nicoya@google.com> Add hidden slide fraction call to Slide

b/27460758

Change-Id: I936ce1c0ece24dd6a9e1c546f0bf261b37ba97c1
lide.java
c47738d8c22ae09cd93096888def0cf33f39d285 16-Feb-2016 George Mount <mount@google.com> Merge "Fix TransitionSet javadoc to use transitionOrdering attribute." into nyc-dev
d6505566a9bc606e84619a7b7a801557e795f1df 16-Feb-2016 George Mount <mount@google.com> Merge "Don't use forceVisibility for Activity Transitions." into nyc-dev
93aaab034fec85d3a6ca9dab6d1fd6c0610c6b62 11-Feb-2016 George Mount <mount@google.com> Fix TransitionSet javadoc to use transitionOrdering attribute.

Bug 27056771

Change-Id: Idb00d7e49857f6aed88a898edd957b5202581a2f
ransitionSet.java
45feb95c4a18c5da93da72f448003857b6226082 11-Feb-2016 George Mount <mount@google.com> Null check for fade start alpha value.

Bug 27105186
Fade previously hadn't had any values saved over those captured
by Visibility. If a Transition merged two Visibility transitions,
it could avoid calling captureStartValues for the Fade transition.
This change prevents an NPE in that case. The combined transition
won't get the intermediate alpha value, but at least it won't
crash.

Change-Id: I8e5720caafda56b017dfe1cc0b16ebdf246e90c4
ade.java
629767288a7f551d651f0405fdd9ed04e807d56b 05-Feb-2016 George Mount <mount@google.com> Don't use forceVisibility for Activity Transitions.

Bug 22291911

Forced visibility for transitions was introduced to make
Activity Transitions force going from INVISIBLE to VISIBLE
without triggering focus changes. setTransitionVisibility
was later introduced and now allows us to use visibility
without triggering focus changes.

Change-Id: Idf21542464a13bac7b4d4a17f6b9303f68d550c3
ransition.java
ransitionSet.java
isibility.java
5affef077316e73337eb42a098a126b01d20568e 05-Feb-2016 George Mount <mount@google.com> Fix Fade transition interrupt.

Bug 26963113

When a Fade transition is interrupted and reversed, the
View started the animation from the beginning. This change
captures the previous transitionAlpha and starts the animation
from the previous alpha state.

Change-Id: I801fe9ade6af4cf8446838e231bdc71841668a18
(cherry picked from commit 3cf9fa3db0231d035142c27992818d8f7827ac3e)
ade.java
7764b920f21e0b9250122ff26533d5dac98df6b3 13-Jan-2016 George Mount <mount@google.com> Add IntDefs for Animator and Transition classes.

Bug 23593341

Change-Id: Ifcb30322cb90efb32262c80f5d11c2d39efc5080
idePropagation.java
lide.java
isibility.java
71fbb81b14958b80fe55738607740c6630e4e9da 30-Nov-2015 Neil Fuller <nfuller@google.com> Fix @code escapes

The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
rcMotion.java
athMotion.java
atternPathMotion.java
ransition.java
f2a3703696f5dc8b1a0d243051e0db65c2145452 19-Oct-2015 George Mount <mount@google.com> Set the bounds on the drawable for ChangeBounds reparenting.

Bug 24993183

The bounds for the drawable weren't being set, so the
drawable was never drawn to the correct size.

Change-Id: I992951f28ee6fac2ce8752d2dc0e23f51d3cf584
hangeBounds.java
a7478ab9a7d36fbd8a0adaada613dff2a9fe77b4 01-Jul-2015 George Mount <mount@google.com> Fix Fade out during Activity Transition.

Bug 22181705

The Fade Transition sets the transitionAlpha in onTransitionEnd.
I previously changed Visibility to only do it in onAnimationEnd,
so the onTransitionEnd overrides the Visibility's version. This
fixes that change.

Change-Id: I7df478897b6fcfec20999965e297925b65a1448b
isibility.java
cb23ec418eb0dacee7ef9f2866b94eccd2b2ba90 01-Jul-2015 George Mount <mount@google.com> Merge "Add missing addPauseListener." into mnc-dev
0b056a0ac3147b4a856b342b8fe25c745cf21058 29-Jun-2015 George Mount <mount@google.com> Add missing addPauseListener.

Bug 22112571

Change-Id: I0dd0d9a131f5630cbac6b404fb34c82073fa1a83
isibility.java
3ebcd8654d92da375e7ca6c74b4ba9dc6bb9ec4c 26-Jun-2015 George Mount <mount@google.com> Merge "Fix endTransition index out of bounds exception." into mnc-dev
7a0f54b1400c9ca0cb32819dd3a3784f9aa7c351 26-Jun-2015 George Mount <mount@google.com> Merge "Fix addTarget not limiting to the given views." into mnc-dev
e3a4cb5b3818918e6552ac52026490809b37fe6d 25-Jun-2015 George Mount <mount@google.com> Fix addTarget not limiting to the given views.

Bug 22086521

Views matched by instance, or appearing/disappearing, or
named views were not limited.

Change-Id: I70fd1497c58a3cde771f4eafe11d8ebe0889ab6c
ransition.java
d9f3aa58d7e651dfbe9b395086040887d32d5a98 25-Jun-2015 George Mount <mount@google.com> Merge "Fix removeTarget to remove by ID instead of index." into mnc-dev
800320933e849cc370a96d032c65fbddcc4fac9d 24-Jun-2015 George Mount <mount@google.com> Fix endTransition index out of bounds exception.

Bug 22063111

When transition.end() is run, it removes itself from
the list of running transitions and perturbs the list.

Change-Id: I4feb7ebe19717a0e2302844d4e4e0d19a55ec57c
ransitionManager.java
5697c323a5647174530e13dcb31c393933ac594e 24-Jun-2015 George Mount <mount@google.com> Fix removeTarget to remove by ID instead of index.

Bug 22043875

Change-Id: I47933343381df7c46580279a864ab03d44c992ec
ransition.java
21290a62a58581eecd29f4895bb7319a0cb5721a 22-Jun-2015 George Mount <mount@google.com> Suppress Layout during Visibility transitions

Bug 21770464

Layout while a View is transitioning out can cause strange
behavior during the animation. This CL suppresses the
layout during the transition. It also invalidates
the parent when it has been removed rather than
requesting layout on it.

Change-Id: I471243f5beef44d3bbed9ce844e66195dbf4ae10
isibility.java
209fb43376989c9a68f947d12bae3ea87e4101d2 16-Jun-2015 George Mount <mount@google.com> Merge "Have the final setVisibility cause a requestLayout." into mnc-dev
533d7a67d9eb5c404eb83d233b56bb5226d5009e 16-Jun-2015 George Mount <mount@google.com> Have the final setVisibility cause a requestLayout.

Bug 21770464

Change-Id: I8c501e8a681634cb87857cf9286b888e61101f13
isibility.java
727a6cf6ad06bbb43c0c309c33776394a0012895 12-Jun-2015 George Mount <mount@google.com> Fix blink in Explode transition.

Bug 21785708

Change-Id: I1250d8e084601a6267906fdb2f3df46cbb8161fc
xplode.java
lide.java
ranslationAnimationCreator.java
616bb3d50c79842eeb5183d8637bc3a270a7d1a0 08-Jun-2015 George Mount <mount@google.com> Merge "API Council changes." into mnc-dev
e5a93aa81ce79bf7fa529b09b50d7473f07a74a2 06-Jun-2015 George Mount <mount@google.com> Don't cause requestLayout when transition changes Visibility.

Bug 21400515

When a Visibility transition temporarily changes a View's
visibility, it should not cause a requestLayout or any other
action, such as focus change. This adds a hidden method to
View to allow it to tweak the visibility without causing
other side-effects.

Change-Id: I5a06149983051319080130e5b5e7cc7edda8dd3e
isibility.java
aef1ae33915471983f10342dfbf6e37cb6f8c7a5 04-Jun-2015 George Mount <mount@google.com> API Council changes.

Bug 21571897

Change-Id: I681096c50a6f4a448e399b482742efc06229fab1
ransition.java
isibility.java
1b4ae634f6a0b07f2773e980cf52fda78ad48a80 07-May-2015 George Mount <mount@google.com> Properly cancel animators when View doesn't exist in starting state.

Bug 19290065

When a transition was interrupted, if a View was not in the start
state, but in the end state, then any animator on that View was
not canceled. This detects that situation and allows canceling
the animator on that View.

Change-Id: Ib1d0579bb6b211782c40c6327be59b0c59682731
ransition.java
57436d3f7e7fca99400a9b90e93491e892d135ae 05-May-2015 George Mount <mount@google.com> Merge "Fix potential NPE in internal isValidTarget method." into mnc-dev
f586c925d5199864a1087d153086079004b874e3 05-May-2015 George Mount <mount@google.com> Fix potential NPE in internal isValidTarget method.

Bug 19805383

Change-Id: Ib22d86cca5e1225b12ed39ac988824eeb9c58bbd
ransition.java
61bab469a1529ef61cadb870ca4cc533a5510cfb 04-May-2015 George Mount <mount@google.com> Merge "Fix Visibility not changing until Animator ends." into mnc-dev
fcfe531e742bd1731664080cb2ed3e66189d7f17 01-May-2015 George Mount <mount@google.com> Fix Visibility not changing until Animator ends.

Sometimes an animator will be interrupted before it starts
during a transition and the onAnimatorEnd will not be called.
In this case, we must set the final state in the onTransitionEnd.

Bug 20416564

Change-Id: I388895215ba2b1c500de3a5afcae8db1fea288f7
isibility.java
904de2ec9360de2ee54b91aaf9e141d9d8ab1de1 04-May-2015 Alan Viverette <alanv@google.com> Always force constructors accessible during inflation

We now correctly throw an IllegalAccessException for non-public accesses,
but we were relying on the old incorrect behavior during inflation. This
CL forces constructors to be accessible so that we emulate the old
behavior and don't crash.

Where we were already doing this, the CL moves the setAccessible() call
immediately after the getConstructor() call, since there's no point in
calling it multiple times.

Bug: 20810495
Change-Id: I63dfcb857e445f688080eea05e86ef22760ed49f
ransitionInflater.java
ab5d66a96a3e7f45d916492a35071011ffedcad0 28-Apr-2015 Tony Mantler <nicoya@google.com> Make sure Transition constructor is accessible before invoking

b/20666031

Change-Id: Ief519ac00aed8ce84cbc852025f91cc03da90c55
ransitionInflater.java
cef8bed51578740abe08a2cedc48857586a08d7e 09-Apr-2015 George Mount <mount@google.com> Merge "Make TransitionManager.endTransitions() public."
478673ede2142d01e93865ed123b0d32373c4cd9 31-Mar-2015 George Mount <mount@google.com> Make TransitionManager.endTransitions() public.

Bug 19231835

Change-Id: I151bae1d10aaab72f8fea73eaf0538f0aa5d810a
ransitionManager.java
28b3ecca86caf8c64eee68dab022d65f5fb0595c 03-Apr-2015 George Mount <mount@google.com> Reset transitionAlpha when the transition is stopped early.

Bug 19273502

When a transition runs several animators and is interrupted,
some animators may not have been started. Those animators
that haven't been started will not reset their contents
the same as if the animator was canceled. Fade modifies
transitionAlpha and if it is interrupted prior to the
animator starting, the transitionAlpha doesn't get reset.

Change-Id: I8a49b4fbb7151aadc43d7b10e6acbae9578e5cc4
ade.java
bc2dd79af9acc538b131506a1ea54fcc7000b164 11-Mar-2015 Tor Norbye <tnorbye@google.com> Add @TransitionRes for transition resource integers

Change-Id: I37f523282156c2f87c4d961167d6a980d5f6e34c
ransitionInflater.java
96e54dcfa4e2f5295b0441971f10906eeaa35328 04-Mar-2015 George Mount <mount@google.com> Fix TransitionManager.go not running transition.

Bug 19459362

Change-Id: I17595390c9fb289dec8de44447ca490c46570fb4
ransitionManager.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
ircularPropagation.java
idePropagation.java
ransitionPropagation.java
isibility.java
0653f2596f769956f6c1bf491505979ec40453e3 13-Feb-2015 Todd Volkert <tvolkert@google.com> Increase visibility of Transition.areValuesChanged() to protected to allow
subclasses outside the android.transition package to override it.

Change-Id: Ib6a5502827e734de7494958b510afc9ddb80dffe
ransition.java
isibility.java
fddd7ead7c92fff87edcc6f0a7d8a1ad6a9a18d4 13-Feb-2015 Todd Volkert <tvolkert@google.com> Merge "Revert "Increase visibility of Transition.areValuesChanged() to protected to allow subclasses outside the android.transition package to override it.""
455e0ea8f2cbfc05fe420f0ea82f4ead10fa41af 13-Feb-2015 Todd Volkert <tvolkert@google.com> Revert "Increase visibility of Transition.areValuesChanged() to protected to allow subclasses outside the android.transition package to override it."

This reverts commit d23391eafe9f46ff01d5dc936126a4d6ae1c53d3.

Change-Id: Id7211a0fd08b9bc8ad092501de3c3efa57bf8264
ransition.java
isibility.java
09247179cba6cb027388cee361291b3ac4a547a7 12-Feb-2015 Todd Volkert <tvolkert@google.com> Merge "Increase visibility of Transition.areValuesChanged() to protected to allow subclasses outside the android.transition package to override it."
d23391eafe9f46ff01d5dc936126a4d6ae1c53d3 12-Feb-2015 Todd Volkert <tvolkert@google.com> Increase visibility of Transition.areValuesChanged() to protected to allow
subclasses outside the android.transition package to override it.

Change-Id: Ife5de79b339b6d7598411ad851858f4c52a89f5c
ransition.java
isibility.java
a2c7884518567f315e74421b247d8bfc6a4d34e6 12-Feb-2015 Neil Fuller <nfuller@google.com> Merge "Remove usages of FloatMath" automerge: a8e8cdb automerge: 27316a9
automerge: c1a5e82

* commit 'c1a5e82c25dba954cf1c06729e53bfb67667bcbb':
Remove usages of FloatMath
c1a5e82c25dba954cf1c06729e53bfb67667bcbb 12-Feb-2015 Neil Fuller <nfuller@google.com> Merge "Remove usages of FloatMath" automerge: a8e8cdb
automerge: 27316a9

* commit '27316a93e5979859ae98f506eca365784353007a':
Remove usages of FloatMath
e573aa9371fc507075219cd078117f96ba8b3b02 11-Feb-2015 Neil Fuller <nfuller@google.com> Remove usages of FloatMath

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: Iec8fb663ed54eb967050f6ff25a36ba534204c4d
rcMotion.java
ircularPropagation.java
xplode.java
atternPathMotion.java
idePropagation.java
e025ed2f26858dae5f40a94a2e1ac0db808a6950 02-Feb-2015 Alan Viverette <alanv@google.com> Make popup transition animation play nicely with dismiss/show pair

Previously it was okay to call dismiss/show in quick succession since
the window was removed synchronously. Adding transitions introduced a
delay between dismiss() and actually removing the window, which broke
this behavior.

Change-Id: I0de8ae0a551dcb2eb8b8a50356c308b654ebdc6f
ransitionManager.java
74f89e78b0e0dfb6fab15cea1f1ca19ee45b0875 20-Dec-2014 Brian Attwell <brianattwell@google.com> Unhid ChangeScroll

ChangeScroll is already publicly usable via transition
xml files. This directly unhides the java class.

Bug: 18777272
Change-Id: I3b9982dc4ff3f4e8752b39ee6eb67b617073e2ff
hangeScroll.java
419754545ea0768a7fa715daddedef75b7b31bfa 20-Nov-2014 George Mount <mount@google.com> Merge "Reset the transitionAlpha after the transition completes." into lmp-mr1-dev
6c211ff43e1e8055ecd08d30fa8d7fdde04942ae 20-Nov-2014 George Mount <mount@google.com> Reset the transitionAlpha after the transition completes.

Bug 18423893

Change-Id: I2ea30c3b7c45eca70d1518e73f814b827f519fa0
hangeTransform.java
2db3bf5c49ebcd56f02f10145aa40b2445f6be06 19-Nov-2014 George Mount <mount@google.com> Slide supports Gravity.START and Gravity.END.

Bug 18444396

Change-Id: Id7b82b44948e4501c2b4fb5302d22672fa20cd00
idePropagation.java
lide.java
20559079ab05aa5e976bb0f7aa63fd9e6868f02e 13-Nov-2014 George Mount <mount@google.com> Fix Visibility transitions canceling when nothing has changed.

Bug 18377719

Change-Id: I4ba282bba928781e7b8a62e813cb83f8bf78b58c
isibility.java
8f7d3715c5b26069a55464b1d3e517c6ecc600c7 10-Nov-2014 George Mount <mount@google.com> Merge "Allow PathMotion to affect translations in ChangeTransform." into lmp-mr1-dev
fa35d14e431dbfc2418fe736b826922fde6503e7 01-Nov-2014 George Mount <mount@google.com> Allow PathMotion to affect translations in ChangeTransform.

Bug 18207599

Change-Id: I813976527de426ba6fbdc89291d2ecde0135c19d
hangeTransform.java
b592d845147f051613fb62896b4e893015f8c413 01-Nov-2014 George Mount <mount@google.com> Fix javadoc.

Bug 18183024

Change-Id: Ia29d46e03b0137cc6964dcf488af052486b6898c
ransition.java
4c2e3491ec6cf20bcf95a922f396473e33bc4e98 27-Oct-2014 Dake Gu <dake@google.com> Merge "ActivityTransition: Encode scaleType and matrix in snapshot view" into lmp-mr1-dev
e0f76e9a6d352c45a1729b99ea0df59bd4359423 27-Oct-2014 George Mount <mount@google.com> Merge "Fix transition being canceled improperly." into lmp-mr1-dev
b7573c2dbaff442a0f9f814bdc05aaa685574870 24-Oct-2014 George Mount <mount@google.com> Add resizeClip attribute to ChangeBounds.

Bug 17765948

Added the XML attribute for the resizeClip property of
ChangeBounds. Also updated support for resizing a view
using its clip bounds and position to fix the TODO.

Change-Id: I358d07d6a28fed4b7f39f9ccb9d89b9325f64239
hangeBounds.java
d359952459f96a9b57f50a7434b8660836c6e987 23-Oct-2014 George Mount <mount@google.com> Use one method to change bounds in ChangeBounds.

Bug 17936593

Instead of calling setLeft(), setTop(), setRight(), setBottom()
separately, make one call that does all at the same time.

Change-Id: I986274f3a98b3136e71204501ffc272986ad31dd
hangeBounds.java
cba01b2310e78fc2114ceed285f4e134469ae62b 22-Oct-2014 George Mount <mount@google.com> Fix transition being canceled improperly.

Bug 18092208

When a transition is determining whether or not it should be
canceled, the old values and new values are compared. Previously,
the if a value was in the old values, but not in the new values
then the value was considered changed. This discounts that
transitions sometimes don't target views and it may be that
no value was populated.

Change-Id: I8210ba1e44921fadedf9ead571d380ad34e73d3f
ransition.java
isibility.java
5ac9b20b41f72baabcb8a7d114bcaac3ed37e352 10-Oct-2014 George Mount <mount@google.com> Allow using setLeft/Top/Right/Bottom to control ChangeBounds.

Bug 17938614

Change-Id: Ia341fdd63ab57ec16a3de6349b7eb07fdc0a48ae
hangeBounds.java
f791703f9bc566bee4f4809910d09dd415342078 06-Oct-2014 Chris Craik <ccraik@google.com> Avoid changeBounds animations on Views that are not yet laidout

bug:17683930

This means that GONE views with empty bounds don't trigger
ChangeBounds animations the first time they're shown.

Change-Id: I6503c5b0a790d3d31f7566fab27a0b12c5f61f26
hangeBounds.java
24314e7d10d0354cd548de35a2c4795a87fbfb21 01-Oct-2014 George Mount <mount@google.com> Fix ChangeTransform works only once on a View.

Bug 17762118

When ChangeTransform is used on a View, its intermediate values
are being set, but not cleared after the transition completes
unless it uses a GhostView. This CL clears the intermediate
values when the animation ends if no GhostView is used.

Change-Id: I2590d9c2bc36d31023b3e1af94d2bd72c9589eb5
hangeTransform.java
017b13a50c1225ca338357dc1315befa38dc3e33 01-Oct-2014 Dake Gu <dake@google.com> ActivityTransition: Encode scaleType and matrix in snapshot view

So that SharedElementCallback can setup initial imageView scale
type properly to run transition against.

b/17703309

Change-Id: I0ab212e0413fd666de605bc51ef64c8d66e4d09d
ransitionUtils.java
2deeaa33143362846299bb424b3b1a52ca45deeb 19-Sep-2014 George Mount <mount@google.com> Target only shared elements with shared element Transition

Bug 17549213
Bug 17553253

Change-Id: If54aebb4e37d2012aa8d1c5354d5ec03f92b81a3
ransition.java
7343ba2f80e9d58f97da6753703e02c934686177 19-Sep-2014 George Mount <mount@google.com> Merge "Fix broken logic in isValidTarget" into lmp-dev
cc82424b449f9d106d8d4caee74ad869d0e620ce 18-Sep-2014 George Mount <mount@google.com> Fix broken logic in isValidTarget

Bug 17553253

Change-Id: I9f3f2c80e59128fd5f8d4b1b2a67692c00804f62
ransition.java
dc5bf6a7f0e9d05a1019bb01b406ec1f54cdaa2b 18-Sep-2014 George Mount <mount@google.com> Default to using hardware layer during fade transition.

Bug 17499864

When hasOverlappingRendering() is true, a layer is used to
to fade views because performance can be much worse then.
When hasOverlappingRendering() is false, the performance
is not hurt and a layer is not used.

Change-Id: If3fb1c23ffc8d0bef85c9d16df6c26ff4bbd49ac
ade.java
79b2781aa763cbd770f690c16af4448139f37061 13-Sep-2014 George Mount <mount@google.com> Fixed OOM due to visibility transitions.

Have maximum size for Visibility transition bitmaps.

Also changed Visibility to avoid transitioning out child views
while transitioning out their parents.

Also moved view-to-bitmap code to common utility.

Bug 17469198

Change-Id: I05f069a267539b479da1b39cdad2cc9270c5c381
ransitionUtils.java
isibility.java
5030c7f6f15c5c2cac2403f863e4f618a8cfaedf 10-Sep-2014 George Mount <mount@google.com> Made Transitions act only the views that they target.

Bug 17465989
Bug 17452585

Change-Id: I2f921e98f68df3d549a370179c0a4488d56923ad
ransition.java
ransitionSet.java
ransitionValues.java
a374bc049c6de95186c2f9e5a9032134a5428665 12-Sep-2014 George Mount <mount@google.com> Merge "Fixed empty TransitionSet not notifying listeners." into lmp-dev
e6f66e78a5030ae525b449d3dda94f41107a555c 12-Sep-2014 George Mount <mount@google.com> Merge "Fixed: TransitionSet setStartDelay did nothing." into lmp-dev
04600023d096dfd7ed2b53d6ee273c57b6c2c20f 10-Sep-2014 George Mount <mount@google.com> Fixed: TransitionSet setStartDelay did nothing.

Bug 17452965

Change-Id: Id2fd6ed3bd8e7156dd3d22dcd83117cec12e3528
ransitionSet.java
38a664986ba5ed101916c49c926d176c434b725b 10-Sep-2014 George Mount <mount@google.com> Fixed empty TransitionSet not notifying listeners.

Bug 17469482

Change-Id: I2673960e75737d659e52132f1f3b8230080adb7b
ransitionSet.java
e988ee1eb2cc0cd345e42bcc549363a0e8c339aa 11-Sep-2014 Craig Stout <cstout@google.com> Omit appearing views that have a parent that is also appearing.

b/17460766

Change-Id: Ib3fe619e271688c93a5cd4cb4d557e6cca5baa34
isibility.java
a740b2bf9a492df5301336e2533651fa90e57c6b 08-Sep-2014 George Mount <mount@google.com> Merge "Only call setHasTransientState in captureHierarchy." into lmp-dev
24e08d0692583fbb038ea26236d9700b9019f1f1 08-Sep-2014 George Mount <mount@google.com> Merge "Improve Visibility parent value check." into lmp-dev
9f1ac3976ea3aa08c20c06fa6678e367e1ed424d 08-Sep-2014 George Mount <mount@google.com> Improve Visibility parent value check.

Bug 17412818
Bug 16398271

The Visibility Transition must not run against children that
are already disappearing or there will be, for example, a double
fade-out effect. Before this change, if a parent matched another
view, it would prevent its child from disappearing.

This change also removes using the overlay for children that have
been removed from the view hierarchy indirectly. This prevents
ListView and RecyclerView children from being added to the overlay.

Change-Id: Iac0610f0939da8643b98812ee1ec1c8d1d70a215
isibility.java
21f54f39408d43705e4aa7060c562271ca2886f1 05-Sep-2014 George Mount <mount@google.com> Only call setHasTransientState in captureHierarchy.

Bug 17390936

Change-Id: I1a8cdc2820b53f6ca9f6edc41a7e87f45bea7811
ransition.java
ransitionSet.java
f9557619a7643c971e64e5b35583476202e77b7b 29-Aug-2014 George Mount <mount@google.com> API Review: Improve javadoc.

Bug 17189781
Also rename PatternMotion to PatternPathMotion

Change-Id: I1c4dcbdd65e33cf9de1504277e31f9f7ede0380d
rcMotion.java
hangeTransform.java
atternMotion.java
atternPathMotion.java
ransition.java
ransitionInflater.java
66946e22b10a435108b1405061280a4463ce51c4 03-Sep-2014 George Mount <mount@google.com> Merge "Fix ChangeTransform to work with interruptions" into lmp-dev
dc19ac008c5065521ac9843d66c8701af8845264 03-Sep-2014 George Mount <mount@google.com> Fix ChangeTransform to work with interruptions

Bug 17372872

If ChangeTransform was interrupted after its animation completed,
but before the parent's Transition completed, it would think
that its start location was relative to its parent's current
position and not relative to its end position.

Change-Id: Iad25aafc03c41c1e0a7530548fb38acafbaffb8e
hangeTransform.java
95f3bcdce0b026369d924982dd3315da8dffaf3a 03-Sep-2014 Chet Haase <chet@google.com> Merge "Fix TransitionManager.go() to allow null transitions" into lmp-dev
5a7cf3eeeb208c2dac52541cb09b519b4342a5ff 03-Sep-2014 Chet Haase <chet@google.com> Fix TransitionManager.go() to allow null transitions

The doc'd behavior of go() is that a null transition is equivalent
to just switching to a scene with no transition. The actual behavior
was an NPE crash.

Issue #17342291 TransitionManager.go() with null Transition parameter throws NPE unlike documentation

Change-Id: I9416aa6e307f80eefc201ca3264fd64f8587ac2f
ransitionManager.java
a2327aacac0336aa549fa123e4e8342287787c86 03-Sep-2014 George Mount <mount@google.com> Merge "Make Fragment Transitions match Acitivty Transitions API" into lmp-dev
c03da0e7a9ef721709d51cf8a2d539a5bd8a320e 23-Aug-2014 George Mount <mount@google.com> Make Fragment Transitions match Acitivty Transitions API

Bug 17188255

Change-Id: I506a097be4010d7156caf465c95295c58612c16e
ransitionUtils.java
9a61f9485e4a178ff4b34f0563944c61059cc571 30-Aug-2014 George Mount <mount@google.com> Merge "Use offsetLeftAndRight and offsetTopAndBottom in ChangeBounds." into lmp-dev
ff8e6d85dc5ef03b8d7c94b014fa4da800b5402c 29-Aug-2014 George Mount <mount@google.com> Use offsetLeftAndRight and offsetTopAndBottom in ChangeBounds.

Bug 17015836

When the size does not change, use offsetLeftAndRight and
offsetTopAndBottom to improve performance.

Change-Id: I3e70c783321346bb98867ec60bd899c39293c9e7
hangeBounds.java
46a761db9a281657fe31522caccbfcc94a8e8e56 29-Aug-2014 George Mount <mount@google.com> Merge "Fix NPE when transitioning on unattached scene root." into lmp-dev
6276cd4b8defba1b6fef47ebc1bbe14498655b94 29-Aug-2014 George Mount <mount@google.com> Fix NPE when transitioning on unattached scene root.

Bug 17261558

Change-Id: Ib86c72e26f7fd9ac3fc47df650d95fdeeb43f1be
ransition.java
3b2cd1d59fd894ac67a044c6c540fa69360a34a2 25-Aug-2014 Craig Mautner <cmautner@google.com> Update API per council requests

launchTaskBehindBackgroundAnimation => launchTaskBehindTargetAnimation
visibilityMode => transitionVisiblityMode
makeLaunchTaskBehindAnimation => makeTaskLaunchBehind
launch_task_behind_background = launch_task_behind_target

Fixes bug 16958544.

Change-Id: I3b7c791fc0671b8071a5377cf6fa878bd5861f70
isibility.java
c94e2b393f6eba684ee2c84eaa50746fc1459d0f 22-Jul-2014 Dake Gu <dake@google.com> Add Parent Change to ChangeTransform

Bug 16460123

Modified ChangeTransform to support any pivot changes.
Modified ChangeTransform to support changes between parents.

Change-Id: I6374890dab9f3d795f334b951bdb9d51d434b8ee
hangeBounds.java
hangeImageTransform.java
hangeTransform.java
ransition.java
ransitionUtils.java
isibility.java
4d1ecf5daf6ad0b5420f3f3657e2cbaeea630240 29-Jul-2014 George Mount <mount@google.com> Fixed ChangeBounds matching against the wrong View.

ChangeBounds must ensure that its parents match to use reparent,
but it used instance and ID matching. Matching can now be
done in several ways and that is insufficient.

Change-Id: Ic0432cd06549e4dc9ba49f33b0a6a42082e29dc1
hangeBounds.java
ransition.java
ransitionSet.java
dbe3655c0b93b4bf80c751b4148fcbefbfe96d5b 19-Aug-2014 George Mount <mount@google.com> Set start transform before animator starts.

Bug 16958319

ChangeImageTransform was waiting until the animator started
before setting the image matrix. Animators with a
start delay would leave the ImageView with the final transform
before the animator started.

Change-Id: I5ebc03b58a8697da3edf4a01c8906d60e7938f44
hangeImageTransform.java
7f15164ecb4c93cbb3cc886a3028621c0d0fffcc 19-Aug-2014 George Mount <mount@google.com> Add a way to get Transitions from a TransitionSet.

Bug 17113732

Change-Id: I0a157a59448e66560ba2252709971131c5dea401
ransitionSet.java
fe361d2113b8f3c54797d7bd720ca739328bd7aa 09-Jul-2014 George Mount <mount@google.com> Move shared elements to overlay when in a transition group.

Bug 15744995

Change-Id: Icf1ee603de23c7bb3bce3723cb24009e36f153d7
ransition.java
6ceac2eafbb43dafd18bf547fee6fe51aee6b59b 31-Jul-2014 George Mount <mount@google.com> Fix visibility propagation check.

Bug 16704963

Change-Id: I2538bac4b4565ac8c6b27407c7679fea55b1092b
isibility.java
isibilityPropagation.java
964c3cf5b25ccbb5b07c1bda6eb147c912e96a7b 24-Jul-2014 George Mount <mount@google.com> Add default propagation back to Explode.

Bug 16217557

Change-Id: I47460db128749af978077755a777068392492aee
xplode.java
2cacfe3a98ff4f777503cedca5e6fc44e6df269f 24-Jul-2014 George Mount <mount@google.com> Allow changing bounds to and from a zero-sized bounds.

Bug 14590183

Change-Id: I596cb384198a6f7de14afed0d78711f127d3511e
hangeBounds.java
d761dcaf1c79fe38ecb533b36f852b3a38a4f6f1 25-Jul-2014 Dake Gu <dake@google.com> TransitionSet: fix excludeTarget not working

b/16552254

Change-Id: I01467e258754d95f1b9fa61a27d1da98eed9b57c
ransitionSet.java
51c014843a6d339d115dfa88b9ee2fff90a8b844 24-Jul-2014 George Mount <mount@google.com> Fix Monkey NPE.

Bug 16135577

Change-Id: If2ea474fd9ca9232fec325deed0e9b9b806595f6
ransition.java
2dcab18c6c9381122df6e06a93912e53dff69408 22-Jul-2014 Paul Soulos <psoulos@google.com> Adds ScrollBounds to the Transition framework

Change-Id: If22ab5162737f2d109e5eaf407a735523a146b7f
hangeBounds.java
hangeScroll.java
ransitionInflater.java
ransitionUtils.java
ad88e1b1b2c57fa56bde68764b22240d145fa0ef 19-Jul-2014 George Mount <mount@google.com> API Council: Change docs and constant names.

Bug 16401545

Changed doc for ChangeImageTransform.
Changed IN/OUT to MODE_IN/MODE_OUT.
Changed mode to flag attribute.
Change-Id: Ia2ae9930f9725871c9b1d80b758a3a0808a8f0c6
hangeImageTransform.java
ade.java
isibility.java
e3b50aecfd913d3032460a99224803ba688bab27 15-Jul-2014 George Mount <mount@google.com> Fix NPE during construction from XML.

Bug 16322214

Change-Id: Ie2811a54880ab60b607ae29d7df04b0636e67197
ransitionSet.java
f3de5a2e34412710234cd1f5f3933ce266ea0e49 09-Jul-2014 George Mount <mount@google.com> Remove modified APIs

viewName was changed to transitionName and
MoveImage was replaced with ChangeImageTransform + ChangeBounds.

Change-Id: I5e0b0250ef3c926d1c3de212de3a5e1503e89b86
oveImage.java
ransitionInflater.java
b5ef7f8c6d4629b2998de6c0b27bc1a4779b3e49 09-Jul-2014 George Mount <mount@google.com> Don't change View visibility during activity transitions.

Bug 16187776

Changing View visibility can change the View's focused item.
To prevent this, a backdoor is introduced into Transition
and Visiblity to set the target Visibility used in Activity Transitions.

Change-Id: Idfd2c6fba2cad80fecdfd086990ddc604f86ca68
hangeBounds.java
ransition.java
ransitionSet.java
isibility.java
58bbdbd1f1e2b2ed2e82caad6de6411fa2380cdc 01-Jul-2014 George Mount <mount@google.com> Fix targeting transition by transitionName.

Change-Id: I5e51b524a3a249cd2d7dbba3ccb06d0a5ca8fb73
ransition.java
ecd857be3946283ebb4306e2c03ae70f5c5bb152 19-Jun-2014 George Mount <mount@google.com> Add curved motion to Transitions.

Bug 15197527

Added two public PathMotions: PatternMotion and ArcMotion.
ArcMotion is the algorithm provided by UX. PatternMotion
provides a mechanism for using a Path as a pattern.

Change-Id: Ie57fd5f4e62269acc1164eced39853a12c52bd77
rcMotion.java
utoTransition.java
hangeBounds.java
hangeClipBounds.java
hangeImageTransform.java
hangeTransform.java
xplode.java
ade.java
oveImage.java
athMotion.java
atternMotion.java
ecolor.java
lide.java
ransition.java
ransitionInflater.java
ransitionSet.java
isibility.java
31e8005e06acf363a0cd92b891d43f79c72dac30 27-Jun-2014 George Mount <mount@google.com> Merge "Don't use overlay to transition ImageViews."
18ab79967ce8bcde4b1507164ac8186e5135622e 26-Jun-2014 George Mount <mount@google.com> Add IN/OUT flag for all Visibility transitions.

Bug 15758206

Change-Id: If9b1871117a6808c87adc84ab9215b913ebd2704
ade.java
ransitionInflater.java
isibility.java
990205eada00ad3e575761d19607bb03e12f9aa3 24-Jun-2014 George Mount <mount@google.com> Don't use overlay to transition ImageViews.

Bug 15744992

MoveImage used an overlay to transition ImageViews. This
caused strange problems when ImageViews were contained in
other Views. The new ChangeImageTransform does a smooth
transition for changes in scale type and bounds.

Change-Id: Ia5021f4828f8f818a8699b3bdd38437aeba1cfc8
hangeImageTransform.java
atrixClippedDrawable.java
oveImage.java
ransition.java
ransitionInflater.java
88f5993692ac768c0bb6a782a79ca7c6932d5731 25-Jun-2014 George Mount <mount@google.com> Merge "Allow custom transitions from XML."
0a2ae002e60f7ea9b6bea282086b5eb0ae3c6e51 23-Jun-2014 George Mount <mount@google.com> Revert "Revert "API Review: Change View viewName attribute to transitionName.""

This reverts commit 1bdfbc68e22a64215ab8fa3e3d17676513546997.

Change-Id: Ie3fdf53b33cb2f61c1878055940f52ed9dfc8b08
ransition.java
ransitionInflater.java
ransitionSet.java
a3c1025b80c910fd7c0e9b1c178de32cab83f6de 23-Jun-2014 John Reck <jreck@google.com> Revert "API Review: Change View viewName attribute to transitionName."

This reverts commit f1b1adf51b2a84e0ac83685812c7e8d86590af12.

Change-Id: I0e49aeed84f2a548e272a59f4e13c3fb74c2bfd9
ransition.java
ransitionInflater.java
ransitionSet.java
125578a8637a9ad5e7430d16b9fc0096a8b596d7 18-Jun-2014 George Mount <mount@google.com> API Review: Change View viewName attribute to transitionName.

Bug 15548520

Change-Id: I4009458d83dbffb20ff0100aaa42eea44d943378
ransition.java
ransitionInflater.java
ransitionSet.java
44d663849481576fb649aeb6234086406ced75f1 18-Jun-2014 George Mount <mount@google.com> Allow custom transitions from XML.

Bug 15699798

Change-Id: I841289a72d7c08bb24b3e18380c79ba7960f9b22
ransition.java
ransitionInflater.java
1f8c01181bcdef6e7e7e359ecde003939523b718 17-Jun-2014 George Mount <mount@google.com> Handle interruptions in Explode and Slide transitions.

Bug 15618842

Change-Id: I22431b59c6516ee330d897791b79fa9ed17ba727
xplode.java
lide.java
ranslationAnimationCreator.java
4c20ea29728a80b42487b3ba1600d11d5ea47bcc 17-Jun-2014 George Mount <mount@google.com> Fix blinking animation during Visibility transitions.

Bug 15618501

Change-Id: I9dff9eb386a4bfb51caec24f3f7cc0fad06ae04c
ransition.java
isibility.java
d4c3c91dd0757eec9703ef90ea4c5a7ee99f18ca 09-Jun-2014 George Mount <mount@google.com> Allow antroid.transition Transitions in fragments.

Bug 15274281
Bug 15189829

Change-Id: I8e2974430b84a611866fe20afe1f5745e803683f
ransition.java
ransitionSet.java
isibility.java
208dcade9373905b7168feb24db141cd71c45159 06-Jun-2014 George Mount <mount@google.com> Prevent transitions from calling createAnimator for invalid views.

Bug 15285527

When two transitions affect different views, createAnimator is
on all Transitions for all views. This CL prevents createAnimator
from being called for Transitions that don't target a view.

Change-Id: I3f70a13b4ea38ad4a9b4724db438b40f6e80eafb
ransition.java
dc21d3b2804c24fe29ec860796d11185901364c4 05-Jun-2014 George Mount <mount@google.com> API review: Constants to Gravity and Epicenter.

Bug 15432037

Constants for LEFT, RIGHT, TOP, BOTTOM moved to using Gravity.
Epicenter method name changed.

Change-Id: If226613794623fd50fdaf8fc61b0020d17628f68
idePropagation.java
lide.java
ransition.java
ransitionInflater.java
8cab50afda0d8485436f72a93d668697f549d3b3 15-May-2014 George Mount <mount@google.com> Fix for quick "back" in Activity Transitions.

Bug 14990153

Stops two potential animators working against the background
drawable. Forces the entering views to become visible onResume.

Change-Id: I2da66b54a16c6c69533eebbeff6db7f5a7794a89
hangeTransform.java
7b75062fb05a9981faf3c0c9f840dbdb9e97e7f7 14-May-2014 George Mount <mount@google.com> Allow changing order of matching Views in Transitions.

Bug 14899804

Change-Id: I13c080141fce6be8430d540e3c42d40a445bb224
ransition.java
ransitionInflater.java
11d04154811f8f64f86ff0652efe84868284ef8e 14-May-2014 George Mount <mount@google.com> Merge "Check for null Drawable in MoveImage"
30da61d477bcb6cc7718f9516c444359352fe148 09-May-2014 George Mount <mount@google.com> Add view name to Transition matching.

Bug 14625214

Change-Id: Ia1b21e6bd0ea4892b504746e582aeb175e0f0506
ransition.java
ransitionInflater.java
ransitionSet.java
ransitionValuesMaps.java
isibility.java
d8cdb8cc2ca509e48cc468bd60c12f08eeeb2e39 13-May-2014 George Mount <mount@google.com> Check for null Drawable in MoveImage

Bug 14676155

Change-Id: Ic8d2c3fc471a876f5369e743e60ffb0f238f3eed
oveImage.java
764af2958bccd3e4dacf4e4be18b1267f8715961 08-May-2014 George Mount <mount@google.com> Merge "Fix mismatch in Transition ID/instances"
6de56bb07ec58480983932cb055aa9ed2ddfcc99 07-May-2014 George Mount <mount@google.com> Fix mismatch in Transition ID/instances

Bug 14597573

In a Transition, when a View is removed from a Scene
and that View has an ID in common with another View
in the end Scene, it will be matched, even if the
View in the start Scene already had a matching View
by instance. This CL prevents a match by ID when an
instance match is available.

Future: disable matching when two views have the
same ID.

Change-Id: I0e51d1f2d0a2d05d09e8e135f090d0e1b2a67efc
ransition.java
080443bcb63418245c2408500db735fece5e7083 05-May-2014 George Mount <mount@google.com> Add ImageView-specific shared element activity transition code.

Bug 14497858

Probably more than 50% of shared elements will be ImageViews and
sharing the scale type and matrix between the two Activities will
simplify shared element transitions.

Also fixed MoveImage, which had a bug when the scale type was FIX_XY.

Change-Id: Ic5548b4d1420ced12507c18edf76c9e50e27a929
oveImage.java
265f209d551092a08f2969ec5fed94292d7741b6 01-May-2014 George Mount <mount@google.com> Fixed transition start delay propagation when duration = 0.

Bug 14443184

Also gave the propagation speed a tweak to make it more
obvious that there is a propagation.

Change-Id: If9dc3172ae6ce7e6a712ccd1b83ebec9bf880bfa
ircularPropagation.java
idePropagation.java
a98fb7ab6a17d27395cf2c8e86060af49b861be6 24-Apr-2014 George Mount <mount@google.com> Add mechanism for Transitions to target a class.

Bug 14289299

Added ability to target a specific class similarly to the
mechanism for excluding a specific class in Transitions.
Also changed XML tag from excludeTargetId to excludeId to
make it symmetric with excludeClass.

Change-Id: Ib371820ec75761243e75b659565b905b1b19c9a2
ransition.java
ransitionInflater.java
608b87d9e57b71a86374a439bf5c3febd1e142f2 15-Apr-2014 George Mount <mount@google.com> Add Transform and ClipBounds Transitions.

Made MoveImage use an overlay view. Drawables
cover all Views in the overlay and there may
be a desire to order the overlays.

Change-Id: Ic7b81f0d26d8cce3f475c2eebbce01538bc55d46
hangeClipBounds.java
hangeTransform.java
oveImage.java
ransition.java
ransitionInflater.java
f976c3d42bc2f14333bae5ed26d96c45d207a443 15-Apr-2014 George Mount <mount@google.com> Add ability to exclude Views in transition XML.

Bug 14259955

Change-Id: I47bb10c530c9fec8910ddd96156fc38d6027e1f6
ransition.java
ransitionInflater.java
80c1210e5978aee112285b4c506c4cf326718daa 28-Apr-2014 George Mount <mount@google.com> Merge "Fade Transition sometimes disappeared improperly."
1b2fb2ca13694e5cef4973d9d5852b826a86c890 26-Apr-2014 George Mount <mount@google.com> Fade Transition sometimes disappeared improperly.

Bug 14320504

Change-Id: I43c2ddd34a5bd3a366027cd3c09d088baa4fb6f4
ade.java
isibility.java
8c0ceb34c3de5153dad162be719e2933c56886ae 15-Apr-2014 George Mount <mount@google.com> Properly filter out excluded views in createAnimators() call.

Bug 14258783

Change-Id: I2d07e9d72a87674c215d36ccfc004c45623e7c24
ransitionSet.java
31a217290cf376d0573fc36e21c8940987485019 25-Mar-2014 George Mount <mount@google.com> Split Activity Transitions out of PhoneWindow.

Bug 13622834
Made it possible to use shared elements without making
Views invisible.

Change-Id: I1e85c6bc19e634a9af225ad7f0309b4f003ea462
ransition.java
ransitionInflater.java
ransitionManager.java
isibility.java
d6107a3170df61d9e776fcd5666acfc9135c6f16 11-Mar-2014 George Mount <mount@google.com> Add Transitions useful for Activity transitions.

Slide: transition in and out of the edge of the scene.
Explode: transition to the scene borders

Moved capability from Fade to Visibility.

Change-Id: Ibeb0d8f751c990edc467570d9665fbe251af2703
ircularPropagation.java
xplode.java
ade.java
atrixClippedDrawable.java
oveImage.java
idePropagation.java
lide.java
ransition.java
ransitionInflater.java
ransitionPropagation.java
ransitionSet.java
isibility.java
isibilityPropagation.java
cf68aad3164303df59b2a669d186a94533c9c743 06-Mar-2014 George Mount <mount@google.com> Fix problem with Animators pausing the wrong Window.

Bug 13347005

Because Windows can share a UI thread, pausing/resuming
Animators in transitions can affect other Windows. This
isolates the pause/resume to the Window being operated
on.

Change-Id: Iac84a0a2c838f30c309eea4931467ba758c6ba78
ransition.java
ransitionManager.java
ransitionSet.java
e180337ee99b9155fe441ea55451f4d2167b5d9a 26-Feb-2014 George Mount <mount@google.com> Change Activity Scene Transitions to be more automatic redo.

This reverts commit 206e30cd93afe3eb72ec94178324417db5424ed2
along with removing the additional startActivity* methods
and replaces them with ActivityOptions makeSceneTransitionAnimation
methods.

Change-Id: I52bec31ae3c4cea6d549810ae5a7acd8aea176d8
ransition.java
ransitionInflater.java
ransitionManager.java
206e30cd93afe3eb72ec94178324417db5424ed2 26-Feb-2014 George Mount <mount@google.com> Revert "Change Activity Scene Transitions to be more automatic."

This reverts commit f10587faadb9080a7bf9991cbe04bac5525da482.

Change-Id: I2785a3d2d6b667cad6d61dcbbc1c624161735fa4
ransition.java
ransitionInflater.java
ransitionManager.java
f10587faadb9080a7bf9991cbe04bac5525da482 06-Feb-2014 George Mount <mount@google.com> Change Activity Scene Transitions to be more automatic.

Shared element transitions are enabled by default
when the Window has a TransitionManager.

Shared element location and size are captured and
transferred to the target Activity.

ActionBar is treated as a shared element.

Change-Id: I0f22ea4e5cbe80254e848444e3f235cb742684f4
ransition.java
ransitionInflater.java
ransitionManager.java
0a778eda690a66173733a63622886e888d405c45 13-Dec-2013 George Mount <mount@google.com> Cross-Activity Scene transition API.

First pass at API for cross-Activity Scene transitions.
Remaining work:
Transition back
Automatically capture hero element info
Transfer of surface texture to synchronize between Activities
Possibly use scene names to indicate preferred transition

Change-Id: I59d07de1fae694a46b92b1c82525daa301ec1377
ransition.java
cfbe9be5b3b701d95fb24fa0f7c8d9be43eec776 06-Nov-2013 Adam Powell <adamp@google.com> Add support for cross-activity scenes and transitions

* Add theme attributes for specifying a top-level TransitionManager
for an activity window.

* Add window feature for automatic content transitions. This
automatically assigns/creates a Scene for setContentView calls.

* Add named transitions. This allows apps to define APIs for
handshake-agreements about which exit/entrance transitions to play.

* Add new transition type for ActivityOptions. This lets the system
use ActivityOptions to communicate transition specifics and
arguments to the called activity.

* Have ActivityManager pass appropriate ActivityOptions through to the
called Activity. Have the called activity call back into the caller
to let it know which transition of a possible requested set was
chosen.

Still to do:

* Define and pass arguments for transitions. This will require
defining a Parcelable version of TransitionValues and deciding how
much leeway apps should have for these things.

* Determine how to appropriately filter the ActivityOptions bundle so
that only appropriate data reaches the target.

* Determine if generalizing the auto-Scenes functionality to
ViewGroups is appropriate.

Change-Id: I10684b926129ab2fbc1adec9ef31767237acae79
ransitionInflater.java
ransitionManager.java
ab42aec4bc0311b2d36aaa85ad73dd91768d7e4c 07-Nov-2013 Adam Powell <adamp@google.com> Fix docs

Change-Id: Iaeef1812e3dfa76abe40468066860f73d8a10f79
cene.java
18e905f42d017c4721d33bd25d7d39ef8d64b5d5 24-Oct-2013 Adam Powell <adamp@google.com> Make Scenes and Transitions first-class in PhoneWindow/Themes

Add a window feature for content transitions. This implicitly creates
a Scene for each setContentView operation and runs the appropriate
transition. Applications can specify a TransitionManager XML in their
theme that will apply the appropriate transitions when these implicit
scene changes occur. Apps can specify a "to" with no "from" in a
transition to request an entrance transition for the given
content. This lays the groundwork for further full content
change/activity to activity transitions.

Change-Id: Ic815d9e0b9ce958152d70bf6ee01be075aa9fe88
cene.java
9f30380db3b14f8282d26d42d2b29591dbda1ed5 31-Oct-2013 Chet Haase <chet@google.com> am 93830ffb: am df52471c: am 5747919f: Merge "Fix leak in TransitionInflater" into klp-dev

* commit '93830ffb1479dad289958c96cc66c11d0efdae34':
Fix leak in TransitionInflater
5747919fed5180956387c50cb03671b9e67be1d5 31-Oct-2013 Chet Haase <chet@google.com> Merge "Fix leak in TransitionInflater" into klp-dev
58ad12208afcf9fdce735dead8449c4db375344d 30-Oct-2013 Chet Haase <chet@google.com> Fix leak in TransitionInflater

A static map in TransitionInflater keyed off of Context instances,
which could cause contexts/activities to leak over time. This
fix removes that map and simply creates a new inflater each time.
The savings of the cached inflater was minimal an unnecessary, and the
intended sharing is in the context embedded in the inflater anyway.

Issue #11436919 leak in TransitionInflator

Change-Id: Ic05ca47f57723bd572bb6143df4035d66eedf5ad
ransition.java
ransitionInflater.java
1e9a2478be45c94d38a240d80cf1fdd33134a3b7 25-Oct-2013 Adam Powell <adamp@google.com> am 098bc61f: am fd08694e: am 215add2e: Merge "Hide TransitionManager default transition methods" into klp-dev

* commit '098bc61f6c1683c63c5210025e1f65bb41d41037':
Hide TransitionManager default transition methods
1e9f3d868bab573072dcfa28d3b3f984de5a6756 25-Oct-2013 Adam Powell <adamp@google.com> Hide TransitionManager default transition methods

Pending future API consideration.

Change-Id: Ia4b162392e1c96b485bc28781a199bc2979ec53f
ransitionManager.java
75c74a4098e25bbcdcd927038adc4f251142e1e9 25-Oct-2013 Adam Powell <adamp@google.com> am c3661b16: am 1fcdee0d: am 92da1779: Merge "Fix bug in Scene\'s use of setTag" into klp-dev

* commit 'c3661b169876bf094f09f69f40349b598bf3a745':
Fix bug in Scene's use of setTag
f3c157721260b3cfc45874fc4f613ba2bd2e7f9e 25-Oct-2013 Adam Powell <adamp@google.com> Fix bug in Scene's use of setTag

setTagInternal must be used for framework resource IDs.

Bug 11374402

Change-Id: If4d256dbf05055dac70796edd8d7b94bf65d947d
cene.java
d5c54bba105d948ff8647fa6d71f61fdc6b60495 24-Oct-2013 Chet Haase <chet@google.com> am 39e991bd: am f8525caf: am 02e4c3a1: Merge "Cache Scene objects by layout ID on the scene root" into klp-dev

* commit '39e991bd5e477b6d3849ecf4824d4f247316a690':
Cache Scene objects by layout ID on the scene root
40a67888f91c2bb94c8654fbfe402f84795d17cf 23-Oct-2013 Adam Powell <adamp@google.com> Cache Scene objects by layout ID on the scene root

The current tracking of scene objects in a static ThreadLocal is
problematic as it leaks the Context associated with the SceneRoot and
returns the wrong Scene object if the same layout ID is used across
different scene roots.

Track Scene objects on the scene root view instead to avoid these
issues.

Change-Id: I891986897f757f2666897c937b5ebb0ed1d531c1
cene.java
28e8db1940ba49a503a85737b4348c72d470440c 23-Oct-2013 Chet Haase <chet@google.com> am 43757cc8: am 2a8eaff4: am c9d8e383: Merge "Fix leak with transitions when views get removed" into klp-dev

* commit '43757cc8438e85bf0633580c660c4861338f1da2':
Fix leak with transitions when views get removed
df32aa87150768795816852c6393306893467eca 22-Oct-2013 Chet Haase <chet@google.com> Fix leak with transitions when views get removed

Transitions, when started, add an OnPreDrawListener to the current
ViewTreeObserver (which is global to the view hierarchy). This listener
is removed when the listener is called.

It is possible to add this listener and then remove the view from
the hierarchy before the listener is called. This could result in
either the listener not getting called at all (since there was no
drawing event) or (in the case of this bug) the listener getting called
when the sceneRoot had no AttachInfo (which is the case when that
root has been removed from the hierarchy). This results in the listener
trying to remove itself from a *different* ViewTreeObserver than the one
it added itself to, leaving the actual listener still sitting on a list
of listeners in that original VTO. This can result in a growing list of
listeners and a growing amount of work that gets done on every frame.
It can also lead to a serious memory leak, since the objects referred to
by the transition may be non-trivial (as in the case of this bug).

The fix is to add another mechanism for the listener to get removed.
Specifically, we now listen for detach events on the sceneRoot. If that
view gets detached before the listener is called, then we have a chance to
remove it from the correct VTO before the AttachInfo becomes null.

Issue #11307391 keyguard is slow after updating to krt16c and playing music

Change-Id: I108413ea2f18f5351df0a11d4ae56fec0b4aa154
ransition.java
ransitionManager.java
1ffb280a7d2c70cc16d709c685f5d31fdb86b5e4 10-Oct-2013 George Mount <mount@google.com> Add ofArgb to ObjectAnimator and ValueAnimator.

Bug 10396985

Change-Id: Ib1fcea04b5a915800fc415b3d548a8853b05389c
ecolor.java
aafc91c05acfb2d5a95f46f27e1deb2dfaa15c32 06-Oct-2013 Chet Haase <chet@google.com> Fix resource-loading code for TransitionSet

The inflation code in TransitionInflater was using the wrong
tag ("set") for TransitionSet. This fix corrects that problem
(changing it to "transitionSet") and documents the correct
tag in the TransitionSet javadocs.

Issue #11085279 Transitions: transition sets loaded from resources don't work

Change-Id: I8aaea9f31bbe368cffcca63d4eb6a5ec06c3ce7b
ransitionInflater.java
ransitionSet.java
aa006133228facf2f9b61e0492fd8f724fac472f 04-Oct-2013 Chet Haase <chet@google.com> Enable transitions in lockscreen media controller

Media controller now fades between different states. The code for
doing this was already there, but this CL enables them and changes
the behavior of transition's OnPreDrawListener to do the right thing.

Also, this CL fixes a bug in ChangeText found while testing this change.

Issue #11083563 ChangeText transition crashes when KEEP transition type used

Change-Id: I5e04c28e1b5faac017b0a4e49734d9faa7fe79cd
hangeText.java
ransitionManager.java
b7a7fc9d233bad507ce893882352618b13647058 21-Sep-2013 Chet Haase <chet@google.com> Make fading transitions work better

Previously, a Fade transition would only affect a view if its
parent hierarchy was not also affected between the start/end states.
This caused problems for views which were removed from their parents
between scenes when their parents' visibility also changed between those
scenes. The effect would be that the transition would fade the parent...
but the child would no longer be in that parent, so the user would just see the
child view blink out.

This fix ensure that views are faded appropriately by fading them
regardless the parent hierarchy; if a view is removed from its
parent, fade it out.

Additionally, if that view has not been removed from its parent, but
its parent is no longer parented *and* scene being
transitioned from is based on a layout resource file (and thus
the views are considered temporary after transitioning), then it is
removed from its parent to be faded out in the overlay.

Also, renamed TextChange to ChangeText to be more consistent with
other transition class names.

Change-Id: I4e0e7dfc9e9d95c7a4ca586534b6d204c4f3bae0
hangeText.java
ade.java
cene.java
extChange.java
ransition.java
ransitionManager.java
ransitionSet.java
isibility.java
d8d7c38533d20062166e5e7ef89b80ff9dbd8903 23-Sep-2013 Chet Haase <chet@google.com> Disable ActionBar usage of transitions

Various artifacts across apps were coming from ActionBar's use of
the new transitions framework. Disabling transitions for now to get
things back to a more stable state.

Also, fixed some related bugs in transitions themselves, including
a change in TextChange to account for text selection, which was causing
errors in Keep's SearchView.

Issue #10860557 TextChange animator may old stale value
Issue #10819685 sometimes icons are lighter
Issue #10750525 Share and Settings icons overlap when stopping slideshow
Issue #10839551 Sometimes the search text box is right-aligned in Keep
Issue #10727484 Cursor incorrectly positioned after entering first letter during search action in keep app

Change-Id: Iad7cbf3297e18018308b8148b3519b032e63dace
extChange.java
ransition.java
9b985721dafaa28d1aa34499d23a83afc6d0a2fa 19-Sep-2013 Chet Haase <chet@google.com> Add equals() and hashcode() to SpannableString

ActionBar uses a transition to animate text changes. This transition
depends on testing the equality of start/end text values in CharSequence
objects. Without equals(), SpannableString will return false for objects
whose references are different, but whose text is exactly the same.

This CL adds the equals() method, and the accompanying hashcode method,
to ensure that two Spanned implementations will always be equal
if their text and span data are equal.

Issue #10760075 Wrong unread count in actionbar

Change-Id: I5e77d40dd302eca035e8c56d40f3cd0aef8e6424
extChange.java
c46181a963be736186ae29101625a05b5c1f0ba8 16-Sep-2013 Chet Haase <chet@google.com> Use transition-only alpha property for fading transitions

The original bug is fixed already, but showed up some problems in
the underlying fade-transition implementation. This fix addresses
those and other issues. The biggest part of the change should help
transition robustness in general, as it removes the dependency on the
public 'alpha' property of views and uses, instead, a new hidden property
on views called 'transitionAlpha'. This is a value which is normally
opaque (1), but which can be used by transitions (only) to animate the
translucency of views without disturbing the actual 'alpha' value which
might be manipulated outside of transitions. This should make transitions
much more robust in general.

In implementing and testing this overall fix, I noticed a couple of things
about transitions that were simply wrong (such as starting fades from the
wrong start value, and incorrectly avoiding transitions on some views
that didn't happen to have ids), and those are fixed in this CL as well.

Issue #10726905 ActionBar weirdness in People app
Issue #10727937 Menu items in gallery appear in faded color after selecting an image/album by long press

Change-Id: If1618446db10c1bfcff4761449241de4f559afc1
ade.java
ransition.java
ransitionSet.java
23c61f6bc57a611d97d333bce0d8fe00ab81af4c 14-Sep-2013 Chet Haase <chet@google.com> Ensure that transitions animating alpha end on a reasonable value

The Fade transition sets an initial alpha value of 0 when items are
appearing. This makes items invisible to start with, and then they
eventually fade in as part of the transition when the transition's
animation runs.

But if that animation/transition gets interrupted, or not started, then
the alpha value would not be restored, and the value would stay 0,
making the items invisible indefinitely. This is what was happening in
the action bar of the People app when performing a search.

The fix is to handle Transition and animation events to restore the alpha
to its true value when the transition completes, whether that
transition is canceled or not.

Issue #10726905 ActionBar weirdness in People app

Change-Id: Idb65fd8d471d2ac0a1ddc243fee00ae99f7e72d8
ade.java
ransition.java
ransitionManager.java
7660d121b2ef21164ed33e6091e5dd50f5d0f939 13-Sep-2013 Chet Haase <chet@google.com> Plug leaks in transitions

Transitions were leaking views due to TransitionsValues holding references
to views/parents. The references were fine, but the retention of the transition
objects themselves were not. There were a few different places that needed to
be plugged:
- clones were not making new copies of some fields, leading to caching references
in the original object (which was then cloned later to other clones)
- Visibility was using a persistent field to cache temporary values. This transition,
when cloned, would retain these instances, keeping references to views
- ViewTreeObserver had a bug that would leak listeners

Issue #10749071 Activity instance leak between TransitionManager and InputMethodManager

Change-Id: I1d5d457dc5e020c7b9e8392a95e3b2c488461119
ransition.java
ransitionManager.java
isibility.java
7d077d0364535a9865db2884bf3c3ed93db127be 14-Sep-2013 Chet Haase <chet@google.com> Disable ActionBar transitions

A problem with transitions is causing various ActionBar icons to go
missing occasionally. This CL disables these transitions for now
to allow ActionBar to work as expected.

Issue #10726905 ActionBar weirdness in People app

Change-Id: I0cb774840ae84cbb733d65865f8c1b4c6d7490fa
ransitionManager.java
90b10f89d7c1dd217f07f4b51ed8e5c93deccc52 12-Sep-2013 Chet Haase <chet@google.com> Merge "Fix TechChange's assumption about TextView targets" into klp-dev
8529b30b91a3af235cda52ea0889ae9af7590129 12-Sep-2013 Chet Haase <chet@google.com> Fix TechChange's assumption about TextView targets

Some of the code in the TextChange transition assumed that the
start values for a transition were for a TextView object. This may
not be the case, and we should return early (without creating an
animator) when it is not.

Issue #10725388 Frequent Framework crashes across apps

Change-Id: I6999eb2288f107f4b93ddb5b77cd068069d831ed
extChange.java
ff58f92a0a77ad849ba714b5adac96790eca0048 11-Sep-2013 Chet Haase <chet@google.com> Add exclude() methods to Transition

It would be useful for a transition to declare not just which
targets it wants to be run on, but also which targets it wants
to avoid. For example, you may not want to animate the items of
a ListView, or some other specific target in the view hierarchy.

This change adds various exclude*() methods which make it
possible to alter a transition to automatically ignore specific
views, ids, or classes in the hierarchy.

Issue #10692794 Transitions: Need API for excluding targets

Change-Id: If38025cdbee537a545e5a4268cbbd763af4622c5
ransition.java
ransitionInflater.java
ransitionSet.java
a56205c485deb5a95c1e4f79ef2b09d14cbc9524 10-Sep-2013 Chet Haase <chet@google.com> Fix for transition layout suppression

The ChangeBounds transition causes its target view parents to suppress
layout for the duration of the transition. This is done to avoid artifacts
caused by running layout while layout bounds are being animated between
different scene values.

In order to react correctly to new transition/scene information (such as
running a new transition while another is already running), the transition
system calls pause() on all running transitions to allow layout (among other
things) to work correctly, then resume() after this is finished. This works
in general, but pause/resume do not take account of child transitions that
have already played and ended. ChangeBounds, uses pause/resume to
restore normal layout and re-enable layout suppression. This means that
when resume() is called on a ChangeBounds transition that has already
ended, that transition will leave the parent in a suppressed-layout
state, basically forever. This can cause artifacts like we're seeing in
recent ActionBar changes where the account spinner is never repopulated because
layout is never allowed to run.

The fix is to note when a transition ends and noop future calls to pause/resume.

Issue #10648936 Transitions don't work with new ActionBar functionality

Change-Id: Id9d41c0352b2270d46cfd5ad4dba130767bbf303
ransition.java
2a83181bd1a025eb8a1763b11ae9ba33925625b3 07-Sep-2013 Chet Haase <chet@google.com> TextChange transition now uses CharSequence instead of String

TextChange made a bad assumption that target text views contained
String objects as their text, which is not always the case. For example,
Gmail ActionBar text views may contain SpannableString objects, which
caused a crash due to a bad cast operation.

Fix is to simply use CharSequence instead of String as the value that
is being stored and set on the text view.

Issue #10651858 TextChange transition casts CharSequence to String when not necessarily safe

Change-Id: I3f67f5d5e39201dc0fd2edcd3e4243033cf9ae08
extChange.java
d82c8ac4db7091d2e976af4c89a1734465d20cd2 26-Aug-2013 Chet Haase <chet@google.com> Transition API changes from API council recommendations

Issue #10460684 KLP API Review: android.view.transition and android.animation
Issue #10570740 Transitions: inflate transition targets from xml

Change-Id: I7a3f6d3aece2fcafc5efd555d033f79e86635c98
utoTransition.java
hangeBounds.java
rossfade.java
ade.java
ecolor.java
otate.java
cene.java
lide.java
extChange.java
ransition.java
ransitionInflater.java
ransitionManager.java
ransitionSet.java
ransitionValues.java
ransitionValuesMaps.java
isibility.java
ackage.html