summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/gallery3d/app/ActivityState.java23
-rw-r--r--src/com/android/gallery3d/app/PhotoPage.java12
-rw-r--r--src/com/android/gallery3d/ui/GLRoot.java1
-rw-r--r--src/com/android/gallery3d/ui/GLRootView.java6
-rw-r--r--tests/src/com/android/gallery3d/ui/GLRootMock.java1
-rw-r--r--tests/src/com/android/gallery3d/ui/GLRootStub.java1
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) {}
}