summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPankaj Garg <pgarg@codeaurora.org>2015-04-14 16:08:59 -0700
committerjrizzoli <joey@cyanogenmoditalia.it>2015-08-28 13:15:45 +0200
commit62bc791f1bcbfb7daeb76142239a70ab3dc1f6ec (patch)
treedea6b08bd4388e4c015170d6e6c98460dc34b94e
parentf52063fa3cbaeb8cedf6483b4038137bcbdac0b3 (diff)
downloadandroid_packages_apps_Gello-62bc791f1bcbfb7daeb76142239a70ab3dc1f6ec.tar.gz
android_packages_apps_Gello-62bc791f1bcbfb7daeb76142239a70ab3dc1f6ec.tar.bz2
android_packages_apps_Gello-62bc791f1bcbfb7daeb76142239a70ab3dc1f6ec.zip
Disable immersive mode on keyboard popup
Keyboard was hiding the text box in case the browser was in immersive mode. This change will prevent that from happening. Change-Id: I9f21fd1043da43071cf752657196c5bc432641f1
-rw-r--r--src/com/android/browser/BaseUi.java11
-rw-r--r--src/com/android/browser/Tab.java16
2 files changed, 26 insertions, 1 deletions
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index c24cc480..2d7c0b38 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -108,6 +108,7 @@ public abstract class BaseUi implements UI {
protected TitleBar mTitleBar;
private NavigationBarBase mNavigationBar;
private boolean mBlockFocusAnimations;
+ private boolean mFullscreenModeLocked;
private EdgeSwipeController mEdgeSwipeController;
private EdgeSwipeSettings mEdgeSwipeSettings;
@@ -138,6 +139,7 @@ public abstract class BaseUi implements UI {
// install system ui visibility listeners
mDecorView = mActivity.getWindow().getDecorView();
mDecorView.setOnSystemUiVisibilityChangeListener(mSystemUiVisibilityChangeListener);
+ mFullscreenModeLocked = false;
}
private View.OnSystemUiVisibilityChangeListener mSystemUiVisibilityChangeListener =
@@ -844,7 +846,16 @@ public abstract class BaseUi implements UI {
}
}
+ public void forceDisableFullscreenMode(boolean disabled) {
+ mFullscreenModeLocked = false;
+ setFullscreen(!disabled);
+ mFullscreenModeLocked = disabled;
+ }
+
public void setFullscreen(boolean enabled) {
+ if (mFullscreenModeLocked)
+ return;
+
Window win = mActivity.getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
final int bits = WindowManager.LayoutParams.FLAG_FULLSCREEN;
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 8f4db51e..1bcf4a91 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -321,7 +321,12 @@ class Tab implements PictureListener {
mCurrentState = new PageState(mContext,
view.isPrivateBrowsingEnabled(), url, favicon);
mLoadStartTime = SystemClock.uptimeMillis();
-
+ // Need re-enable FullScreenMode on Page navigation if needed
+ if (BrowserSettings.getInstance().useFullscreen()){
+ Controller controller = (Controller) mWebViewController;
+ BaseUi ui = (BaseUi) controller.getUi();
+ ui.forceDisableFullscreenMode(false);
+ }
// If we start a touch icon load and then load a new page, we don't
// want to cancel the current touch icon loader. But, we do want to
// create a new one when the touch icon url is known.
@@ -668,6 +673,15 @@ class Tab implements PictureListener {
}
}
}
+
+ @Override
+ public void onKeyboardStateChange(boolean popup) {
+ if (BrowserSettings.getInstance().useFullscreen()) {
+ Controller controller = (Controller) mWebViewController;
+ BaseUi ui = (BaseUi) controller.getUi();
+ ui.forceDisableFullscreenMode(popup);
+ }
+ }
};
private void syncCurrentState(WebView view, String url) {