summaryrefslogtreecommitdiffstats
path: root/chips/src/com/android/ex/chips/InvisibleRecipientChip.java
diff options
context:
space:
mode:
Diffstat (limited to 'chips/src/com/android/ex/chips/InvisibleRecipientChip.java')
-rw-r--r--chips/src/com/android/ex/chips/InvisibleRecipientChip.java26
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