diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/WindowManager.java | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index db76bb6d3cde..9c18ee1e0a61 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -1181,8 +1181,7 @@ public interface WindowManager extends ViewManager { * a soft input method, so it will be Z-ordered and positioned * independently of any active input method (typically this means it * gets Z-ordered on top of the input method, so it can use the full - * screen for its content and cover the input method if needed. You - * can use {@link #FLAG_ALT_FOCUSABLE_IM} to modify this behavior. */ + * screen for its content and cover the input method if needed.) */ public static final int FLAG_NOT_FOCUSABLE = 0x00000008; /** Window flag: this window can never receive touch events. */ @@ -1288,14 +1287,11 @@ public interface WindowManager extends ViewManager { * set for you by Window as described in {@link Window#setFlags}.*/ public static final int FLAG_LAYOUT_INSET_DECOR = 0x00010000; - /** Window flag: invert the state of {@link #FLAG_NOT_FOCUSABLE} with - * respect to how this window interacts with the current method. That - * is, if FLAG_NOT_FOCUSABLE is set and this flag is set, then the - * window will behave as if it needs to interact with the input method - * and thus be placed behind/away from it; if FLAG_NOT_FOCUSABLE is - * not set and this flag is set, then the window will behave as if it - * doesn't need to interact with the input method and can be placed - * to use more space and cover the input method. + /** Window flag: When set, input method can't interact with the focusable window + * and can be placed to use more space and cover the input method. + * Note: When combined with {@link #FLAG_NOT_FOCUSABLE}, this flag has no + * effect since input method cannot interact with windows having {@link #FLAG_NOT_FOCUSABLE} + * flag set. */ public static final int FLAG_ALT_FOCUSABLE_IM = 0x00020000; @@ -1997,16 +1993,12 @@ public interface WindowManager extends ViewManager { * * @param flags The current window manager flags. * - * @return Returns true if such a window should be behind/interact - * with an input method, false if not. + * @return Returns {@code true} if such a window should be behind/interact + * with an input method, (@code false} if not. */ public static boolean mayUseInputMethod(int flags) { - switch (flags&(FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM)) { - case 0: - case FLAG_NOT_FOCUSABLE|FLAG_ALT_FOCUSABLE_IM: - return true; - } - return false; + return (flags & FLAG_NOT_FOCUSABLE) != FLAG_NOT_FOCUSABLE + && (flags & FLAG_ALT_FOCUSABLE_IM) != FLAG_ALT_FOCUSABLE_IM; } /** |
