aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrint E. Kriebel <bekit@cyngn.com>2014-11-18 13:54:29 -0800
committerBrint E. Kriebel <bekit@cyngn.com>2014-11-18 13:54:29 -0800
commit7fdd952a334fdf77402daebdee9d3ef65495a323 (patch)
treee744616a103d6192d9479bd56a945473ec2d9149
parentf9806b5b17e33cf150d05d6e681be7be24db76a0 (diff)
parent0ca39c11901f7d1dc8ad4377cdc65a329baea00d (diff)
downloadandroid_packages_wallpapers_PhotoPhase-cm-11.0-XNPH05Q-tomato-9828f8e9cc.tar.gz
android_packages_wallpapers_PhotoPhase-cm-11.0-XNPH05Q-tomato-9828f8e9cc.tar.bz2
android_packages_wallpapers_PhotoPhase-cm-11.0-XNPH05Q-tomato-9828f8e9cc.zip
-rw-r--r--AndroidManifest.xml4
-rw-r--r--res/layout/color_picker_pref_item.xml2
-rw-r--r--res/raw/changelog17
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/AndroidHelper.java18
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/PhotoPhaseRenderer.java18
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/preferences/ChoosePicturesFragment.java2
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);