diff options
author | Brint E. Kriebel <bekit@cyngn.com> | 2014-11-18 13:54:29 -0800 |
---|---|---|
committer | Brint E. Kriebel <bekit@cyngn.com> | 2014-11-18 13:54:29 -0800 |
commit | 7fdd952a334fdf77402daebdee9d3ef65495a323 (patch) | |
tree | e744616a103d6192d9479bd56a945473ec2d9149 /src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java | |
parent | f9806b5b17e33cf150d05d6e681be7be24db76a0 (diff) | |
parent | 0ca39c11901f7d1dc8ad4377cdc65a329baea00d (diff) | |
download | android_packages_wallpapers_PhotoPhase-7fdd952a334fdf77402daebdee9d3ef65495a323.tar.gz android_packages_wallpapers_PhotoPhase-7fdd952a334fdf77402daebdee9d3ef65495a323.tar.bz2 android_packages_wallpapers_PhotoPhase-7fdd952a334fdf77402daebdee9d3ef65495a323.zip |
Merge branch 'cm-11.0' into stable/cm-11.0cm-11.0-XNPH05Q-tomato-9828f8e9ccstable/cm-11.0-XNF8Yshipping/cm-11.0
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java')
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java index bb9ed29..e189e87 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java +++ b/src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java @@ -181,6 +181,14 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } }; + private final Runnable mEGLContextWatchDog = new Runnable() { + @Override + public void run() { + // Restart the wallpaper + AndroidHelper.restartWallpaper(mContext); + } + }; + /** * Constructor of <code>PhotoPhaseRenderer<code> * @@ -314,6 +322,11 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { } else { mDispatcher.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY); } + + // Set a watchdog to detect EGL bad context and restart the wallpaper + if (!mIsPreview) { + mHandler.postDelayed(mEGLContextWatchDog, 15000L); + } } /** @@ -709,6 +722,11 @@ public class PhotoPhaseRenderer implements GLSurfaceView.Renderer { */ @Override public void onDrawFrame(GL10 glUnused) { + // Remove the EGL context watchdog + if (!mIsPreview) { + mHandler.removeCallbacks(mEGLContextWatchDog); + } + // Set the projection, view and model GLES20.glViewport(0, -mStatusBarHeight, mWidth, mHeight); Matrix.setLookAtM(mVMatrix, 0, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f); |