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
commit57731ee210c22382d33f6f562f9e7e66fce651de (patch)
treee420805a32fd42a4241e141214c83745c56c8caf
parent4104415e00090cdcac4a2f7408cc7ddc7d11c711 (diff)
downloadandroid_packages_apps_Gallery2-57731ee210c22382d33f6f562f9e7e66fce651de.tar.gz
android_packages_apps_Gallery2-57731ee210c22382d33f6f562f9e7e66fce651de.tar.bz2
android_packages_apps_Gallery2-57731ee210c22382d33f6f562f9e7e66fce651de.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;
}
}