From 60dea36dafc4a567b948b5175bcca776b08fdfad Mon Sep 17 00:00:00 2001 From: Satoshi Kataoka Date: Thu, 25 Oct 2012 14:48:12 +0900 Subject: [PATCH] Assuming that NO_EXTRACT_UI mode is NO_FULSCREEN Bug: 7393485 Bug: 7272829 Change-Id: I873e8d99486c734e76484526631a90fc55e91c86 --- java/src/com/android/inputmethod/latin/LatinIME.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 1ade3c422..8ac0cd4ca 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -1063,7 +1063,16 @@ public final class LatinIME extends InputMethodService implements KeyboardAction // Reread resource value here, because this method is called by framework anytime as needed. final boolean isFullscreenModeAllowed = mCurrentSettings.isFullscreenModeAllowed(getResources()); - return super.onEvaluateFullscreenMode() && isFullscreenModeAllowed; + if (super.onEvaluateFullscreenMode() && isFullscreenModeAllowed) { + // TODO: Remove this hack. Actually we should not really assume NO_EXTRACT_UI + // implies NO_FULLSCREEN. However, the framework mistakenly does. i.e. NO_EXTRACT_UI + // without NO_FULLSCREEN doesn't work as expected. Because of this we need this + // hack for now. Let's get rid of this once the framework gets fixed. + final EditorInfo ei = getCurrentInputEditorInfo(); + return !(ei != null && ((ei.imeOptions & EditorInfo.IME_FLAG_NO_EXTRACT_UI) != 0)); + } else { + return false; + } } @Override