summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiogo Ferreira <diogo@underdev.org>2015-03-28 21:46:52 +0000
committerMichael Bestas <mikeioannina@gmail.com>2015-10-25 11:49:21 +0200
commit44f97ceaad0af9ae0787887a5efc22d469f7676e (patch)
tree330d89b211ef73a68e5475de09e2b93636be9046
parent53e92e7d26f7b6781930c73ef94745112fc85ec3 (diff)
downloadandroid_packages_wallpapers_Basic-44f97ceaad0af9ae0787887a5efc22d469f7676e.tar.gz
android_packages_wallpapers_Basic-44f97ceaad0af9ae0787887a5efc22d469f7676e.tar.bz2
android_packages_wallpapers_Basic-44f97ceaad0af9ae0787887a5efc22d469f7676e.zip
PolarClock: Don't draw on invisible surfaces
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();