summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiogo Ferreira <diogo@underdev.org>2015-03-28 21:46:52 +0000
committerDiogo Ferreira <diogo@underdev.org>2015-03-30 17:37:41 +0100
commiteb9a7711786bd6b913975d0d6d39a555e3b9cef8 (patch)
tree56582e0e47ac55591ae6604b614120b59f97e4be
parent263fead3b1cc2a2c5947afed2940a6d9698be81b (diff)
downloadandroid_packages_wallpapers_Basic-stable/cm-11.0-XNG3C.tar.gz
android_packages_wallpapers_Basic-stable/cm-11.0-XNG3C.tar.bz2
android_packages_wallpapers_Basic-stable/cm-11.0-XNG3C.zip
PolarClock: Don't draw on invisible surfacesstable/cm-11.0-XNG3Cstable/cm-11.0-XNG2Scm-11.0
This sometimes crashes the device when the activity is recreated due to rotation or other reconfigurations. In some events, namely when the surface visibility changes we were drawing a frame which, depending on timing, might end up locking/drawing/unlocking a surface that was previously destroyed which would crash the app. Change-Id: I6c4381ce03882658307386a351336894845966e3
-rw-r--r--src/com/android/wallpaper/polarclock/PolarClockWallpaper.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/com/android/wallpaper/polarclock/PolarClockWallpaper.java b/src/com/android/wallpaper/polarclock/PolarClockWallpaper.java
index cba7b11..2ea62de 100644
--- a/src/com/android/wallpaper/polarclock/PolarClockWallpaper.java
+++ b/src/com/android/wallpaper/polarclock/PolarClockWallpaper.java
@@ -462,6 +462,10 @@ public class PolarClockWallpaper extends WallpaperService {
return;
}
+ if (!mVisible) {
+ return;
+ }
+
final SurfaceHolder holder = getSurfaceHolder();
final Rect frame = holder.getSurfaceFrame();
final int width = frame.width();