summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2015-05-06 17:24:29 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-05-06 17:24:31 +0000
commit4d5c20c613a6716b14bd8ca3f178672c356a89e5 (patch)
treeacadebfa8bc3f5b682ee6ddf33eb60d1c8ddc95a
parent26d955fd02e0bf3f76c50bceeba4b61598f1a8b2 (diff)
parent80ebe0d4ecb36d0e82dce499ccc0810cf3a0ec89 (diff)
downloadframeworks_base-4d5c20c613a6716b14bd8ca3f178672c356a89e5.zip
frameworks_base-4d5c20c613a6716b14bd8ca3f178672c356a89e5.tar.gz
frameworks_base-4d5c20c613a6716b14bd8ca3f178672c356a89e5.tar.bz2
Merge "ListPopupWindow should use window layout type SUB_PANEL" into mnc-dev
-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 cf365ff..375bee7 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 e08ffd4..63ba05f 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 8d35b83..712fdba 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 310412f..05866f0 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 c3ac278..b4cbf35 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.
*