diff options
| -rw-r--r-- | api/current.txt | 1 | ||||
| -rw-r--r-- | api/system-current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/widget/Editor.java | 3 | ||||
| -rw-r--r-- | core/java/android/widget/ListPopupWindow.java | 18 | ||||
| -rw-r--r-- | core/java/android/widget/PopupWindow.java | 6 | 
5 files changed, 24 insertions, 5 deletions
diff --git a/api/current.txt b/api/current.txt index cf365ff99296..375bee7c0c50 100644 --- a/api/current.txt +++ b/api/current.txt @@ -40658,6 +40658,7 @@ package android.widget {      method public void setSoftInputMode(int);      method public void setVerticalOffset(int);      method public void setWidth(int); +    method public void setWindowLayoutType(int);      method public void show();      field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0      field public static final int INPUT_METHOD_NEEDED = 1; // 0x1 diff --git a/api/system-current.txt b/api/system-current.txt index e08ffd4514a0..63ba05fd76a3 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -43180,6 +43180,7 @@ package android.widget {      method public void setSoftInputMode(int);      method public void setVerticalOffset(int);      method public void setWidth(int); +    method public void setWindowLayoutType(int);      method public void show();      field public static final int INPUT_METHOD_FROM_FOCUSABLE = 0; // 0x0      field public static final int INPUT_METHOD_NEEDED = 1; // 0x1 diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index 8d35b837083c..712fdba6dd25 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -2421,7 +2421,8 @@ public class Editor {          public PinnedPopupWindow() {              createPopupWindow(); -            mPopupWindow.setWindowLayoutType(WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL); +            mPopupWindow.setWindowLayoutType( +                    WindowManager.LayoutParams.TYPE_APPLICATION_ABOVE_SUB_PANEL);              mPopupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);              mPopupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java index 310412f9ba02..05866f07f9a9 100644 --- a/core/java/android/widget/ListPopupWindow.java +++ b/core/java/android/widget/ListPopupWindow.java @@ -39,6 +39,7 @@ import android.view.View.OnTouchListener;  import android.view.ViewConfiguration;  import android.view.ViewGroup;  import android.view.ViewParent; +import android.view.WindowManager;  import android.view.animation.AccelerateDecelerateInterpolator;  import com.android.internal.R; @@ -77,6 +78,7 @@ public class ListPopupWindow {      private int mDropDownWidth = ViewGroup.LayoutParams.WRAP_CONTENT;      private int mDropDownHorizontalOffset;      private int mDropDownVerticalOffset; +    private int mDropDownWindowLayoutType = WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL;      private boolean mDropDownVerticalOffsetSet;      private int mDropDownGravity = Gravity.NO_GRAVITY; @@ -515,6 +517,19 @@ public class ListPopupWindow {      }      /** +     * Set the layout type for this popup window. +     * <p> +     * See {@link WindowManager.LayoutParams#type} for possible values. +     * +     * @param layoutType Layout type for this window. +     * +     * @see WindowManager.LayoutParams#type +     */ +    public void setWindowLayoutType(int layoutType) { +        mDropDownWindowLayoutType = layoutType; +    } + +    /**       * Sets a listener to receive events when a list item is clicked.       *        * @param clickListener Listener to register @@ -567,8 +582,9 @@ public class ListPopupWindow {      public void show() {          int height = buildDropDown(); -        boolean noInputMethod = isInputMethodNotNeeded(); +        final boolean noInputMethod = isInputMethodNotNeeded();          mPopup.setAllowScrollingAnchorParent(!noInputMethod); +        mPopup.setWindowLayoutType(mDropDownWindowLayoutType);          if (mPopup.isShowing()) {              final int widthSpec; diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java index c3ac278760f8..b4cbf35ac60e 100644 --- a/core/java/android/widget/PopupWindow.java +++ b/core/java/android/widget/PopupWindow.java @@ -829,9 +829,9 @@ public class PopupWindow {      }      /** -     * Set the layout type for this window. This value will be passed through to -     * {@link WindowManager.LayoutParams#type} therefore the value should match any value -     * {@link WindowManager.LayoutParams#type} accepts. +     * Set the layout type for this window. +     * <p> +     * See {@link WindowManager.LayoutParams#type} for possible values.       *       * @param layoutType Layout type for this window.       *  |