Loading core/java/android/animation/TimeInterpolator.java +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ package android.animation; public interface TimeInterpolator { /** * Maps a value representing the elapsed fraciton of an animation to a value that represents * Maps a value representing the elapsed fraction of an animation to a value that represents * the interpolated fraction. This interpolated value is then multiplied by the change in * value of an animation to derive the animated value at the current elapsed animation time. * Loading core/java/android/animation/ValueAnimator.java +1 −1 Original line number Diff line number Diff line Loading @@ -523,7 +523,6 @@ public class ValueAnimator extends Animator { for (int i = 0; i < numValues; ++i) { mValues[i].init(); } mCurrentIteration = 0; mInitialized = true; } } Loading Loading @@ -933,6 +932,7 @@ public class ValueAnimator extends Animator { // This sets the initial value of the animation, prior to actually starting it running setCurrentPlayTime(getCurrentPlayTime()); } mCurrentIteration = 0; mPlayingState = STOPPED; mStartedDelay = false; sPendingAnimations.add(this); Loading core/java/android/view/DisplayList.java +0 −6 Original line number Diff line number Diff line Loading @@ -38,12 +38,6 @@ abstract class DisplayList { */ abstract void end(); /** * Frees resources taken by this display list. This method must be called * before releasing all references. */ abstract void destroy(); /** * Indicates whether this display list can be replayed or not. * Loading core/java/android/view/GLES20Canvas.java +26 −8 Original line number Diff line number Diff line Loading @@ -34,6 +34,11 @@ import android.text.GraphicsOperations; import android.text.SpannableString; import android.text.SpannedString; import android.text.TextUtils; import android.util.Finalizers; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * An implementation of Canvas on top of OpenGL ES 2.0. Loading Loading @@ -84,22 +89,35 @@ class GLES20Canvas extends HardwareCanvas { if (mRenderer == 0) { throw new IllegalStateException("Could not create GLES20Canvas renderer"); } else { new CanvasFinalizer(this); } } private native int nCreateRenderer(); private native int nCreateDisplayListRenderer(); private static native void nDestroyRenderer(int renderer); private static class CanvasFinalizer extends Finalizers.ReclaimableReference<GLES20Canvas> { private static final Set<CanvasFinalizer> sFinalizers = Collections.synchronizedSet( new HashSet<CanvasFinalizer>()); private int mRenderer; CanvasFinalizer(GLES20Canvas canvas) { super(canvas, Finalizers.getQueue()); mRenderer = canvas.mRenderer; sFinalizers.add(this); } @Override public synchronized void destroy() { if (mRenderer != 0) { public void reclaim() { nDestroyRenderer(mRenderer); mRenderer = 0; sFinalizers.remove(this); } } private native void nDestroyRenderer(int renderer); /////////////////////////////////////////////////////////////////////////// // Canvas management /////////////////////////////////////////////////////////////////////////// Loading Loading @@ -178,11 +196,11 @@ class GLES20Canvas extends HardwareCanvas { private native int nCreateDisplayList(int renderer); void destroyDisplayList(int displayList) { static void destroyDisplayList(int displayList) { nDestroyDisplayList(displayList); } private native void nDestroyDisplayList(int displayList); private static native void nDestroyDisplayList(int displayList); @Override public void drawDisplayList(DisplayList displayList) { Loading core/java/android/view/GLES20DisplayList.java +26 −17 Original line number Diff line number Diff line Loading @@ -16,6 +16,12 @@ package android.view; import android.util.Finalizers; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * An implementation of display list for OpenGL ES 2.0. */ Loading @@ -33,8 +39,6 @@ class GLES20DisplayList extends DisplayList { throw new IllegalStateException("Recording has already started"); } destroyCanvas(); mCanvas = new GLES20Canvas(true, true); mStarted = true; mRecorded = false; Loading @@ -42,16 +46,6 @@ class GLES20DisplayList extends DisplayList { return mCanvas; } private void destroyCanvas() { if (mCanvas != null) { mCanvas.destroyDisplayList(mNativeDisplayList); mCanvas.destroy(); mCanvas = null; mNativeDisplayList = 0; } } @Override void end() { if (mCanvas != null) { Loading @@ -59,16 +53,31 @@ class GLES20DisplayList extends DisplayList { mRecorded = true; mNativeDisplayList = mCanvas.getDisplayList(); new DisplayListFinalizer(this); } } @Override void destroy() { destroyCanvas(); boolean isReady() { return !mStarted && mRecorded; } private static class DisplayListFinalizer extends Finalizers.ReclaimableReference<DisplayList> { private static final Set<DisplayListFinalizer> sFinalizers = Collections.synchronizedSet( new HashSet<DisplayListFinalizer>()); private int mNativeDisplayList; DisplayListFinalizer(GLES20DisplayList displayList) { super(displayList, Finalizers.getQueue()); mNativeDisplayList = displayList.mNativeDisplayList; sFinalizers.add(this); } @Override boolean isReady() { return !mStarted && mRecorded; public void reclaim() { GLES20Canvas.destroyDisplayList(mNativeDisplayList); sFinalizers.remove(this); } } } Loading
core/java/android/animation/TimeInterpolator.java +1 −1 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ package android.animation; public interface TimeInterpolator { /** * Maps a value representing the elapsed fraciton of an animation to a value that represents * Maps a value representing the elapsed fraction of an animation to a value that represents * the interpolated fraction. This interpolated value is then multiplied by the change in * value of an animation to derive the animated value at the current elapsed animation time. * Loading
core/java/android/animation/ValueAnimator.java +1 −1 Original line number Diff line number Diff line Loading @@ -523,7 +523,6 @@ public class ValueAnimator extends Animator { for (int i = 0; i < numValues; ++i) { mValues[i].init(); } mCurrentIteration = 0; mInitialized = true; } } Loading Loading @@ -933,6 +932,7 @@ public class ValueAnimator extends Animator { // This sets the initial value of the animation, prior to actually starting it running setCurrentPlayTime(getCurrentPlayTime()); } mCurrentIteration = 0; mPlayingState = STOPPED; mStartedDelay = false; sPendingAnimations.add(this); Loading
core/java/android/view/DisplayList.java +0 −6 Original line number Diff line number Diff line Loading @@ -38,12 +38,6 @@ abstract class DisplayList { */ abstract void end(); /** * Frees resources taken by this display list. This method must be called * before releasing all references. */ abstract void destroy(); /** * Indicates whether this display list can be replayed or not. * Loading
core/java/android/view/GLES20Canvas.java +26 −8 Original line number Diff line number Diff line Loading @@ -34,6 +34,11 @@ import android.text.GraphicsOperations; import android.text.SpannableString; import android.text.SpannedString; import android.text.TextUtils; import android.util.Finalizers; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * An implementation of Canvas on top of OpenGL ES 2.0. Loading Loading @@ -84,22 +89,35 @@ class GLES20Canvas extends HardwareCanvas { if (mRenderer == 0) { throw new IllegalStateException("Could not create GLES20Canvas renderer"); } else { new CanvasFinalizer(this); } } private native int nCreateRenderer(); private native int nCreateDisplayListRenderer(); private static native void nDestroyRenderer(int renderer); private static class CanvasFinalizer extends Finalizers.ReclaimableReference<GLES20Canvas> { private static final Set<CanvasFinalizer> sFinalizers = Collections.synchronizedSet( new HashSet<CanvasFinalizer>()); private int mRenderer; CanvasFinalizer(GLES20Canvas canvas) { super(canvas, Finalizers.getQueue()); mRenderer = canvas.mRenderer; sFinalizers.add(this); } @Override public synchronized void destroy() { if (mRenderer != 0) { public void reclaim() { nDestroyRenderer(mRenderer); mRenderer = 0; sFinalizers.remove(this); } } private native void nDestroyRenderer(int renderer); /////////////////////////////////////////////////////////////////////////// // Canvas management /////////////////////////////////////////////////////////////////////////// Loading Loading @@ -178,11 +196,11 @@ class GLES20Canvas extends HardwareCanvas { private native int nCreateDisplayList(int renderer); void destroyDisplayList(int displayList) { static void destroyDisplayList(int displayList) { nDestroyDisplayList(displayList); } private native void nDestroyDisplayList(int displayList); private static native void nDestroyDisplayList(int displayList); @Override public void drawDisplayList(DisplayList displayList) { Loading
core/java/android/view/GLES20DisplayList.java +26 −17 Original line number Diff line number Diff line Loading @@ -16,6 +16,12 @@ package android.view; import android.util.Finalizers; import java.util.Collections; import java.util.HashSet; import java.util.Set; /** * An implementation of display list for OpenGL ES 2.0. */ Loading @@ -33,8 +39,6 @@ class GLES20DisplayList extends DisplayList { throw new IllegalStateException("Recording has already started"); } destroyCanvas(); mCanvas = new GLES20Canvas(true, true); mStarted = true; mRecorded = false; Loading @@ -42,16 +46,6 @@ class GLES20DisplayList extends DisplayList { return mCanvas; } private void destroyCanvas() { if (mCanvas != null) { mCanvas.destroyDisplayList(mNativeDisplayList); mCanvas.destroy(); mCanvas = null; mNativeDisplayList = 0; } } @Override void end() { if (mCanvas != null) { Loading @@ -59,16 +53,31 @@ class GLES20DisplayList extends DisplayList { mRecorded = true; mNativeDisplayList = mCanvas.getDisplayList(); new DisplayListFinalizer(this); } } @Override void destroy() { destroyCanvas(); boolean isReady() { return !mStarted && mRecorded; } private static class DisplayListFinalizer extends Finalizers.ReclaimableReference<DisplayList> { private static final Set<DisplayListFinalizer> sFinalizers = Collections.synchronizedSet( new HashSet<DisplayListFinalizer>()); private int mNativeDisplayList; DisplayListFinalizer(GLES20DisplayList displayList) { super(displayList, Finalizers.getQueue()); mNativeDisplayList = displayList.mNativeDisplayList; sFinalizers.add(this); } @Override boolean isReady() { return !mStarted && mRecorded; public void reclaim() { GLES20Canvas.destroyDisplayList(mNativeDisplayList); sFinalizers.remove(this); } } }