diff options
author | Jon Miranda <jonmiranda@google.com> | 2017-08-21 15:31:51 -0700 |
---|---|---|
committer | Jon Miranda <jonmiranda@google.com> | 2017-08-24 16:27:30 -0700 |
commit | bfaa4a4edc8999bf4f86fcb70610339e53d53b49 (patch) | |
tree | 07cbdd1fdca074c7448505236c2e8cea3d1e9b8c /src/com/android/launcher3/ButtonDropTarget.java | |
parent | 9b745a82bf5cf8bf9383b63179d0a750e9ab9ab6 (diff) | |
download | android_packages_apps_Trebuchet-bfaa4a4edc8999bf4f86fcb70610339e53d53b49.tar.gz android_packages_apps_Trebuchet-bfaa4a4edc8999bf4f86fcb70610339e53d53b49.tar.bz2 android_packages_apps_Trebuchet-bfaa4a4edc8999bf4f86fcb70610339e53d53b49.zip |
Hides text on ButtonDropTargets if any of them are ellipsized.
This can happen on small devices or on devices where Font/Display size
is enlarged and when Developer Options is turned on when all three
options {Uninstall, Delete, App Info} are shown at once.
Bug: 64391860
Change-Id: If355d28087d53148114eb586efb3c26f158b3713
Diffstat (limited to 'src/com/android/launcher3/ButtonDropTarget.java')
-rw-r--r-- | src/com/android/launcher3/ButtonDropTarget.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index e4a322622..632e49059 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -29,6 +29,7 @@ import android.graphics.ColorMatrix; import android.graphics.ColorMatrixColorFilter; import android.graphics.Rect; import android.graphics.drawable.Drawable; +import android.text.TextUtils; import android.util.AttributeSet; import android.view.View; import android.view.View.OnClickListener; @@ -69,6 +70,7 @@ public abstract class ButtonDropTarget extends TextView /** The paint applied to the drag view on hover */ protected int mHoverColor = 0; + protected CharSequence mText; protected ColorStateList mOriginalTextColor; protected Drawable mDrawable; @@ -96,6 +98,7 @@ public abstract class ButtonDropTarget extends TextView @Override protected void onFinishInflate() { super.onFinishInflate(); + mText = getText(); mOriginalTextColor = getTextColors(); } @@ -297,4 +300,30 @@ public abstract class ButtonDropTarget extends TextView public int getTextColor() { return getTextColors().getDefaultColor(); } + + /** + * Returns True if any update was made. + */ + public boolean updateText(boolean hide) { + if ((hide && getText().toString().isEmpty()) || (!hide && mText.equals(getText()))) { + return false; + } + + setText(hide ? "" : mText); + return true; + } + + public boolean isTextTruncated() { + int availableWidth = getMeasuredWidth(); + if (mHideParentOnDisable) { + ViewGroup parent = (ViewGroup) getParent(); + availableWidth = parent.getMeasuredWidth() - parent.getPaddingLeft() + - parent.getPaddingRight(); + } + availableWidth -= (getPaddingLeft() + getPaddingRight() + mDrawable.getIntrinsicWidth() + + getCompoundDrawablePadding()); + CharSequence displayedText = TextUtils.ellipsize(mText, getPaint(), availableWidth, + TextUtils.TruncateAt.END); + return !mText.equals(displayedText); + } } |