diff options
| author | John Reck <jreck@google.com> | 2012-10-17 15:05:24 -0700 |
|---|---|---|
| committer | John Reck <jreck@google.com> | 2012-10-17 15:05:24 -0700 |
| commit | 57731ee210c22382d33f6f562f9e7e66fce651de (patch) | |
| tree | e420805a32fd42a4241e141214c83745c56c8caf | |
| parent | 4104415e00090cdcac4a2f7408cc7ddc7d11c711 (diff) | |
| download | android_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.java | 5 | ||||
| -rw-r--r-- | src/com/android/gallery3d/ui/PreparePageFadeoutTexture.java | 12 |
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; } } |
