summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-10-17 15:05:24 -0700
committerJohn Reck <jreck@google.com>2012-10-17 15:05:24 -0700
commitfb0051a8d4bdc027e3b5fdf895718199ca24e133 (patch)
treeecc2078c3e29cd2eab7bdc522553d3c97f036448
parentd4f457e0133bac5e3b172a1261a36ff62c39953c (diff)
downloadandroid_packages_apps_Snap-fb0051a8d4bdc027e3b5fdf895718199ca24e133.tar.gz
android_packages_apps_Snap-fb0051a8d4bdc027e3b5fdf895718199ca24e133.tar.bz2
android_packages_apps_Snap-fb0051a8d4bdc027e3b5fdf895718199ca24e133.zip
Only fade out if texture creation succeeded
Bug: 7366597 Change-Id: Id28970fe263d975dcd48e45fd716199bc40f64d3
-rw-r--r--src/com/android/gallery3d/app/ActivityState.java5
-rw-r--r--src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java12
2 files changed, 12 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/app/ActivityState.java b/src/com/android/gallery3d/app/ActivityState.java
index 3ea6896cb..fe2e89e7f 100644
--- a/src/com/android/gallery3d/app/ActivityState.java
+++ b/src/com/android/gallery3d/app/ActivityState.java
@@ -185,8 +185,9 @@ abstract public class ActivityState {
}
if (mWantFadeOut) {
mWantFadeOut = false;
- mActivity.getTransitionStore().put(KEY_TRANSITION_IN, true);
- PreparePageFadeoutTexture.prepareFadeOutTexture(mActivity, mContentPane);
+ if (PreparePageFadeoutTexture.prepareFadeOutTexture(mActivity, mContentPane)) {
+ mActivity.getTransitionStore().put(KEY_TRANSITION_IN, true);
+ }
}
}
diff --git a/src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java b/src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java
index 7cab753c3..5152fc9bb 100644
--- a/src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java
+++ b/src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java
@@ -43,8 +43,12 @@ public class PreparePageFadeoutTexture implements OnGLIdleListener {
return false;
}
- public static void prepareFadeOutTexture(AbstractGalleryActivity activity,
+ public static boolean prepareFadeOutTexture(AbstractGalleryActivity activity,
GLView rootPane) {
+ if (rootPane.getWidth() == 0 || rootPane.getHeight() == 0) {
+ // The view hasn't been measured yet, just abort the animation
+ return false;
+ }
GLRoot root = activity.getGLRoot();
PreparePageFadeoutTexture task = new PreparePageFadeoutTexture(rootPane);
RawTexture texture = null;
@@ -56,8 +60,10 @@ public class PreparePageFadeoutTexture implements OnGLIdleListener {
root.lockRenderThread();
}
- if (texture != null) {
- activity.getTransitionStore().put(KEY_FADE_TEXTURE, texture);
+ if (texture == null) {
+ return false;
}
+ activity.getTransitionStore().put(KEY_FADE_TEXTURE, texture);
+ return true;
}
}