summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-07-15 14:29:33 -0700
committerJohn Reck <jreck@google.com>2014-07-18 22:10:22 +0000
commitd3de42cae84fadfa1befd082a2cf1bf72f9ad82a (patch)
treee3bff6900caa9cc6546dc6e843f37414192fcc74 /core/jni
parentfac77c46fe03466cb4bd728da3dc49b40652964b (diff)
downloadframeworks_base-d3de42cae84fadfa1befd082a2cf1bf72f9ad82a.zip
frameworks_base-d3de42cae84fadfa1befd082a2cf1bf72f9ad82a.tar.gz
frameworks_base-d3de42cae84fadfa1befd082a2cf1bf72f9ad82a.tar.bz2
Add RT-enabled reveal animator
Bug: 16161431 Also re-writes RevealAnimator to avoid using any listeners internally, removing the logic around shadowing the update listeners. Change-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_view_RenderNodeAnimator.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/core/jni/android_view_RenderNodeAnimator.cpp b/core/jni/android_view_RenderNodeAnimator.cpp
index ed57979..7c0c6ef 100644
--- a/core/jni/android_view_RenderNodeAnimator.cpp
+++ b/core/jni/android_view_RenderNodeAnimator.cpp
@@ -116,6 +116,14 @@ static jlong createCanvasPropertyPaintAnimator(JNIEnv* env, jobject clazz,
return reinterpret_cast<jlong>( animator );
}
+static jlong createRevealAnimator(JNIEnv* env, jobject clazz, jobject weakThis,
+ jint centerX, jint centerY, jboolean inverseClip, jfloat startRadius, jfloat endRadius) {
+ BaseRenderNodeAnimator* animator = new RevealAnimator(centerX, centerY, inverseClip,
+ startRadius, endRadius);
+ animator->setListener(new AnimationListenerBridge(env, weakThis));
+ return reinterpret_cast<jlong>( animator );
+}
+
static void setStartValue(JNIEnv* env, jobject clazz, jlong animatorPtr, jfloat startValue) {
BaseRenderNodeAnimator* animator = reinterpret_cast<BaseRenderNodeAnimator*>(animatorPtr);
animator->setStartValue(startValue);
@@ -154,9 +162,9 @@ static void start(JNIEnv* env, jobject clazz, jlong animatorPtr) {
animator->start();
}
-static void cancel(JNIEnv* env, jobject clazz, jlong animatorPtr) {
+static void end(JNIEnv* env, jobject clazz, jlong animatorPtr) {
BaseRenderNodeAnimator* animator = reinterpret_cast<BaseRenderNodeAnimator*>(animatorPtr);
- animator->cancel();
+ animator->end();
}
#endif
@@ -172,6 +180,7 @@ static JNINativeMethod gMethods[] = {
{ "nCreateAnimator", "(Ljava/lang/ref/WeakReference;IF)J", (void*) createAnimator },
{ "nCreateCanvasPropertyFloatAnimator", "(Ljava/lang/ref/WeakReference;JF)J", (void*) createCanvasPropertyFloatAnimator },
{ "nCreateCanvasPropertyPaintAnimator", "(Ljava/lang/ref/WeakReference;JIF)J", (void*) createCanvasPropertyPaintAnimator },
+ { "nCreateRevealAnimator", "(Ljava/lang/ref/WeakReference;IIZFF)J", (void*) createRevealAnimator },
{ "nSetStartValue", "(JF)V", (void*) setStartValue },
{ "nSetDuration", "(JJ)V", (void*) setDuration },
{ "nGetDuration", "(J)J", (void*) getDuration },
@@ -179,7 +188,7 @@ static JNINativeMethod gMethods[] = {
{ "nGetStartDelay", "(J)J", (void*) getStartDelay },
{ "nSetInterpolator", "(JJ)V", (void*) setInterpolator },
{ "nStart", "(J)V", (void*) start },
- { "nCancel", "(J)V", (void*) cancel },
+ { "nEnd", "(J)V", (void*) end },
#endif
};