diff options
author | Chih-Chung Chang <chihchung@google.com> | 2012-05-22 11:35:46 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-22 19:36:28 -0700 |
commit | b9e6e7f1dffe3d4e4736ed67a323f11a174afbb1 (patch) | |
tree | e0efc6b433d4e440d3dc6212a94a792fc95ae548 /src/com/android/gallery3d/app | |
parent | 048ca675a9e659fb0d3b150880d71cd42770023d (diff) | |
download | android_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')
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 32 |
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); |