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