summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuli Huang <yuli@google.com>2012-05-15 22:23:09 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-15 22:23:09 -0700
commit8c4db8d3cce486e0bd8d0f847b0880a75c7c3832 (patch)
tree13f76cf3af0f5e3222535b2ba8882837b47e4789
parentb150db41b601da17993380c36786bb18ee612929 (diff)
parent252f5e767194a26323ac9f2a5c6ae6d60f2a7ece (diff)
downloadandroid_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.java15
-rw-r--r--src/com/android/gallery3d/ui/PhotoView.java4
-rw-r--r--src/com/android/gallery3d/ui/PositionController.java2
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();
}