From 8ee6d7c20e7767c2f61f8db9a99d01e0a05f3842 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Sun, 18 Sep 2011 14:59:28 -0700 Subject: Fix bug 5333962 - Problems with no action bar/overlay action mode Change the standalone action mode window for overlay mode to be of TYPE_APPLICATION. (This also fixes a bug where overflow menus would not work properly on these types of action mode bars.) Set exitFadeDuration on btn_cab_done_holo_* drawables. Remove no-window-focus override selector states for selectable item backgrounds to allow proper touch feedback on windows that do not have focus but that the user can interact with. Change-Id: Ib504866238708150d21e6183ff7b695869c05d3e --- core/java/android/widget/PopupWindow.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'core/java/android') diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java index 4d45c2fee094..aac20c4434ad 100644 --- a/core/java/android/widget/PopupWindow.java +++ b/core/java/android/widget/PopupWindow.java @@ -796,6 +796,21 @@ public class PopupWindow { * @param y the popup's y location offset */ public void showAtLocation(View parent, int gravity, int x, int y) { + showAtLocation(parent.getWindowToken(), gravity, x, y); + } + + /** + * Display the content view in a popup window at the specified location. + * + * @param token Window token to use for creating the new window + * @param gravity the gravity which controls the placement of the popup window + * @param x the popup's x location offset + * @param y the popup's y location offset + * + * @hide Internal use only. Applications should use + * {@link #showAtLocation(View, int, int, int)} instead. + */ + public void showAtLocation(IBinder token, int gravity, int x, int y) { if (isShowing() || mContentView == null) { return; } @@ -805,7 +820,7 @@ public class PopupWindow { mIsShowing = true; mIsDropdown = false; - WindowManager.LayoutParams p = createPopupLayout(parent.getWindowToken()); + WindowManager.LayoutParams p = createPopupLayout(token); p.windowAnimations = computeAnimationResource(); preparePopup(p); -- cgit v1.2.3