summaryrefslogtreecommitdiff
path: root/core/java/android/view/SurfaceView.java
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2010-03-01 13:44:42 -0500
committerDerek Sollenberger <djsollen@google.com>2010-03-01 14:11:10 -0500
commitecde72fe411811ca02a2565bf73b86e6e8ddc76b (patch)
tree69f539a4844a2692bcef84973e20caaedd359ded /core/java/android/view/SurfaceView.java
parenta406fb90805adf36fe0fabd3a79018e33706453c (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.java10
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;
+ }
}
/**