diff options
| author | Derek Sollenberger <djsollen@google.com> | 2010-03-01 13:44:42 -0500 |
|---|---|---|
| committer | Derek Sollenberger <djsollen@google.com> | 2010-03-01 14:11:10 -0500 |
| commit | ecde72fe411811ca02a2565bf73b86e6e8ddc76b (patch) | |
| tree | 69f539a4844a2692bcef84973e20caaedd359ded /core/java/android/view/SurfaceView.java | |
| parent | a406fb90805adf36fe0fabd3a79018e33706453c (diff) | |
Ensure the IME is rendered above the surface when we z-order the surface to be on top.
Diffstat (limited to 'core/java/android/view/SurfaceView.java')
| -rw-r--r-- | core/java/android/view/SurfaceView.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index ca5e1de1e5b9..a79a91c8cff2 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -319,8 +319,14 @@ public class SurfaceView extends View { * <p>Calling this overrides any previous call to {@link #setZOrderMediaOverlay}. */ public void setZOrderOnTop(boolean onTop) { - mWindowType = onTop ? WindowManager.LayoutParams.TYPE_APPLICATION_PANEL - : WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA; + if (onTop) { + mWindowType = WindowManager.LayoutParams.TYPE_APPLICATION_PANEL; + // ensures the surface is placed below the IME + mLayout.flags |= WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; + } else { + mWindowType = WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA; + mLayout.flags &= ~WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; + } } /** |
