diff options
author | Jorge Ruesga <jorge@ruesga.com> | 2013-10-25 01:04:14 +0200 |
---|---|---|
committer | Jorge Ruesga <jorge@ruesga.com> | 2013-10-25 01:04:14 +0200 |
commit | d823ad0a0e9d4575a7cb01a16b5c5930d81b169d (patch) | |
tree | 49a589d5ed75ed4b9894a87741348ba7eff224ce /src/com/ruesga/android/wallpapers/photophase | |
parent | 5c1404b30cd6a1ff00985137f4912e359c654fef (diff) | |
download | android_packages_wallpapers_PhotoPhase-d823ad0a0e9d4575a7cb01a16b5c5930d81b169d.tar.gz android_packages_wallpapers_PhotoPhase-d823ad0a0e9d4575a7cb01a16b5c5930d81b169d.tar.bz2 android_packages_wallpapers_PhotoPhase-d823ad0a0e9d4575a7cb01a16b5c5930d81b169d.zip |
Force redraw of frame when surface changed (if gl is in dirty mode)
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Diffstat (limited to 'src/com/ruesga/android/wallpapers/photophase')
-rw-r--r-- | src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java b/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java index 971bdc4..0df0ace 100644 --- a/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java +++ b/src/com/ruesga/android/wallpapers/photophase/PhotoPhaseRenderer.java @@ -386,6 +386,7 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { /*package*/ synchronized void deselectCurrentTransition() { mHandler.removeCallbacks(mTransitionThread); mWorld.deselectTransition(mMVPMatrix); + mLastRunningTransition = 0; } /*package*/ void scheduleOrCancelMediaScan() { @@ -557,6 +558,10 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } catch (GLException e) { Log.e(TAG, "Cannot recreate the wallpaper world.", e); } + + // Force an immediate redraw of the screen (draw thread could be in dirty mode only) + deselectCurrentTransition(); + mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY); } /** @@ -600,13 +605,12 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { // Just display the initial frames and never make transitions if (!mWorld.hasRunningTransition() || firedTransitionTimeout()) { mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); - mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); } } - } - // Draw the overlay - drawOverlay(); + // Draw the overlay + drawOverlay(); + } } } |