summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/PhotoPage.java
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-05-22 11:35:46 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-22 19:36:28 -0700
commitb9e6e7f1dffe3d4e4736ed67a323f11a174afbb1 (patch)
treee0efc6b433d4e440d3dc6212a94a792fc95ae548 /src/com/android/gallery3d/app/PhotoPage.java
parent048ca675a9e659fb0d3b150880d71cd42770023d (diff)
downloadandroid_packages_apps_Snap-b9e6e7f1dffe3d4e4736ed67a323f11a174afbb1.tar.gz
android_packages_apps_Snap-b9e6e7f1dffe3d4e4736ed67a323f11a174afbb1.tar.bz2
android_packages_apps_Snap-b9e6e7f1dffe3d4e4736ed67a323f11a174afbb1.zip
Unlock orientation only when action bar is needed.
Bug: 6482079 Change-Id: I75d96ca7957f80e9c52f35edf74127f82f194f63
Diffstat (limited to 'src/com/android/gallery3d/app/PhotoPage.java')
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java
index 71a6c8eef..2132d068e 100644
--- a/src/com/android/gallery3d/app/PhotoPage.java
+++ b/src/com/android/gallery3d/app/PhotoPage.java
@@ -75,6 +75,7 @@ public class PhotoPage extends ActivityState implements
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 MSG_WANT_BARS = 7;
private static final int HIDE_BARS_TIMEOUT = 3500;
private static final int UNFREEZE_GLROOT_TIMEOUT = 250;
@@ -110,8 +111,6 @@ public class PhotoPage extends ActivityState implements
private int mCurrentIndex = 0;
private Handler mHandler;
private boolean mShowBars = true;
- // The value of canShowBars() last time the bar updates state.
- private boolean mCanShowBars = false;
private volatile boolean mActionBarAllowed = true;
private GalleryActionBar mActionBar;
private MyMenuVisibilityListener mMenuVisibilityListener;
@@ -269,12 +268,10 @@ public class PhotoPage extends ActivityState implements
}
case MSG_LOCK_ORIENTATION: {
mOrientationManager.lockOrientation();
- updateBars();
break;
}
case MSG_UNLOCK_ORIENTATION: {
mOrientationManager.unlockOrientation();
- updateBars();
break;
}
case MSG_ON_FULL_SCREEN_CHANGED: {
@@ -285,6 +282,10 @@ public class PhotoPage extends ActivityState implements
updateBars();
break;
}
+ case MSG_WANT_BARS: {
+ wantBars();
+ break;
+ }
case MSG_UNFREEZE_GLROOT: {
mActivity.getGLRoot().unfreeze();
break;
@@ -378,6 +379,7 @@ public class PhotoPage extends ActivityState implements
private void showBars() {
if (mShowBars) return;
mShowBars = true;
+ mOrientationManager.unlockOrientation();
mActionBar.show();
mActivity.getGLRoot().setLightsOutMode(false);
refreshHidingMessage();
@@ -403,29 +405,24 @@ public class PhotoPage extends ActivityState implements
if (mAppBridge != null && mCurrentIndex == 0) return false;
// No bars if it's not allowed.
if (!mActionBarAllowed) return false;
- // No bars if the orientation is locked.
- if (mOrientationManager.isOrientationLocked()) return false;
return true;
}
+ private void wantBars() {
+ if (canShowBars()) showBars();
+ }
+
private void toggleBars() {
- mCanShowBars = canShowBars();
if (mShowBars) {
hideBars();
} else {
- if (mCanShowBars) showBars();
+ if (canShowBars()) showBars();
}
}
private void updateBars() {
- boolean v = canShowBars();
- if (mCanShowBars == v) return;
- mCanShowBars = v;
-
- if (mCanShowBars) {
- showBars();
- } else {
+ if (!canShowBars()) {
hideBars();
}
}
@@ -687,6 +684,11 @@ public class PhotoPage extends ActivityState implements
}
@Override
+ public void onActionBarWanted() {
+ mHandler.sendEmptyMessage(MSG_WANT_BARS);
+ }
+
+ @Override
public void onFullScreenChanged(boolean full) {
Message m = mHandler.obtainMessage(
MSG_ON_FULL_SCREEN_CHANGED, full ? 1 : 0, 0);