Support Tab going into fullscreen
Change-Id: Iff65d9c56f3c38119712b01cdd18ce77f52e7337
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index 27b2b82..ddc5ad2 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -115,6 +115,7 @@
private NavigationBarBase mNavigationBar;
protected PieControl mPieControl;
private boolean mBlockFocusAnimations;
+ private boolean mFullScreen;
public BaseUi(Activity browser, UiController controller) {
mActivity = browser;
@@ -145,6 +146,7 @@
mTitleBar.setProgress(100);
mNavigationBar = mTitleBar.getNavigationBar();
mUrlBarAutoShowManager = new UrlBarAutoShowManager(this);
+ mFullScreen = false;
}
private void cancelStopToast() {
@@ -193,6 +195,9 @@
if (mCustomView != null) {
mUiController.hideCustomView();
return true;
+ } else if (mFullScreen) {
+ setTabFullscreen(false);
+ return true;
}
return false;
}
@@ -804,7 +809,9 @@
final int bits = WindowManager.LayoutParams.FLAG_FULLSCREEN;
if (enabled) {
winParams.flags |= bits;
+ mFullScreen = true;
} else {
+ mFullScreen = false;
winParams.flags &= ~bits;
if (mCustomView != null) {
mCustomView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
@@ -815,6 +822,25 @@
win.setAttributes(winParams);
}
+ public boolean isTabFullScreen() {
+ return mFullScreen;
+ }
+
+ public void setTabFullscreen(boolean enabled) {
+ setFullscreen(enabled);
+ FrameLayout main = (FrameLayout) mActivity.getWindow()
+ .getDecorView().findViewById(android.R.id.content);
+
+ LinearLayout titleBarParent = (LinearLayout) main.findViewById(R.id.vertical_layout);
+ if (titleBarParent != null) {
+ if (enabled) {
+ titleBarParent.removeView(mFixedTitlebarContainer);
+ } else {
+ titleBarParent.addView(mFixedTitlebarContainer, 1);
+ }
+ }
+ }
+
public Drawable getFaviconDrawable(Bitmap icon) {
Drawable[] array = new Drawable[3];
array[0] = new PaintDrawable(Color.BLACK);