aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2013-08-19 23:08:06 +0200
committerJorge Ruesga <jorge@ruesga.com>2013-08-19 23:08:06 +0200
commit8a28e0b1dd9386c70732860e71d5ee91643d61f8 (patch)
treef840965e28d7412a7ca04d3f4f95a9e50e037004 /src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java
parentfaee676e463486aee0d34c5df8a8b935c5412829 (diff)
downloadandroid_packages_wallpapers_PhotoPhase-8a28e0b1dd9386c70732860e71d5ee91643d61f8.tar.gz
android_packages_wallpapers_PhotoPhase-8a28e0b1dd9386c70732860e71d5ee91643d61f8.tar.bz2
android_packages_wallpapers_PhotoPhase-8a28e0b1dd9386c70732860e71d5ee91643d61f8.zip
Fix some memory leaks and improve allocations (#26)
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java')
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java b/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java
index 295add9..8d0bf79 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/transitions/FlipTransition.java
@@ -57,6 +57,8 @@ public class FlipTransition extends Transition {
private FLIP_MODES mMode;
+ private float[] mTranslationMatrix;
+
private boolean mRunning;
private long mTime;
@@ -70,6 +72,7 @@ public class FlipTransition extends Transition {
super(ctx, tm, VERTEX_SHADER, FRAGMENT_SHADER);
// Initialized
+ mTranslationMatrix = new float[16];
reset();
}
@@ -233,12 +236,11 @@ public class FlipTransition extends Transition {
}
// Apply the projection and view transformation
- float[] translationMatrix = new float[16];
Matrix.setIdentityM(matrix, 0);
- Matrix.translateM(translationMatrix, 0, matrix, 0, -translateX, -translateY, 0.0f);
- Matrix.rotateM(translationMatrix, 0, translationMatrix, 0, angle, rotateX, rotateY, 0.0f);
- Matrix.translateM(translationMatrix, 0, translationMatrix, 0, translateX, translateY, 0.0f);
- GLES20.glUniformMatrix4fv(mMVPMatrixHandlers[index], 1, false, translationMatrix, 0);
+ Matrix.translateM(mTranslationMatrix, 0, matrix, 0, -translateX, -translateY, 0.0f);
+ Matrix.rotateM(mTranslationMatrix, 0, mTranslationMatrix, 0, angle, rotateX, rotateY, 0.0f);
+ Matrix.translateM(mTranslationMatrix, 0, mTranslationMatrix, 0, translateX, translateY, 0.0f);
+ GLES20.glUniformMatrix4fv(mMVPMatrixHandlers[index], 1, false, mTranslationMatrix, 0);
GLESUtil.glesCheckError("glUniformMatrix4fv");
// Draw