blob: 768e50068ac80b054e5bb09037b9c0c8bec4044b [file] [log] [blame]
Mindy Pereira7cb970b2011-09-19 13:33:10 -07001/*
2 * Copyright (C) 2011 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.ex.chips;
18
Mindy Pereira01162ce2011-09-20 12:21:55 -070019import android.content.Context;
Mindy Pereira7cb970b2011-09-19 13:33:10 -070020import android.test.AndroidTestCase;
Mindy Pereira01162ce2011-09-20 12:21:55 -070021import android.text.Editable;
22import android.text.SpannableStringBuilder;
Mindy Pereirad7192502011-09-22 08:04:45 -070023import android.text.style.ImageSpan;
Mindy Pereira01162ce2011-09-20 12:21:55 -070024import android.text.util.Rfc822Tokenizer;
Mindy Pereirad7192502011-09-22 08:04:45 -070025import android.widget.TextView;
Mindy Pereira01162ce2011-09-20 12:21:55 -070026
27import com.android.ex.chips.RecipientEditTextView;
28import com.android.ex.chips.RecipientEntry;
29
Mindy Pereira7cb970b2011-09-19 13:33:10 -070030
31public class ChipsTest extends AndroidTestCase {
Mindy Pereira8eb031e2011-09-20 15:42:32 -070032 private RecipientChip[] mMockRecips;
Mindy Pereira7cb970b2011-09-19 13:33:10 -070033
Mindy Pereira8eb031e2011-09-20 15:42:32 -070034 private RecipientEntry[] mMockEntries;
Mindy Pereira399bda82011-09-20 11:18:26 -070035
Mindy Pereira01162ce2011-09-20 12:21:55 -070036 private Rfc822Tokenizer mTokenizer;
37
38 private Editable mEditable;
39
40 class MockRecipientEditTextView extends RecipientEditTextView {
41
42 public MockRecipientEditTextView(Context context) {
43 super(context, null);
44 mTokenizer = new Rfc822Tokenizer();
45 setTokenizer(mTokenizer);
Mindy Pereira01162ce2011-09-20 12:21:55 -070046 }
47
48 @Override
49 public RecipientChip[] getSortedRecipients() {
50 return mMockRecips;
51 }
52
53 @Override
54 public Editable getText() {
55 return mEditable;
56 }
57
58 @Override
59 public Editable getSpannable() {
60 return mEditable;
61 }
Mindy Pereirad7192502011-09-22 08:04:45 -070062
63 @Override
64 public int getLineHeight() {
65 return 48;
66 }
Mindy Pereira01162ce2011-09-20 12:21:55 -070067 }
68
69 private MockRecipientEditTextView createViewForTesting() {
70 mEditable = new SpannableStringBuilder();
71 MockRecipientEditTextView view = new MockRecipientEditTextView(getContext());
72 return view;
73 }
74
75 public void testCreateDisplayText() {
76 RecipientEditTextView view = createViewForTesting();
77 RecipientEntry entry = RecipientEntry.constructGeneratedEntry("User Name, Jr",
78 "user@username.com");
79 String test = view.createDisplayText(entry);
80 assertEquals("Expected a properly formatted RFC email address",
81 "\"User Name, Jr\" <user@username.com>, ", test);
82
83 RecipientEntry alreadyFormatted = RecipientEntry.constructFakeEntry("user@username.com, ");
84 test = view.createDisplayText(alreadyFormatted);
85 assertEquals("Expected a properly formatted RFC email address", "<user@username.com>, ",
86 test);
87
88 RecipientEntry alreadyFormattedNoSpace = RecipientEntry
89 .constructFakeEntry("user@username.com,");
90 test = view.createDisplayText(alreadyFormattedNoSpace);
91 assertEquals("Expected a properly formatted RFC email address", "<user@username.com>, ",
92 test);
93
94 RecipientEntry alreadyNamed = RecipientEntry.constructGeneratedEntry("User Name",
95 "\"User Name, Jr\" <user@username.com>");
96 test = view.createDisplayText(alreadyNamed);
97 assertEquals(
98 "Expected address that used the name not the excess address name",
99 "User Name <user@username.com>, ", test);
100 }
101
102 public void testSanitizeBetween() {
Mindy Pereira8eb031e2011-09-20 15:42:32 -0700103 populateMocks(2);
Mindy Pereira01162ce2011-09-20 12:21:55 -0700104 MockRecipientEditTextView view = createViewForTesting();
105 String first = (String) mTokenizer.terminateToken("FIRST");
106 String second = (String) mTokenizer.terminateToken("SECOND");
107 String extra = "EXTRA";
Mindy Pereirad7192502011-09-22 08:04:45 -0700108 mEditable = new SpannableStringBuilder();
Mindy Pereira01162ce2011-09-20 12:21:55 -0700109 mEditable.append(first + extra + second);
110 int firstStart = mEditable.toString().indexOf(first);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700111 int firstEnd = firstStart + first.length();
Mindy Pereira01162ce2011-09-20 12:21:55 -0700112 int secondStart = mEditable.toString().indexOf(second);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700113 int secondEnd = secondStart + second.length();
Mindy Pereira01162ce2011-09-20 12:21:55 -0700114 mEditable.setSpan(mMockRecips[mMockRecips.length - 2], firstStart, firstEnd, 0);
115 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], secondStart, secondEnd, 0);
116 view.sanitizeBetween();
117 String editableString = mEditable.toString();
118 assertEquals(editableString.indexOf(extra), -1);
119 assertEquals(editableString.indexOf(first), firstStart);
120 assertEquals(editableString.indexOf(second), secondStart - extra.length());
121 assertEquals(editableString, (first + second));
122
123 mEditable = new SpannableStringBuilder();
Mindy Pereira8eb031e2011-09-20 15:42:32 -0700124 populateMocks(1);
125 mEditable.append(extra);
Mindy Pereira01162ce2011-09-20 12:21:55 -0700126 mEditable.append(first);
127 firstStart = mEditable.toString().indexOf(first);
128 firstEnd = firstStart + first.length();
129 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], firstStart, firstEnd, 0);
130 view.sanitizeBetween();
131 assertEquals(mEditable.toString(), first);
Mindy Pereira8eb031e2011-09-20 15:42:32 -0700132 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), firstStart
133 - extra.length());
134 }
135
Mindy Pereirad7192502011-09-22 08:04:45 -0700136 public void testMoreChip() {
137 populateMocks(3);
138 MockRecipientEditTextView view = createViewForTesting();
139 view.setMoreItem(createTestMoreItem());
140 String first = (String) mTokenizer.terminateToken("FIRST");
141 String second = (String) mTokenizer.terminateToken("SECOND");
142 String third = (String) mTokenizer.terminateToken("THIRD");
143 mEditable = new SpannableStringBuilder();
144 mEditable.append(first+second+third);
145
146 int firstStart = mEditable.toString().indexOf(first);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700147 int firstEnd = firstStart + first.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700148 int secondStart = mEditable.toString().indexOf(second);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700149 int secondEnd = secondStart + second.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700150 int thirdStart = mEditable.toString().indexOf(third);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700151 int thirdEnd = thirdStart + third.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700152 mEditable.setSpan(mMockRecips[mMockRecips.length - 3], firstStart, firstEnd, 0);
153 mEditable.setSpan(mMockRecips[mMockRecips.length - 2], secondStart, secondEnd, 0);
154 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], thirdStart, thirdEnd, 0);
155
156 view.createMoreChip();
157 assertEquals(mEditable.toString(), first+second+third);
158 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
159 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
160 // Find the more chip.
161 ImageSpan moreChip = view.getMoreChip();
162 assertEquals(mEditable.getSpanStart(moreChip), thirdStart);
163 assertEquals(mEditable.getSpanEnd(moreChip), thirdEnd);
164
165 view.removeMoreChip();
166 assertEquals(mEditable.toString(), first+second+third);
167 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
168 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 3]), firstEnd);
169 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
170 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), thirdStart);
171 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 1]), thirdEnd);
172 moreChip = view.getMoreChip();
173 assertEquals(mEditable.getSpanStart(moreChip), -1);
174
175 // Rinse and repeat, just in case!
176 view.createMoreChip();
177 assertEquals(mEditable.toString(), first+second+third);
178 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
179 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
180 // Find the more chip.
181 moreChip = view.getMoreChip();
182 assertEquals(mEditable.getSpanStart(moreChip), thirdStart);
183 assertEquals(mEditable.getSpanEnd(moreChip), thirdEnd);
184
185 view.removeMoreChip();
186 assertEquals(mEditable.toString(), first+second+third);
187 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
188 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 3]), firstEnd);
189 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
190 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), thirdStart);
191 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 1]), thirdEnd);
192 moreChip = view.getMoreChip();
193 assertEquals(mEditable.getSpanStart(moreChip), -1);
194 }
195
196 public void testMoreChipLotsOfUsers() {
197 populateMocks(10);
198 MockRecipientEditTextView view = createViewForTesting();
199 view.setMoreItem(createTestMoreItem());
200 String first = (String) mTokenizer.terminateToken("FIRST");
201 String second = (String) mTokenizer.terminateToken("SECOND");
202 String third = (String) mTokenizer.terminateToken("THIRD");
203 String fourth = (String) mTokenizer.terminateToken("FOURTH");
204 String fifth = (String) mTokenizer.terminateToken("FIFTH");
205 String sixth = (String) mTokenizer.terminateToken("SIXTH");
206 String seventh = (String) mTokenizer.terminateToken("SEVENTH");
207 String eigth = (String) mTokenizer.terminateToken("EIGHTH");
208 String ninth = (String) mTokenizer.terminateToken("NINTH");
209 String tenth = (String) mTokenizer.terminateToken("TENTH");
210 mEditable = new SpannableStringBuilder();
211 mEditable.append(first+second+third+fourth+fifth+sixth+seventh+eigth+ninth+tenth);
212
213 int firstStart = mEditable.toString().indexOf(first);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700214 int firstEnd = firstStart + first.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700215 int secondStart = mEditable.toString().indexOf(second);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700216 int secondEnd = secondStart + second.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700217 int thirdStart = mEditable.toString().indexOf(third);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700218 int thirdEnd = thirdStart + third.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700219 int fourthStart = mEditable.toString().indexOf(fourth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700220 int fourthEnd = fourthStart + fourth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700221 int fifthStart = mEditable.toString().indexOf(fifth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700222 int fifthEnd = fifthStart + fifth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700223 int sixthStart = mEditable.toString().indexOf(sixth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700224 int sixthEnd = sixthStart + sixth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700225 int seventhStart = mEditable.toString().indexOf(seventh);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700226 int seventhEnd = seventhStart + seventh.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700227 int eighthStart = mEditable.toString().indexOf(eigth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700228 int eighthEnd = eighthStart + eigth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700229 int ninthStart = mEditable.toString().indexOf(ninth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700230 int ninthEnd = ninthStart + ninth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700231 int tenthStart = mEditable.toString().indexOf(tenth);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700232 int tenthEnd = tenthStart + tenth.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700233 mEditable.setSpan(mMockRecips[mMockRecips.length - 10], firstStart, firstEnd, 0);
234 mEditable.setSpan(mMockRecips[mMockRecips.length - 9], secondStart, secondEnd, 0);
235 mEditable.setSpan(mMockRecips[mMockRecips.length - 8], thirdStart, thirdEnd, 0);
236 mEditable.setSpan(mMockRecips[mMockRecips.length - 7], fourthStart, fourthEnd, 0);
237 mEditable.setSpan(mMockRecips[mMockRecips.length - 6], fifthStart, fifthEnd, 0);
238 mEditable.setSpan(mMockRecips[mMockRecips.length - 5], sixthStart, sixthEnd, 0);
239 mEditable.setSpan(mMockRecips[mMockRecips.length - 4], seventhStart, seventhEnd, 0);
240 mEditable.setSpan(mMockRecips[mMockRecips.length - 3], eighthStart, eighthEnd, 0);
241 mEditable.setSpan(mMockRecips[mMockRecips.length - 2], ninthStart, ninthEnd, 0);
242 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], tenthStart, tenthEnd, 0);
243
244 view.createMoreChip();
245 assertEquals(mEditable.toString(), first + second + third + fourth + fifth + sixth
246 + seventh + eigth + ninth + tenth);
247 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 10]), firstStart);
248 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 9]), secondStart);
249 // Find the more chip.
250 ImageSpan moreChip = view.getMoreChip();
251 assertEquals(mEditable.getSpanStart(moreChip), thirdStart);
252 assertEquals(mEditable.getSpanEnd(moreChip), tenthEnd);
253
254 view.removeMoreChip();
255 assertEquals(mEditable.toString(), first + second + third + fourth + fifth + sixth
256 + seventh + eigth + ninth + tenth);
257 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 10]), firstStart);
258 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 9]), secondStart);
259
260 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 8]), thirdStart);
261 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 7]), fourthStart);
262 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 6]), fifthStart);
263 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 5]), sixthStart);
264 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 4]), seventhStart);
265 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), eighthStart);
266 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), ninthStart);
267 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), tenthStart);
268 moreChip = view.getMoreChip();
269 assertEquals(mEditable.getSpanStart(moreChip), -1);
270
271 }
272
273 public void testMoreChipSpecialChars() {
274 populateMocks(3);
275 MockRecipientEditTextView view = createViewForTesting();
276 view.setMoreItem(createTestMoreItem());
277 String first = (String) mTokenizer.terminateToken("FI,RST");
278 String second = (String) mTokenizer.terminateToken("SE,COND");
279 String third = (String) mTokenizer.terminateToken("THI,RD");
280 mEditable = new SpannableStringBuilder();
281 mEditable.append(first+second+third);
282
283 int firstStart = mEditable.toString().indexOf(first);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700284 int firstEnd = firstStart + first.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700285 int secondStart = mEditable.toString().indexOf(second);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700286 int secondEnd = secondStart + second.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700287 int thirdStart = mEditable.toString().indexOf(third);
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700288 int thirdEnd = thirdStart + third.length();
Mindy Pereirad7192502011-09-22 08:04:45 -0700289 mEditable.setSpan(mMockRecips[mMockRecips.length - 3], firstStart, firstEnd, 0);
290 mEditable.setSpan(mMockRecips[mMockRecips.length - 2], secondStart, secondEnd, 0);
291 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], thirdStart, thirdEnd, 0);
292
293 view.createMoreChip();
294 assertEquals(mEditable.toString(), first+second+third);
295 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
296 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
297 // Find the more chip.
298 ImageSpan moreChip = view.getMoreChip();
299 assertEquals(mEditable.getSpanStart(moreChip), thirdStart);
300 assertEquals(mEditable.getSpanEnd(moreChip), thirdEnd);
301
302 view.removeMoreChip();
303 assertEquals(mEditable.toString(), first+second+third);
304 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), firstStart);
305 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 3]), firstEnd);
306 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), secondStart);
307 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), thirdStart);
308 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 1]), thirdEnd);
309 moreChip = view.getMoreChip();
310 assertEquals(mEditable.getSpanStart(moreChip), -1);
311 }
312
Mindy Pereiradfeb97f2011-09-23 10:50:47 -0700313 public void testMoreChipDupes() {
314 populateMocks(4);
315 MockRecipientEditTextView view = createViewForTesting();
316 view.setMoreItem(createTestMoreItem());
317 String first = (String) mTokenizer.terminateToken("FIRST");
318 String second = (String) mTokenizer.terminateToken("SECOND");
319 String third = (String) mTokenizer.terminateToken("THIRD");
320 mEditable = new SpannableStringBuilder();
321 mEditable.append(first+second+third+third);
322
323 int firstStart = mEditable.toString().indexOf(first);
324 int firstEnd = firstStart + first.length();
325 int secondStart = mEditable.toString().indexOf(second);
326 int secondEnd = secondStart + second.length();
327 int thirdStart = mEditable.toString().indexOf(third);
328 int thirdEnd = thirdStart + third.length();
329 int thirdNextStart = mEditable.toString().indexOf(third, thirdEnd);
330 int thirdNextEnd = thirdNextStart + third.length();
331 mEditable.setSpan(mMockRecips[mMockRecips.length - 4], firstStart, firstEnd, 0);
332 mEditable.setSpan(mMockRecips[mMockRecips.length - 3], secondStart, secondEnd, 0);
333 mEditable.setSpan(mMockRecips[mMockRecips.length - 2], thirdStart, thirdEnd, 0);
334 mEditable.setSpan(mMockRecips[mMockRecips.length - 1], thirdNextStart, thirdNextEnd, 0);
335
336 view.createMoreChip();
337 assertEquals(mEditable.toString(), first+second+third+third);
338 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 4]), firstStart);
339 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), secondStart);
340 // Find the more chip.
341 ImageSpan moreChip = view.getMoreChip();
342 assertEquals(mEditable.getSpanStart(moreChip), thirdStart);
343 assertEquals(mEditable.getSpanEnd(moreChip), thirdNextEnd);
344
345 view.removeMoreChip();
346 assertEquals(mEditable.toString(), first+second+third+third);
347 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 4]), firstStart);
348 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 4]), firstEnd);
349 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 3]), secondStart);
350 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 2]), thirdStart);
351 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 2]), thirdEnd);
352 assertEquals(mEditable.getSpanStart(mMockRecips[mMockRecips.length - 1]), thirdNextStart);
353 assertEquals(mEditable.getSpanEnd(mMockRecips[mMockRecips.length - 1]), thirdNextEnd);
354 moreChip = view.getMoreChip();
355 assertEquals(mEditable.getSpanStart(moreChip), -1);
356 }
357
Mindy Pereirad7192502011-09-22 08:04:45 -0700358 private TextView createTestMoreItem() {
359 TextView view = new TextView(getContext());
360 view.setText("<xliff:g id='count'>%1$s</xliff:g> more...");
361 return view;
362 }
363
Mindy Pereira8eb031e2011-09-20 15:42:32 -0700364 private void populateMocks(int size) {
365 mMockEntries = new RecipientEntry[size];
366 for (int i = 0; i < size; i++) {
367 mMockEntries[i] = RecipientEntry.constructGeneratedEntry("user",
368 "user@username.com");
369 }
370 mMockRecips = new RecipientChip[size];
371 for (int i = 0; i < size; i++) {
372 mMockRecips[i] = new RecipientChip(null, mMockEntries[i], i);
373 }
Mindy Pereira7cb970b2011-09-19 13:33:10 -0700374 }
375}