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 | |
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
-rw-r--r-- | AndroidManifest.xml | 4 | ||||
-rw-r--r-- | res/layout/color_picker_pref_item.xml | 2 | ||||
-rw-r--r-- | res/raw/changelog | 17 | ||||
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java | 18 | ||||
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java | 18 | ||||
-rw-r--r-- | src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java | 2 |
6 files changed, 57 insertions, 4 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 81eb93d..dbac663 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -16,8 +16,8 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.cyanogenmod.wallpapers.photophase" - android:versionCode="1010" - android:versionName="1.0.8" + android:versionCode="1013" + android:versionName="1.0.11" android:installLocation="auto"> <original-package android:name="org.cyanogenmod.wallpapers.photophase" /> diff --git a/res/layout/color_picker_pref_item.xml b/res/layout/color_picker_pref_item.xml index f299d0e..65f51b7 100644 --- a/res/layout/color_picker_pref_item.xml +++ b/res/layout/color_picker_pref_item.xml @@ -19,7 +19,7 @@ android:layout_height="32dp" android:background="@android:color/darker_gray"> <afzkl.development.mColorPicker.views.ColorPanelView - android:id="@+android:id/color_picker" + android:id="@+id/color_picker" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="1dp" diff --git a/res/raw/changelog b/res/raw/changelog index a13eb89..a4261c1 100644 --- a/res/raw/changelog +++ b/res/raw/changelog @@ -1,3 +1,20 @@ +v1.0.11 +---------------------------- +- Restart wallpaper if a bad egl context is detected +- Minor bug fixes +- Updated translations + +v1.0.10 +---------------------------- +- Revert etc1 compression feature +- Fix incorrect French string translation + +v1.0.9 +---------------------------- +- Use compressed etc1 textures if is supported to reduce memory footprint +- Allow to choose more than one minute in transition intervals +- Update translations + v1.0.8 ---------------------------- - Fixed a memory leak bug diff --git a/src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java b/src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java index bf69cde..56e0563 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java +++ b/src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java @@ -17,10 +17,14 @@ package org.cyanogenmod.wallpapers.photophase; import android.app.Activity; +import android.app.WallpaperManager; +import android.content.ComponentName; import android.content.Context; +import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.provider.Settings; +import android.os.Process; import android.util.DisplayMetrics; import android.view.ViewConfiguration; @@ -109,4 +113,18 @@ public final class AndroidHelper { } return result; } + + /** + * Method that restart the wallpaper + * + * @param ctx The current context + */ + public static void restartWallpaper(Context ctx) { + // Restart the service + Process.killProcess(Process.myPid()); + Intent intent = new Intent(WallpaperManager.ACTION_CHANGE_LIVE_WALLPAPER); + intent.putExtra(WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT, + new ComponentName(ctx, PhotoPhaseWallpaper.class)); + ctx.startActivity(intent); + } } 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); diff --git a/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java b/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java index f83c392..fa9c637 100644 --- a/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java +++ b/src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java @@ -478,7 +478,7 @@ public class ChoosePicturesFragment extends PreferenceFragment private void restoreData() { // Restore and the albums the selection mSelectedAlbums = new HashSet<String>(mOriginalSelectedAlbums); - int count = mAlbums.size(); + int count = Math.min(mAlbums.size(), mOriginalAlbums.size()); for (int i = 0; i < count ; i++) { Album album = mAlbums.get(i); Album originalAlbum = mOriginalAlbums.get(i); |