diff options
Diffstat (limited to 'chips/src/com/android/ex/chips/InvisibleRecipientChip.java')
-rw-r--r-- | chips/src/com/android/ex/chips/InvisibleRecipientChip.java | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/chips/src/com/android/ex/chips/InvisibleRecipientChip.java b/chips/src/com/android/ex/chips/InvisibleRecipientChip.java index 46fe19a..beeb499 100644 --- a/chips/src/com/android/ex/chips/InvisibleRecipientChip.java +++ b/chips/src/com/android/ex/chips/InvisibleRecipientChip.java @@ -42,6 +42,9 @@ import android.text.style.ReplacementSpan; private CharSequence mOriginalText; + /** <code>true</code> to display the original text, <code>false</code> to display nothing */ + private boolean mDisplayOriginalText = false; + public InvisibleRecipientChip(RecipientEntry entry, int offset) { super(); mDisplay = entry.getDisplayName(); @@ -112,15 +115,28 @@ import android.text.style.ReplacementSpan; return !TextUtils.isEmpty(mOriginalText) ? mOriginalText : mEntry.getDestination(); } + public void setDisplayOriginalText(final boolean displayOriginalText) { + mDisplayOriginalText = displayOriginalText; + } + @Override - public void draw(Canvas arg0, CharSequence arg1, int arg2, int arg3, float arg4, int arg5, - int arg6, int arg7, Paint arg8) { - // Do nothing. + public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, + int bottom, Paint paint) { + if (mDisplayOriginalText) { + canvas.drawText(text, start, end, x, y, paint); + } else { + // Do nothing. + } } @Override - public int getSize(Paint arg0, CharSequence arg1, int arg2, int arg3, FontMetricsInt arg4) { - return 0; + public int getSize( + Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) { + if (mDisplayOriginalText) { + return (int) paint.measureText(text, start, end); + } else { + return 0; + } } @Override |