am 1eb7d122: Merge "Fix fullscreen mode" into ics-mr0
* commit '1eb7d1224fafa2c7f327c808cf6eec6269297493':
Fix fullscreen mode
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 26f90b6..ee308f9 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -42,6 +42,7 @@
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
+import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebChromeClient;
@@ -523,6 +524,7 @@
mFullscreenContainer.addView(view, COVER_SCREEN_PARAMS);
decor.addView(mFullscreenContainer, COVER_SCREEN_PARAMS);
mCustomView = view;
+ setFullscreen(true);
mCustomViewCallback = callback;
mActivity.setRequestedOrientation(requestedOrientation);
}
@@ -531,6 +533,7 @@
public void onHideCustomView() {
if (mCustomView == null)
return;
+ setFullscreen(false);
FrameLayout decor = (FrameLayout) mActivity.getWindow().getDecorView();
decor.removeView(mFullscreenContainer);
mFullscreenContainer = null;
@@ -749,14 +752,25 @@
}
public void setFullscreen(boolean enabled) {
+ Window win = mActivity.getWindow();
+ WindowManager.LayoutParams winParams = win.getAttributes();
+ final int bits = WindowManager.LayoutParams.FLAG_FULLSCREEN;
if (enabled) {
- mActivity.getWindow().setFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ winParams.flags |= bits;
+ if (mCustomView != null) {
+ mCustomView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
+ } else {
+ mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
+ }
} else {
- mActivity.getWindow().clearFlags(
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
+ winParams.flags &= ~bits;
+ if (mCustomView != null) {
+ mCustomView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
+ } else {
+ mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
+ }
}
+ win.setAttributes(winParams);
}
public Drawable getFaviconDrawable(Bitmap icon) {