diff --git a/api/current.txt b/api/current.txt index ef9bf1e27c321..c60f5d2df239c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -44567,7 +44567,7 @@ package android.view { method public java.lang.Object getTag(int); method public int getTextAlignment(); method public int getTextDirection(); - method public final java.lang.CharSequence getTooltipText(); + method public java.lang.CharSequence getTooltipText(); method public final int getTop(); method protected float getTopFadingEdgeStrength(); method protected int getTopPaddingOffset(); @@ -44873,7 +44873,7 @@ package android.view { method public void setTag(int, java.lang.Object); method public void setTextAlignment(int); method public void setTextDirection(int); - method public final void setTooltipText(java.lang.CharSequence); + method public void setTooltipText(java.lang.CharSequence); method public final void setTop(int); method public void setTouchDelegate(android.view.TouchDelegate); method public final void setTransitionName(java.lang.String); diff --git a/api/system-current.txt b/api/system-current.txt index a670ee1a600a7..7289604b4af1d 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -47983,7 +47983,7 @@ package android.view { method public java.lang.Object getTag(int); method public int getTextAlignment(); method public int getTextDirection(); - method public final java.lang.CharSequence getTooltipText(); + method public java.lang.CharSequence getTooltipText(); method public final int getTop(); method protected float getTopFadingEdgeStrength(); method protected int getTopPaddingOffset(); @@ -48289,7 +48289,7 @@ package android.view { method public void setTag(int, java.lang.Object); method public void setTextAlignment(int); method public void setTextDirection(int); - method public final void setTooltipText(java.lang.CharSequence); + method public void setTooltipText(java.lang.CharSequence); method public final void setTop(int); method public void setTouchDelegate(android.view.TouchDelegate); method public final void setTransitionName(java.lang.String); diff --git a/api/test-current.txt b/api/test-current.txt index 2357e2f0a784e..dd442daac7728 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -44873,7 +44873,7 @@ package android.view { method public java.lang.Object getTag(int); method public int getTextAlignment(); method public int getTextDirection(); - method public final java.lang.CharSequence getTooltipText(); + method public java.lang.CharSequence getTooltipText(); method public android.view.View getTooltipView(); method public final int getTop(); method protected float getTopFadingEdgeStrength(); @@ -45180,7 +45180,7 @@ package android.view { method public void setTag(int, java.lang.Object); method public void setTextAlignment(int); method public void setTextDirection(int); - method public final void setTooltipText(java.lang.CharSequence); + method public void setTooltipText(java.lang.CharSequence); method public final void setTop(int); method public void setTouchDelegate(android.view.TouchDelegate); method public final void setTransitionName(java.lang.String); diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 039237a7dc187..4f6365832cb8a 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -24796,13 +24796,20 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * Sets the tooltip text which will be displayed in a small popup next to the view. *

* The tooltip will be displayed: + *

+ *

+ * Note: Do not override this method, as it will have no + * effect on the text displayed in the tooltip. * * @param tooltipText the tooltip text, or null if no tooltip is required + * @see #getTooltipText() + * @attr ref android.R.styleable#View_tooltipText */ - public final void setTooltipText(@Nullable CharSequence tooltipText) { + public void setTooltipText(@Nullable CharSequence tooltipText) { if (TextUtils.isEmpty(tooltipText)) { setFlags(0, TOOLTIP); hideTooltip(); @@ -24831,10 +24838,16 @@ public class View implements Drawable.Callback, KeyEvent.Callback, /** * Returns the view's tooltip text. * + * Note: Do not override this method, as it will have no + * effect on the text displayed in the tooltip. You must call + * {@link #setTooltipText(CharSequence)} to modify the tooltip text. + * * @return the tooltip text + * @see #setTooltipText(CharSequence) + * @attr ref android.R.styleable#View_tooltipText */ @Nullable - public final CharSequence getTooltipText() { + public CharSequence getTooltipText() { return mTooltipInfo != null ? mTooltipInfo.mTooltipText : null; } @@ -24847,21 +24860,20 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } private boolean showTooltip(int x, int y, boolean fromLongClick) { - if (mAttachInfo == null) { + if (mAttachInfo == null || mTooltipInfo == null) { return false; } if ((mViewFlags & ENABLED_MASK) != ENABLED) { return false; } - final CharSequence tooltipText = getTooltipText(); - if (TextUtils.isEmpty(tooltipText)) { + if (TextUtils.isEmpty(mTooltipInfo.mTooltipText)) { return false; } hideTooltip(); mTooltipInfo.mTooltipFromLongClick = fromLongClick; mTooltipInfo.mTooltipPopup = new TooltipPopup(getContext()); final boolean fromTouch = (mPrivateFlags3 & PFLAG3_FINGER_DOWN) == PFLAG3_FINGER_DOWN; - mTooltipInfo.mTooltipPopup.show(this, x, y, fromTouch, tooltipText); + mTooltipInfo.mTooltipPopup.show(this, x, y, fromTouch, mTooltipInfo.mTooltipText); mAttachInfo.mTooltipHost = this; return true; }