diff options
-rw-r--r-- | src/com/android/gallery3d/app/ActivityState.java | 23 | ||||
-rw-r--r-- | src/com/android/gallery3d/app/PhotoPage.java | 12 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/GLRoot.java | 1 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 6 | ||||
-rw-r--r-- | tests/src/com/android/gallery3d/ui/GLRootMock.java | 1 | ||||
-rw-r--r-- | tests/src/com/android/gallery3d/ui/GLRootStub.java | 1 |
6 files changed, 20 insertions, 24 deletions
diff --git a/src/com/android/gallery3d/app/ActivityState.java b/src/com/android/gallery3d/app/ActivityState.java index 233b3986d..66b4a2279 100644 --- a/src/com/android/gallery3d/app/ActivityState.java +++ b/src/com/android/gallery3d/app/ActivityState.java @@ -108,21 +108,21 @@ abstract public class ActivityState { if (plugged != mPlugged) { mPlugged = plugged; - final Window win = ((Activity) mActivity).getWindow(); - final WindowManager.LayoutParams params = win.getAttributes(); - setScreenOnFlags(params); - win.setAttributes(params); + setScreenOnFlags(); } } } }; - void setScreenOnFlags(WindowManager.LayoutParams params) { + void setScreenOnFlags() { + final Window win = ((Activity) mActivity).getWindow(); + final WindowManager.LayoutParams params = win.getAttributes(); if (mPlugged && 0 != (mFlags & FLAG_SCREEN_ON)) { params.flags |= SCREEN_ON_FLAGS; } else { params.flags &= ~SCREEN_ON_FLAGS; } + win.setAttributes(params); } protected void onPause() { @@ -149,17 +149,10 @@ abstract public class ActivityState { activity.invalidateOptionsMenu(); - final Window win = activity.getWindow(); - final WindowManager.LayoutParams params = win.getAttributes(); + setScreenOnFlags(); - if ((mFlags & FLAG_HIDE_STATUS_BAR) != 0) { - params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE; - } else { - params.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE; - } - - setScreenOnFlags(params); - win.setAttributes(params); + boolean lightsOut = ((mFlags & FLAG_HIDE_STATUS_BAR) != 0); + mActivity.getGLRoot().setLightsOutMode(lightsOut); ResultEntry entry = mReceivedResults; if (entry != null) { diff --git a/src/com/android/gallery3d/app/PhotoPage.java b/src/com/android/gallery3d/app/PhotoPage.java index 68406ccd2..4d2d699f0 100644 --- a/src/com/android/gallery3d/app/PhotoPage.java +++ b/src/com/android/gallery3d/app/PhotoPage.java @@ -205,7 +205,7 @@ public class PhotoPage extends ActivityState implements itemPath = screenNailItemPath; // Action bar should not be displayed when camera starts. - mFlags |= FLAG_HIDE_ACTION_BAR; + mFlags |= FLAG_HIDE_ACTION_BAR | FLAG_HIDE_STATUS_BAR; mShowBars = false; } @@ -376,10 +376,7 @@ public class PhotoPage extends ActivityState implements if (mShowBars) return; mShowBars = true; mActionBar.show(); - WindowManager.LayoutParams params = - ((Activity) mActivity).getWindow().getAttributes(); - params.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE; - ((Activity) mActivity).getWindow().setAttributes(params); + mActivity.getGLRoot().setLightsOutMode(false); refreshHidingMessage(); } @@ -387,10 +384,7 @@ public class PhotoPage extends ActivityState implements if (!mShowBars) return; mShowBars = false; mActionBar.hide(); - WindowManager.LayoutParams params = - ((Activity) mActivity).getWindow().getAttributes(); - params.systemUiVisibility = View.SYSTEM_UI_FLAG_LOW_PROFILE; - ((Activity) mActivity).getWindow().setAttributes(params); + mActivity.getGLRoot().setLightsOutMode(true); mHandler.removeMessages(MSG_HIDE_BARS); } diff --git a/src/com/android/gallery3d/ui/GLRoot.java b/src/com/android/gallery3d/ui/GLRoot.java index f4b7572a7..1651b4361 100644 --- a/src/com/android/gallery3d/ui/GLRoot.java +++ b/src/com/android/gallery3d/ui/GLRoot.java @@ -44,4 +44,5 @@ public interface GLRoot { public Matrix getCompensationMatrix(); public void freeze(); public void unfreeze(); + public void setLightsOutMode(boolean enabled); } diff --git a/src/com/android/gallery3d/ui/GLRootView.java b/src/com/android/gallery3d/ui/GLRootView.java index 73e982509..987e9a2ae 100644 --- a/src/com/android/gallery3d/ui/GLRootView.java +++ b/src/com/android/gallery3d/ui/GLRootView.java @@ -512,6 +512,12 @@ public class GLRootView extends GLSurfaceView mRenderLock.unlock(); } + @Override + public void setLightsOutMode(boolean enabled) { + int flags = enabled ? SYSTEM_UI_FLAG_LOW_PROFILE : 0; + setSystemUiVisibility(flags); + } + // We need to unfreeze in the following methods and in onPause(). // These methods will wait on GLThread. If we have freezed the GLRootView, // the GLThread will wait on main thread to call unfreeze and cause dead diff --git a/tests/src/com/android/gallery3d/ui/GLRootMock.java b/tests/src/com/android/gallery3d/ui/GLRootMock.java index 1253e50ae..467edfc7f 100644 --- a/tests/src/com/android/gallery3d/ui/GLRootMock.java +++ b/tests/src/com/android/gallery3d/ui/GLRootMock.java @@ -41,4 +41,5 @@ public class GLRootMock implements GLRoot { public Matrix getCompensationMatrix() { return null; } public void freeze() {} public void unfreeze() {} + public void setLightsOutMode(boolean enabled) {} } diff --git a/tests/src/com/android/gallery3d/ui/GLRootStub.java b/tests/src/com/android/gallery3d/ui/GLRootStub.java index 5c88c47ec..0f3a00164 100644 --- a/tests/src/com/android/gallery3d/ui/GLRootStub.java +++ b/tests/src/com/android/gallery3d/ui/GLRootStub.java @@ -34,4 +34,5 @@ public class GLRootStub implements GLRoot { public Matrix getCompensationMatrix() { return null; } public void freeze() {} public void unfreeze() {} + public void setLightsOutMode(boolean enabled) {} } |