History log of /frameworks/base/core/java/android/view/ViewPropertyAnimator.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dcfbd6a2c99fa9f77c8ffec81c36d28e21ac18a7 09-May-2013 Chet Haase <chet@google.com> Fix start delay jank in ViewPropertyAnimator

Issue #8892620 start delay jank in ViewPropertyAnimator

Change-Id: I17a57ac3351fb2c1516b594d135aa9ce9f78c88e
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
8bba7510bc96d5404c070a4846318ee6a9eb1365 17-Apr-2013 Chet Haase <chet@google.com> Fix build - remove obsolete import of Animatable

Change-Id: I3133669386f50177c863f8a58733be771f819a17
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
430742f09063574271e6c4091de13b9b9e762514 12-Apr-2013 Chet Haase <chet@google.com> API and doc cleanup, plus small animation/UI features

Adding features which round out the animation APIs (missing
getters, etc.). Also fix doc typos.

Issue #8350510 Add APIs needed for future animation capabilities

Change-Id: I063736848ba26e6d6c809b15fc3a103c74222f46
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
8ee2a70f08f54314d3ff0cd571a7ea9337065389 18-Dec-2012 Robert Ly <robertly@google.com> change onEnd() to withEndAction() in javadocs

Change-Id: Ic9a04bf86d62249b47dc654052d58797dfc3990c
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
4702a856973a553deb82f71b1d3b6c3db5dbf4ba 18-Aug-2012 Dianne Hackborn <hackbod@google.com> More view hierarchy, fragment debugging.

Add a View.toString() method.

Rename all of the View private flags to have a PFLAG prefix to
avoid going insane trying to figure out which constant goes with
which flag.

Activity.dump() now includes a summary of the activity's view
hierarchy, using the View.toString() method.

All exceptions thrown by FragmentManager now perform a dump of
the owning activity state, where appropriate.

Change-Id: I6482e397e10cb5a0612ab02ce6ed5131823437a6
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
500998d401e1c936bf60facecd5e9699d2eadb66 14-May-2012 Michael Jurka <mikejurka@google.com> Prevent ViewPropertyAnimators from getting started twice
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
cb150fe9e6495256019b02be51e736679b57c1b5 04-May-2012 Chet Haase <chet@google.com> Minor doc fixes for animation- and view-related things

Issue #6016341 Add info about properties and ViewPropertyAnimator to View reference docs
Issue #6441062 Misleading docs in ViewPropertyAnimator

Change-Id: Ica7c026c770fe2e57013fe443ede5428cd6b6604
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
1271e2cc80b01d577e9db339459ef0222bb9320d 20-Apr-2012 Chet Haase <chet@google.com> Remove USE_DISPLAY_LIST_PROPERTIES flag

This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.

At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.

Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
563d4f2d461d264457b7e7068e2fc7b9b0bcafb3 19-Apr-2012 Chet Haase <chet@google.com> Make ViewPropertyAnimator ListView-animation-capable

ViewPropertyAnimator now sets the hasTransientState flag in View to tell
it when an animation has started (and unsets it when the animation ends).
This allows ListView to retain views with transient state without recycling them,
which makes ListView item animation possible (because you can't animate a View
if it's being recycled and reused elsewhere as it moves into and out of view).

Change-Id: I75c26a7a56474a76428500afef03a80bb46e04e0
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
db8c9a6a4d9bf8c39f834b25611926caf21380f6 22-Mar-2012 Chet Haase <chet@google.com> Optimization of alpha with DisplayList properties

Some views (such as ImageView and TextView) handle non-opaque alpha
values directly. This was originally an optimization, but we can handle it faster
in many cases without this optimization when DisplayList properties are enabled.
Basically, if a view has non-overlapping rendering, we set the alpha value directly
on the renderer (the equivalent of setting it on the Paint object) and draw each
primitive with that alpha value. Doing it this way avoids re-creating DisplayLists
while getting the same speedup that onSetAlpha() used to get pre-DisplayList properties.

Change-Id: I0f7827f075d3b35093a882d4adbb300a1063c288
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
9d1992deaeb3d60d5928f05b649a2cc654ba98a3 13-Mar-2012 Chet Haase <chet@google.com> Optimizing DisplayList properties

DisplayList properties are still disabled default (flags in View.java
and DisplayListRenderer.h). When they are enabled, and when a View has
a DisplayList, invalidations due to property changes are now optimized
to avoid causing DisplayList recreation. This eliminates the drawing step
of invalidation (due to changes in these properties), only requiring
issuing the previously-created DisplayList to the GL renderer. Invalidation
is slightly faster (less overhead as we walk up the hierarchy), getDisplayList()
is potentially much faster (going down to ~0ms), depending on the complexity
of the View being redrawn and the size of the invalidated hierarchy.

Change-Id: I57587d5b810c3595bdd72a6c52349c2a3d1bdf25
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
a1cff5043d0fbd78fcf9c48e7658e56a5b0c2de3 21-Feb-2012 Chet Haase <chet@google.com> Handle view properties at the native level

Basic functionality of handling View properties (transforms,
left/right/top/bottom, and alpha) at the native DisplayList level.
This logic is disabled for now (via compile-time flags in View.java and
DisplayListRenderer.h) as we continue work on it (there is no advantage
to the new approach until we optimize invalidation and rendering paths
to use the new code path).

Change-Id: I370c8d21fbd291be415f55515ab8dced6f6d51a3
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
c1ca665827f0c34419a55c005254c1aaa0d58b40 31-Jan-2012 Chet Haase <chet@google.com> Add new ViewPropertyAnimator utility methods

Users have requested the ability to sequence ViewPropertyAnimator
animations. it is not possible with AnimatorSet, which only takes objects
of type Animator (which VPA does not extend). But the AnimatorSet model
is not appropriate for VPA anyway, since it is not possible to set up
a VPA ahead of time to start later; it's just not the way that VPA is
intended to work.

Instead, there are now two new methods on VPA, onStart() and onEnd(). These
methods take a Runnable which is executed when the animation starts or ends.
These methods should allow other VPAs or other arbitrary code to execute at the
start or finish of any particular VPA animation, allowing simple sequencing
without the overhead of creating listeners and monitoring the cancelation status
of the VPA.

Additionally, this change adds a new method withLayer() which sets a hardware
layer on the VPA's target view for the duration of the animation. This
was already possible, but required writing boilerplate code to create a listener
and override the start/end methods to add and remove the layer. This utility method
makes this common use case much simpler and less error-prone.

Change-Id: I819978517e17c647ffb7028063cd0adde68ff691
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
0c6d83cc5625f967eb2e23cc7c232874cd9e60f9 01-Dec-2011 Chet Haase <chet@google.com> Protect code in ViewPropertyAnimator from potential null deref

The monkeys threw a NullPointerException in ViewPropertyAnimator, from
calling into a data structure that should have been not null. Not sure what
weird onkey-driven timing issue caused the problem, but protecting the null
deref is easy and safe.

Issue 5626496

Change-Id: I902b510db60a8a85f776f48582ae0326522a9400
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
ddb715b238c098d8b561a44b9687f0bc67a4c141 09-Sep-2011 Dianne Hackborn <hackbod@google.com> Pull animation attributes out of main view class.

These are now in a separate class that is only allocated when
needed by the view.

Change-Id: I9601bb43b3b4bfdabd982b02f7cd7534437b8ac3
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
cbbd93ae701b9af2e5054d59286bdbf6275c2838 09-Aug-2011 Chet Haase <chet@google.com> Fix ViewPropertyAnimator duration and startDelay issues

getDuration() wasn't returning the correct thing in some cases, and
setStartDelay() had no effect whatsoever. Fixed those.

Change-Id: I89f930535ec1acddf57227937a9ad64986548998
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
3a000a52d6863bd1c6c9822a9cfd83e00f3aaf79 16-Jun-2011 Chet Haase <chet@google.com> Fix crash in ViewPropertyAnimator for unparented view.

Mechanism for removing possible earlier animations should
call removeCallbacks on the view, not on the (possibly null)
handler of the view.

Change-Id: I76c6f0bea5e009be9197a6e49e9360ed9ef1a9cb
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
8d5f808f70c1d47437eaf49234c1b3a23c244040 24-May-2011 Chet Haase <chet@google.com> Add more functionality to ViewPropertyAnimator.

Allow ViewPropertyAnimator animations to be started immediately, canceled,
and to have an optional startDelay. This is functionality parallel to that
in the base Animator class.

Change-Id: I391f1810bf697656999bd6e3e63a59e46eb7eb8a
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
d666cf320db4134938f72b0ffe18212997f8c8d8 01-Mar-2011 Chet Haase <chet@google.com> Cleanup of docs for ViewPropertyAnimator class

Fixed the copyright date, spec'd auto-canceling behavior of various methods,
fixed various typos.

Change-Id: I0db74787275890557a3ad8d617b69daeef2413ee
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
ba592d200390d89723682f1a7e40d308d7804b36 25-Feb-2011 Chet Haase <chet@google.com> ViewPropertyAnimator cancels prior animations

The initial approach of VPA was to cancel previous animations
on the same exact set of properties. This worked in most cases,
but if the new animation had a different set of properties
(like animating alpha, x, and y instead of just x and y), then
there was a possible artifact as the old animation continued to
run in the background and could show the button in the wrong
location as a result.

The new approach is to search all running animations for
a property when a new animation is requested on it and to
remove that property from the list of properties being animated
by that previous animation. The prior animations continue to
run, but will no longer update that property, which will now be
controlled solely by the new animation requested.

Change-Id: Ib35d54a5e91be0a1310725be6e2acbaa6ead4a4e
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java
a00f3865f55c5c9cb74510ee2b239d101230133c 22-Feb-2011 Chet Haase <chet@google.com> Add ViewPropertyAnimator for easy animation of View properties

Change-Id: I2bc52ca16507d8d20004d2d6823e587791272aac
/frameworks/base/core/java/android/view/ViewPropertyAnimator.java