diff options
author | Pankaj Garg <pgarg@codeaurora.org> | 2015-04-14 16:08:59 -0700 |
---|---|---|
committer | jrizzoli <joey@cyanogenmoditalia.it> | 2015-08-28 13:15:45 +0200 |
commit | 62bc791f1bcbfb7daeb76142239a70ab3dc1f6ec (patch) | |
tree | dea6b08bd4388e4c015170d6e6c98460dc34b94e | |
parent | f52063fa3cbaeb8cedf6483b4038137bcbdac0b3 (diff) | |
download | android_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.java | 11 | ||||
-rw-r--r-- | src/com/android/browser/Tab.java | 16 |
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) { |