diff options
author | Yuli Huang <yuli@google.com> | 2012-05-15 22:23:09 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-05-15 22:23:09 -0700 |
commit | 8c4db8d3cce486e0bd8d0f847b0880a75c7c3832 (patch) | |
tree | 13f76cf3af0f5e3222535b2ba8882837b47e4789 | |
parent | b150db41b601da17993380c36786bb18ee612929 (diff) | |
parent | 252f5e767194a26323ac9f2a5c6ae6d60f2a7ece (diff) | |
download | android_packages_apps_Gallery2-8c4db8d3cce486e0bd8d0f847b0880a75c7c3832.tar.gz android_packages_apps_Gallery2-8c4db8d3cce486e0bd8d0f847b0880a75c7c3832.tar.bz2 android_packages_apps_Gallery2-8c4db8d3cce486e0bd8d0f847b0880a75c7c3832.zip |
am 252f5e76: am bd7c016d: Avoid black screen when PhotoPage just starts.
* commit '252f5e767194a26323ac9f2a5c6ae6d60f2a7ece':
Avoid black screen when PhotoPage just starts.
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 15 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/PhotoView.java | 4 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/PositionController.java | 2 |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 52f7c4176..a46c777fa 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -71,8 +71,10 @@ public class PhotoPage extends ActivityState implements private static final int MSG_UNLOCK_ORIENTATION = 3; private static final int MSG_ON_FULL_SCREEN_CHANGED = 4; private static final int MSG_UPDATE_ACTION_BAR = 5; + private static final int MSG_UNFREEZE_GLROOT = 6; private static final int HIDE_BARS_TIMEOUT = 3500; + private static final int UNFREEZE_GLROOT_TIMEOUT = 250; private static final int REQUEST_SLIDESHOW = 1; private static final int REQUEST_CROP = 2; @@ -276,6 +278,10 @@ public class PhotoPage extends ActivityState implements updateBars(); break; } + case MSG_UNFREEZE_GLROOT: { + mActivity.getGLRoot().unfreeze(); + break; + } default: throw new AssertionError(message.what); } } @@ -720,6 +726,8 @@ public class PhotoPage extends ActivityState implements @Override public void onPause() { + mActivity.getGLRoot().unfreeze(); + mHandler.removeMessages(MSG_UNFREEZE_GLROOT); super.onPause(); mIsActive = false; if (mAppBridge != null) mAppBridge.setServer(null); @@ -733,7 +741,13 @@ public class PhotoPage extends ActivityState implements } @Override + public void onCurrentImageUpdated() { + mActivity.getGLRoot().unfreeze(); + } + + @Override protected void onResume() { + mActivity.getGLRoot().freeze(); super.onResume(); mIsActive = true; setContentPane(mRootPane); @@ -750,6 +764,7 @@ public class PhotoPage extends ActivityState implements mAppBridge.setServer(this); mPhotoView.resetToFirstPicture(); } + mHandler.sendEmptyMessageDelayed(MSG_UNFREEZE_GLROOT, UNFREEZE_GLROOT_TIMEOUT); } @Override diff --git a/src/com/android/gallery3d/ui/PhotoView.java b/src/com/android/gallery3d/ui/PhotoView.java index dce37289e..1c0484979 100644 --- a/src/com/android/gallery3d/ui/PhotoView.java +++ b/src/com/android/gallery3d/ui/PhotoView.java @@ -79,6 +79,7 @@ public class PhotoView extends GLView { public void unlockOrientation(); public void onFullScreenChanged(boolean full); public void onActionBarAllowed(boolean allowed); + public void onCurrentImageUpdated(); } // Here is a graph showing the places we need to lock/unlock device @@ -318,6 +319,9 @@ public class PhotoView extends GLView { } public void notifyImageChange(int index) { + if (index == 0) { + mListener.onCurrentImageUpdated(); + } mPictures.get(index).reload(); invalidate(); } diff --git a/src/com/android/gallery3d/ui/PositionController.java b/src/com/android/gallery3d/ui/PositionController.java index f49a0b727..99d36baec 100644 --- a/src/com/android/gallery3d/ui/PositionController.java +++ b/src/com/android/gallery3d/ui/PositionController.java @@ -207,6 +207,7 @@ class PositionController { } updateScaleAndGapLimit(); + startOpeningAnimationIfNeeded(); snapAndRedraw(); } @@ -233,7 +234,6 @@ class PositionController { } updateScaleAndGapLimit(); - startOpeningAnimationIfNeeded(); snapAndRedraw(); } |