aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJorge Ruesga <jorge@ruesga.com>2014-09-01 20:02:30 +0000
committerGerrit Code Review <gerrit@cyanogenmod.org>2014-09-01 20:02:30 +0000
commit83a0f2a89ebb8f37d71251d38e013b9f680b90ca (patch)
tree5f554476dcc32c34aa5f9d4718ac347dd227f633
parentc8d004f3be2bc071184dd32e17b87efccb3aca38 (diff)
parent9ecd4810334c02566faaa1c9b3b079a089d5314a (diff)
downloadandroid_packages_wallpapers_PhotoPhase-83a0f2a89ebb8f37d71251d38e013b9f680b90ca.tar.gz
android_packages_wallpapers_PhotoPhase-83a0f2a89ebb8f37d71251d38e013b9f680b90ca.tar.bz2
android_packages_wallpapers_PhotoPhase-83a0f2a89ebb8f37d71251d38e013b9f680b90ca.zip
Merge "photophase: don't reset transition timer on pause" into cm-11.0
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
index 7fb467f..bbb71d1 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java
@@ -80,6 +80,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
OopsShape mOopsShape;
long mLastRunningTransition;
+ long mLastTransition;
private long mLastTouchTime;
private static final long TOUCH_BARRIER_TIME = 1000L;
@@ -167,6 +168,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
// Select a new transition
mWorld.selectRandomTransition();
mLastRunningTransition = System.currentTimeMillis();
+ mLastTransition = System.currentTimeMillis();
// Now force continuously render while transition is applied
mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
@@ -589,6 +591,8 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
mMeasuredHeight = -1;
mStatusBarHeight = 0;
+ mLastTransition = System.currentTimeMillis();
+
// We have a 2d (fake) scenario, disable all unnecessary tests. Deep are
// necessary for some 3d effects
GLES20.glDisable(GL10.GL_DITHER);
@@ -725,15 +729,16 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer {
// Check if we have some pending transition or transition has
// exceed its timeout
synchronized (mDrawing) {
- if (Preferences.General.Transitions.getTransitionInterval() > 0) {
+ final int interval = Preferences.General.Transitions.getTransitionInterval();
+ if (interval > 0) {
if (!mWorld.hasRunningTransition() || isTransitionTimeoutFired()) {
mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
// Now start a delayed thread to generate the next effect
deselectCurrentTransition();
- mLastRunningTransition = 0;
- mHandler.postDelayed(mTransitionThread,
- Preferences.General.Transitions.getTransitionInterval());
+ long diff = System.currentTimeMillis() - mLastTransition;
+ long delay = Math.max(200, interval - diff);
+ mHandler.postDelayed(mTransitionThread, delay);
}
} else {
// Just display the initial frames and never make transitions