History log of /frameworks/base/core/java/android/transition/TransitionManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/base/core/java/android/transition/TransitionManager.java
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
/frameworks/base/core/java/android/transition/TransitionManager.java
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
/frameworks/base/core/java/android/transition/TransitionManager.java
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
/frameworks/base/core/java/android/transition/TransitionManager.java
478673ede2142d01e93865ed123b0d32373c4cd9 31-Mar-2015 George Mount <mount@google.com> Make TransitionManager.endTransitions() public.

Bug 19231835

Change-Id: I151bae1d10aaab72f8fea73eaf0538f0aa5d810a
/frameworks/base/core/java/android/transition/TransitionManager.java
96e54dcfa4e2f5295b0441971f10906eeaa35328 04-Mar-2015 George Mount <mount@google.com> Fix TransitionManager.go not running transition.

Bug 19459362

Change-Id: I17595390c9fb289dec8de44447ca490c46570fb4
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.java
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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.java
1e9f3d868bab573072dcfa28d3b3f984de5a6756 25-Oct-2013 Adam Powell <adamp@google.com> Hide TransitionManager default transition methods

Pending future API consideration.

Change-Id: Ia4b162392e1c96b485bc28781a199bc2979ec53f
/frameworks/base/core/java/android/transition/TransitionManager.java
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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.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
/frameworks/base/core/java/android/transition/TransitionManager.java