diff options
Diffstat (limited to 'core/java/android/widget/PopupWindow.java')
| -rw-r--r-- | core/java/android/widget/PopupWindow.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java index bf25915df211..23ebadb3806a 100644 --- a/core/java/android/widget/PopupWindow.java +++ b/core/java/android/widget/PopupWindow.java @@ -2296,8 +2296,8 @@ public class PopupWindow { } /** @hide */ - protected final void detachFromAnchor() { - final View anchor = mAnchor != null ? mAnchor.get() : null; + protected void detachFromAnchor() { + final View anchor = getAnchor(); if (anchor != null) { final ViewTreeObserver vto = anchor.getViewTreeObserver(); vto.removeOnScrollChangedListener(mOnScrollChangedListener); @@ -2316,7 +2316,7 @@ public class PopupWindow { } /** @hide */ - protected final void attachToAnchor(View anchor, int xoff, int yoff, int gravity) { + protected void attachToAnchor(View anchor, int xoff, int yoff, int gravity) { detachFromAnchor(); final ViewTreeObserver vto = anchor.getViewTreeObserver(); @@ -2339,6 +2339,11 @@ public class PopupWindow { mAnchoredGravity = gravity; } + /** @hide */ + protected @Nullable View getAnchor() { + return mAnchor != null ? mAnchor.get() : null; + } + private void alignToAnchor() { final View anchor = mAnchor != null ? mAnchor.get() : null; if (anchor != null && anchor.isAttachedToWindow() && hasDecorView()) { |
