summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt1
-rw-r--r--api/system-current.txt1
-rw-r--r--core/java/android/widget/Editor.java3
-rw-r--r--core/java/android/widget/ListPopupWindow.java18
-rw-r--r--core/java/android/widget/PopupWindow.java6
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.
*