1f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy/* 2f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * Copyright (C) 2011 The Android Open Source Project 3f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * 4f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * Licensed under the Apache License, Version 2.0 (the "License"); 5f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * you may not use this file except in compliance with the License. 6f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * You may obtain a copy of the License at 7f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * 8f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * http://www.apache.org/licenses/LICENSE-2.0 9f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * 10f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * Unless required by applicable law or agreed to in writing, software 11f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * distributed under the License is distributed on an "AS IS" BASIS, 12f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * See the License for the specific language governing permissions and 14f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * limitations under the License. 15f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy */ 16f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 17f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedypackage com.android.ex.chips.recipientchip; 18f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 19f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedyimport android.graphics.Canvas; 20f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedyimport android.graphics.Paint; 21f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedyimport android.graphics.Rect; 22f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedyimport android.text.style.ReplacementSpan; 23f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 24f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedyimport com.android.ex.chips.RecipientEntry; 25f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 26f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy/** 27f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * RecipientChip defines a span that contains information relevant to a 28f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy * particular recipient. 29f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy */ 30f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedypublic class InvisibleRecipientChip extends ReplacementSpan implements DrawableRecipientChip { 31f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy private final SimpleRecipientChip mDelegate; 32f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 33f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public InvisibleRecipientChip(final RecipientEntry entry) { 34f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy super(); 35f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 36f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy mDelegate = new SimpleRecipientChip(entry); 37f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 38f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 39f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 40f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public void setSelected(final boolean selected) { 41f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy mDelegate.setSelected(selected); 42f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 43f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 44f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 45f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public boolean isSelected() { 46f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.isSelected(); 47f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 48f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 49f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 50f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public CharSequence getDisplay() { 51f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getDisplay(); 52f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 53f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 54f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 55f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public CharSequence getValue() { 56f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getValue(); 57f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 58f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 59f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 60f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public long getContactId() { 61f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getContactId(); 62f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 63f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 64f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 65f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public long getDataId() { 66f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getDataId(); 67f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 68f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 69f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 70f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public RecipientEntry getEntry() { 71f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getEntry(); 72f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 73f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 74f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 75f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public void setOriginalText(final String text) { 76f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy mDelegate.setOriginalText(text); 77f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 78f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 79f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 80f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public CharSequence getOriginalText() { 81f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return mDelegate.getOriginalText(); 82f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 83f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 84f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 853e8176df16950c067bcb1b37e62b2fc07d74065aScott Kennedy public boolean isGalContact() { 863e8176df16950c067bcb1b37e62b2fc07d74065aScott Kennedy return mDelegate.isGalContact(); 873e8176df16950c067bcb1b37e62b2fc07d74065aScott Kennedy } 883e8176df16950c067bcb1b37e62b2fc07d74065aScott Kennedy 893e8176df16950c067bcb1b37e62b2fc07d74065aScott Kennedy @Override 90f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public void draw(final Canvas canvas, final CharSequence text, final int start, final int end, 91f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy final float x, final int top, final int y, final int bottom, final Paint paint) { 92f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy // Do nothing. 93f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 94f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 95f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 96f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public int getSize(final Paint paint, final CharSequence text, final int start, final int end, 97f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy final Paint.FontMetricsInt fm) { 98f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return 0; 99f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 100f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 101f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 102f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public Rect getBounds() { 103f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy return new Rect(0, 0, 0, 0); 104f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 105f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy 106f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy @Override 107f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy public void draw(final Canvas canvas) { 108f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy // do nothing. 109f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy } 110f1d0416bad440e015c8f09c3827acc19d939d71aScott Kennedy} 111