diff --git a/chips/res/layout/chips_waiting_for_directory_search.xml b/chips/res/layout/chips_waiting_for_directory_search.xml
deleted file mode 100644
index cc35c35..0000000
--- a/chips/res/layout/chips_waiting_for_directory_search.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="50dip"
-    android:orientation="horizontal"
-    android:layout_centerVertical="true"
-    android:layout_gravity="center_vertical">
-    <TextView android:id="@+id/text1"
-        android:textColor="?android:attr/textColorSecondary"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentLeft="true"
-        android:layout_centerVertical="true"
-        android:gravity="center_vertical"
-        android:paddingLeft="6dip"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:text="@string/chips_waiting_for_directory_result"
-        />
-    <ProgressBar android:id="@+id/progress_circular"
-        style="?android:attr/progressBarStyleSmall"
-        android:indeterminate="true"
-        android:layout_centerVertical="true"
-        android:layout_alignParentRight="true"
-        android:layout_marginLeft="6dip"
-        android:layout_marginRight="6dip"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content" />
-</RelativeLayout>
diff --git a/chips/res/values-af/strings.xml b/chips/res/values-af/strings.xml
index 07f556d..8b6ac01 100644
--- a/chips/res/values-af/strings.xml
+++ b/chips/res/values-af/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> meer..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Wag tans vir meer kontakte"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopieer e-posadres"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopieer foonnommer"</string>
     <string name="done" msgid="2356320650733788862">"Terugkeer"</string>
diff --git a/chips/res/values-am/strings.xml b/chips/res/values-am/strings.xml
index 01970e1..52a7655 100644
--- a/chips/res/values-am/strings.xml
+++ b/chips/res/values-am/strings.xml
@@ -17,8 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> ተጨማሪ..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"ተጨማሪ ዕውቂያዎችን በመጠበቅ ላይ"</string>
     <string name="copy_email" msgid="7869435992461603532">"የኢሜይል አድራሻ ቅዳ"</string>
     <string name="copy_number" msgid="530057841276106843">"የስልክ ቁጥር ቅዳ"</string>
-    <string name="done" msgid="2356320650733788862">"አውጣ"</string>
+    <string name="done" msgid="2356320650733788862">"መልስ"</string>
 </resources>
diff --git a/chips/res/values-ar/strings.xml b/chips/res/values-ar/strings.xml
index 7ebe26d..2346b29 100644
--- a/chips/res/values-ar/strings.xml
+++ b/chips/res/values-ar/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> من المستلمين الآخرين..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"في انتظار المزيد من جهات الاتصال"</string>
     <string name="copy_email" msgid="7869435992461603532">"نسخ عنوان البريد الإلكتروني"</string>
     <string name="copy_number" msgid="530057841276106843">"نسخ رقم الهاتف"</string>
     <string name="done" msgid="2356320650733788862">"رجوع"</string>
diff --git a/chips/res/values-be/strings.xml b/chips/res/values-be/strings.xml
index cc90ffd..d8f5e7d 100644
--- a/chips/res/values-be/strings.xml
+++ b/chips/res/values-be/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Больш на <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Чаканне новых кантактаў"</string>
     <string name="copy_email" msgid="7869435992461603532">"Скапіраваць адрас электроннай пошты"</string>
     <string name="copy_number" msgid="530057841276106843">"Скапіраваць нумар тэлефона"</string>
     <string name="done" msgid="2356320650733788862">"Назад"</string>
diff --git a/chips/res/values-bg/strings.xml b/chips/res/values-bg/strings.xml
index 3595670..57993b2 100644
--- a/chips/res/values-bg/strings.xml
+++ b/chips/res/values-bg/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Още <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Изчакват се още контакти"</string>
     <string name="copy_email" msgid="7869435992461603532">"Копиране на имейл адреса"</string>
     <string name="copy_number" msgid="530057841276106843">"Копиране на телефонния номер"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-ca/strings.xml b/chips/res/values-ca/strings.xml
index 9acb8fc..7ba550b 100644
--- a/chips/res/values-ca/strings.xml
+++ b/chips/res/values-ca/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> més..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"S\'estan esperant més contactes"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copia l\'adreça electrònica"</string>
     <string name="copy_number" msgid="530057841276106843">"Copia el número de telèfon"</string>
     <string name="done" msgid="2356320650733788862">"Retorn"</string>
diff --git a/chips/res/values-cs/strings.xml b/chips/res/values-cs/strings.xml
index a7a6d43..ffd8b12 100644
--- a/chips/res/values-cs/strings.xml
+++ b/chips/res/values-cs/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Ještě <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Čeká se na další kontakty"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopírovat e-mailovou adresu"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopírovat telefonní číslo"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-da/strings.xml b/chips/res/values-da/strings.xml
index d5f3c01..13cc591 100644
--- a/chips/res/values-da/strings.xml
+++ b/chips/res/values-da/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> flere..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Venter på flere kontaktpersoner"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiér e-mailadressen"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiér telefonnummeret"</string>
     <string name="done" msgid="2356320650733788862">"Tilbage"</string>
diff --git a/chips/res/values-de/strings.xml b/chips/res/values-de/strings.xml
index 3c5b04f..940ef94 100644
--- a/chips/res/values-de/strings.xml
+++ b/chips/res/values-de/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> weitere..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Warten auf weitere Kontakte"</string>
     <string name="copy_email" msgid="7869435992461603532">"E-Mail-Adresse kopieren"</string>
     <string name="copy_number" msgid="530057841276106843">"Telefonnummer kopieren"</string>
     <string name="done" msgid="2356320650733788862">"Eingabe"</string>
diff --git a/chips/res/values-el/strings.xml b/chips/res/values-el/strings.xml
index e7a5f66..b1745f8 100644
--- a/chips/res/values-el/strings.xml
+++ b/chips/res/values-el/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> περισσότεροι..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Αναμονή για περισσ. επαφές"</string>
     <string name="copy_email" msgid="7869435992461603532">"Αντιγραφή διεύθυνσης ηλεκτρονικού ταχυδρομείου"</string>
     <string name="copy_number" msgid="530057841276106843">"Αντιγραφή αριθμού τηλεφώνου"</string>
     <string name="done" msgid="2356320650733788862">"Πλήκτρο Return"</string>
diff --git a/chips/res/values-en-rGB/strings.xml b/chips/res/values-en-rGB/strings.xml
index 8691b20..d8d79dd 100644
--- a/chips/res/values-en-rGB/strings.xml
+++ b/chips/res/values-en-rGB/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> more..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Waiting for more contacts"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copy email address"</string>
     <string name="copy_number" msgid="530057841276106843">"Copy phone number"</string>
     <string name="done" msgid="2356320650733788862">"Return"</string>
diff --git a/chips/res/values-es-rUS/strings.xml b/chips/res/values-es-rUS/strings.xml
index 391fdd6..ca09dbc 100644
--- a/chips/res/values-es-rUS/strings.xml
+++ b/chips/res/values-es-rUS/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> más..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Esperando más contactos"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copiar la dirección de correo"</string>
     <string name="copy_number" msgid="530057841276106843">"Copiar el número de teléfono"</string>
     <string name="done" msgid="2356320650733788862">"Volver"</string>
diff --git a/chips/res/values-es/strings.xml b/chips/res/values-es/strings.xml
index e40a3cf..f20276d 100644
--- a/chips/res/values-es/strings.xml
+++ b/chips/res/values-es/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> más..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Esperando más contactos"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copiar dirección de correo electrónico"</string>
     <string name="copy_number" msgid="530057841276106843">"Copiar número de teléfono"</string>
     <string name="done" msgid="2356320650733788862">"Intro"</string>
diff --git a/chips/res/values-et/strings.xml b/chips/res/values-et/strings.xml
index a500aec..17a78d3 100644
--- a/chips/res/values-et/strings.xml
+++ b/chips/res/values-et/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Veel <xliff:g id="COUNT">%1$s</xliff:g> ..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Rohkemate kontaktide ootamine"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopeeri e-posti aadress"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopeeri telefoninumber"</string>
     <string name="done" msgid="2356320650733788862">"Sisestus"</string>
diff --git a/chips/res/values-fa/strings.xml b/chips/res/values-fa/strings.xml
index 2422df6..47d8838 100644
--- a/chips/res/values-fa/strings.xml
+++ b/chips/res/values-fa/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> مورد دیگر..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"انتظار برای مخاطبین بیشتر"</string>
     <string name="copy_email" msgid="7869435992461603532">"کپی آدرس ایمیل"</string>
     <string name="copy_number" msgid="530057841276106843">"کپی شماره تلفن"</string>
     <string name="done" msgid="2356320650733788862">"بازگشت"</string>
diff --git a/chips/res/values-fi/strings.xml b/chips/res/values-fi/strings.xml
index 97c3a5a..d077975 100644
--- a/chips/res/values-fi/strings.xml
+++ b/chips/res/values-fi/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> lisää..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Odotetaan lisää yhteystietoja"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopioi sähköpostiosoite"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopioi puhelinnumero"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-fr/strings.xml b/chips/res/values-fr/strings.xml
index a1938d5..e14945e 100644
--- a/chips/res/values-fr/strings.xml
+++ b/chips/res/values-fr/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> autres..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"En attente d\'autres contacts"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copier l\'adresse e-mail"</string>
     <string name="copy_number" msgid="530057841276106843">"Copier le numéro de téléphone"</string>
     <string name="done" msgid="2356320650733788862">"Entrée"</string>
diff --git a/chips/res/values-hi/strings.xml b/chips/res/values-hi/strings.xml
index 4253880..e65dd95 100644
--- a/chips/res/values-hi/strings.xml
+++ b/chips/res/values-hi/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> अधिक..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"अधिक संपर्कों के लिए प्रतीक्षा कर रहा है"</string>
     <string name="copy_email" msgid="7869435992461603532">"ईमेल पते की प्रतिलिपि बनाएं"</string>
     <string name="copy_number" msgid="530057841276106843">"फोन नंबर की प्रतिलिपि बनाएं"</string>
     <string name="done" msgid="2356320650733788862">"वापस लौटें"</string>
diff --git a/chips/res/values-hr/strings.xml b/chips/res/values-hr/strings.xml
index ddf0d59..99213ed 100644
--- a/chips/res/values-hr/strings.xml
+++ b/chips/res/values-hr/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Još <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Čeka se više kontakata"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiranje e-adrese"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiranje telefonskog broja"</string>
     <string name="done" msgid="2356320650733788862">"Vrati"</string>
diff --git a/chips/res/values-hu/strings.xml b/chips/res/values-hu/strings.xml
index 7efa62b..5fbabb4 100644
--- a/chips/res/values-hu/strings.xml
+++ b/chips/res/values-hu/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> további..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Várakozás több kapcsolatra"</string>
     <string name="copy_email" msgid="7869435992461603532">"E-mail cím másolása"</string>
     <string name="copy_number" msgid="530057841276106843">"Telefonszám másolása"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-in/strings.xml b/chips/res/values-in/strings.xml
index fc2ea09..38ee7ea 100644
--- a/chips/res/values-in/strings.xml
+++ b/chips/res/values-in/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> lainnya..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Menunggu kontak lainnya"</string>
     <string name="copy_email" msgid="7869435992461603532">"Salin alamat email"</string>
     <string name="copy_number" msgid="530057841276106843">"Salin nomor telepon"</string>
     <string name="done" msgid="2356320650733788862">"Kembali"</string>
diff --git a/chips/res/values-it/strings.xml b/chips/res/values-it/strings.xml
index 76e10b9..93d8735 100644
--- a/chips/res/values-it/strings.xml
+++ b/chips/res/values-it/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Altri <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"In attesa di più contatti"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copia indirizzo email"</string>
     <string name="copy_number" msgid="530057841276106843">"Copia numero di telefono"</string>
     <string name="done" msgid="2356320650733788862">"Invio"</string>
diff --git a/chips/res/values-iw/strings.xml b/chips/res/values-iw/strings.xml
index 53b4381..02fa54f 100644
--- a/chips/res/values-iw/strings.xml
+++ b/chips/res/values-iw/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"עוד <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"ממתין לאנשי קשר נוספים"</string>
     <string name="copy_email" msgid="7869435992461603532">"העתק כתובת דוא\"ל"</string>
     <string name="copy_number" msgid="530057841276106843">"העתק מספר טלפון"</string>
     <string name="done" msgid="2356320650733788862">"חזור"</string>
diff --git a/chips/res/values-ja/strings.xml b/chips/res/values-ja/strings.xml
index d7c7733..6419e94 100644
--- a/chips/res/values-ja/strings.xml
+++ b/chips/res/values-ja/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"その他<xliff:g id="COUNT">%1$s</xliff:g>人..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"他にも連絡先があります"</string>
     <string name="copy_email" msgid="7869435992461603532">"メールアドレスをコピー"</string>
     <string name="copy_number" msgid="530057841276106843">"電話番号をコピー"</string>
     <string name="done" msgid="2356320650733788862">"戻る"</string>
diff --git a/chips/res/values-ko/strings.xml b/chips/res/values-ko/strings.xml
index c044f60..e092e7b 100644
--- a/chips/res/values-ko/strings.xml
+++ b/chips/res/values-ko/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g>개 더보기..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"연락처 결과 대기 중"</string>
     <string name="copy_email" msgid="7869435992461603532">"이메일 주소 복사"</string>
     <string name="copy_number" msgid="530057841276106843">"전화번호 복사"</string>
     <string name="done" msgid="2356320650733788862">"Enter 키"</string>
diff --git a/chips/res/values-lt/strings.xml b/chips/res/values-lt/strings.xml
index 1971a4d..5a45634 100644
--- a/chips/res/values-lt/strings.xml
+++ b/chips/res/values-lt/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Dar <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Laukiama daugiau kontaktų"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopijuoti el. pašto adresą"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopijuoti telefono numerį"</string>
     <string name="done" msgid="2356320650733788862">"Grįžti"</string>
diff --git a/chips/res/values-lv/strings.xml b/chips/res/values-lv/strings.xml
index b0194d2..a91842b 100644
--- a/chips/res/values-lv/strings.xml
+++ b/chips/res/values-lv/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"vēl <xliff:g id="COUNT">%1$s</xliff:g> personas..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Gaida vairāk kontaktpersonu"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopēt e-pasta adresi"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopēt tālruņa numuru"</string>
     <string name="done" msgid="2356320650733788862">"Iev. taust."</string>
diff --git a/chips/res/values-ms/strings.xml b/chips/res/values-ms/strings.xml
index 801c4cf..d949122 100644
--- a/chips/res/values-ms/strings.xml
+++ b/chips/res/values-ms/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> lagi..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Menunggu untuk lebih banyak kenalan"</string>
     <string name="copy_email" msgid="7869435992461603532">"Salin alamat e-mel"</string>
     <string name="copy_number" msgid="530057841276106843">"Salin nombor telefon"</string>
     <string name="done" msgid="2356320650733788862">"Kembali"</string>
diff --git a/chips/res/values-nb/strings.xml b/chips/res/values-nb/strings.xml
index 08d2d4e..e556302 100644
--- a/chips/res/values-nb/strings.xml
+++ b/chips/res/values-nb/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> flere"</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Venter på flere kontakter"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiér e-postadressen"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiér telefonnummeret"</string>
     <string name="done" msgid="2356320650733788862">"Gå tilbake"</string>
diff --git a/chips/res/values-nl/strings.xml b/chips/res/values-nl/strings.xml
index 826d9be..31334f2 100644
--- a/chips/res/values-nl/strings.xml
+++ b/chips/res/values-nl/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> andere..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Wachten op meer contacten"</string>
     <string name="copy_email" msgid="7869435992461603532">"E-mailadres kopiëren"</string>
     <string name="copy_number" msgid="530057841276106843">"Telefoonnummer kopiëren"</string>
     <string name="done" msgid="2356320650733788862">"Return"</string>
diff --git a/chips/res/values-pl/strings.xml b/chips/res/values-pl/strings.xml
index 951da6d..ff8699f 100644
--- a/chips/res/values-pl/strings.xml
+++ b/chips/res/values-pl/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> więcej..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Oczekiwanie na więcej kontaktów"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiuj adres e-mail"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiuj numer telefonu"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-pt-rPT/strings.xml b/chips/res/values-pt-rPT/strings.xml
index 8c8320c..e53844f 100644
--- a/chips/res/values-pt-rPT/strings.xml
+++ b/chips/res/values-pt-rPT/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Mais <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"A aguardar mais contactos"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copiar endereço de email"</string>
     <string name="copy_number" msgid="530057841276106843">"Copiar número de telefone"</string>
     <string name="done" msgid="2356320650733788862">"Regressar"</string>
diff --git a/chips/res/values-pt/strings.xml b/chips/res/values-pt/strings.xml
index eed39ca..123daca 100644
--- a/chips/res/values-pt/strings.xml
+++ b/chips/res/values-pt/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Mais <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"À espera de mais contatos"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copiar endereço de e-mail"</string>
     <string name="copy_number" msgid="530057841276106843">"Copiar número de telefone"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-ro/strings.xml b/chips/res/values-ro/strings.xml
index d861dfc..de9b044 100644
--- a/chips/res/values-ro/strings.xml
+++ b/chips/res/values-ro/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Încă <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Se aşteaptă mai multe persoane din agendă"</string>
     <string name="copy_email" msgid="7869435992461603532">"Copiaţi adresa de e-mail"</string>
     <string name="copy_number" msgid="530057841276106843">"Copiaţi numărul de telefon"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-ru/strings.xml b/chips/res/values-ru/strings.xml
index 436dedd..5f8f315 100644
--- a/chips/res/values-ru/strings.xml
+++ b/chips/res/values-ru/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"еще <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Ожидание ответов"</string>
     <string name="copy_email" msgid="7869435992461603532">"Скопировать адрес эл. почты"</string>
     <string name="copy_number" msgid="530057841276106843">"Скопировать номер телефона"</string>
     <string name="done" msgid="2356320650733788862">"Назад"</string>
diff --git a/chips/res/values-sk/strings.xml b/chips/res/values-sk/strings.xml
index 2376947..bf27844 100644
--- a/chips/res/values-sk/strings.xml
+++ b/chips/res/values-sk/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> ďalších..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Čaká sa na ďalšie kontakty"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopírovať e-mailovú adresu"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopírovať telefónne číslo"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-sl/strings.xml b/chips/res/values-sl/strings.xml
index e5deeb7..228d717 100644
--- a/chips/res/values-sl/strings.xml
+++ b/chips/res/values-sl/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Še <xliff:g id="COUNT">%1$s</xliff:g> .."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Čakanje na več stikov"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiranje e-poštnega naslova"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiranje telefonske številke"</string>
     <string name="done" msgid="2356320650733788862">"Vračalka"</string>
diff --git a/chips/res/values-sr/strings.xml b/chips/res/values-sr/strings.xml
index d8c9b56..df8838f 100644
--- a/chips/res/values-sr/strings.xml
+++ b/chips/res/values-sr/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"још <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Чека се још контаката"</string>
     <string name="copy_email" msgid="7869435992461603532">"Копирај адресу е-поште"</string>
     <string name="copy_number" msgid="530057841276106843">"Копирај број телефона"</string>
     <string name="done" msgid="2356320650733788862">"Врати"</string>
diff --git a/chips/res/values-sv/strings.xml b/chips/res/values-sv/strings.xml
index 25f0d9c..c69cb8a 100644
--- a/chips/res/values-sv/strings.xml
+++ b/chips/res/values-sv/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> till ..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Väntar på fler kontakter"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopiera e-postadress"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopiera telefonnummer"</string>
     <string name="done" msgid="2356320650733788862">"Retur"</string>
diff --git a/chips/res/values-sw/strings.xml b/chips/res/values-sw/strings.xml
index 91e4e36..eca23b5 100644
--- a/chips/res/values-sw/strings.xml
+++ b/chips/res/values-sw/strings.xml
@@ -17,8 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> zaidi ..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Inasubiri anwani zaidi"</string>
     <string name="copy_email" msgid="7869435992461603532">"Nakili anwani ya barua pepe"</string>
     <string name="copy_number" msgid="530057841276106843">"Nakili namba ya simu"</string>
-    <string name="done" msgid="2356320650733788862">"Rejea"</string>
+    <string name="done" msgid="2356320650733788862">"Leta"</string>
 </resources>
diff --git a/chips/res/values-th/strings.xml b/chips/res/values-th/strings.xml
index bb8cf79..81aad55 100644
--- a/chips/res/values-th/strings.xml
+++ b/chips/res/values-th/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"อีก <xliff:g id="COUNT">%1$s</xliff:g> รายการ..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"กำลังรอรายชื่อติดต่อเพิ่มเติม"</string>
     <string name="copy_email" msgid="7869435992461603532">"คัดลอกที่อยู่อีเมล"</string>
     <string name="copy_number" msgid="530057841276106843">"คัดลอกหมายเลขโทรศัพท์"</string>
     <string name="done" msgid="2356320650733788862">"ส่งคืน"</string>
diff --git a/chips/res/values-tl/strings.xml b/chips/res/values-tl/strings.xml
index ab711fe..ca7a7a7 100644
--- a/chips/res/values-tl/strings.xml
+++ b/chips/res/values-tl/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> higit pa..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Naghihintay ng higit pang mga contact"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopyahin ang email address"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopyahin ang numero ng telepono"</string>
     <string name="done" msgid="2356320650733788862">"Bumalik"</string>
diff --git a/chips/res/values-tr/strings.xml b/chips/res/values-tr/strings.xml
index 693921c..e214a7e 100644
--- a/chips/res/values-tr/strings.xml
+++ b/chips/res/values-tr/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> tane daha..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Diğer kişiler bekleniyor"</string>
     <string name="copy_email" msgid="7869435992461603532">"E-posta adresini kopyala"</string>
     <string name="copy_number" msgid="530057841276106843">"Telefon numarasını kopyala"</string>
     <string name="done" msgid="2356320650733788862">"Enter"</string>
diff --git a/chips/res/values-uk/strings.xml b/chips/res/values-uk/strings.xml
index 76adcb8..8700c71 100644
--- a/chips/res/values-uk/strings.xml
+++ b/chips/res/values-uk/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"Ще <xliff:g id="COUNT">%1$s</xliff:g>..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"В очікуванні інших контактів"</string>
     <string name="copy_email" msgid="7869435992461603532">"Копіювати електронну адресу"</string>
     <string name="copy_number" msgid="530057841276106843">"Копіювати номер телефону"</string>
     <string name="done" msgid="2356320650733788862">"Return"</string>
diff --git a/chips/res/values-vi/strings.xml b/chips/res/values-vi/strings.xml
index 8b23941..9b4b424 100644
--- a/chips/res/values-vi/strings.xml
+++ b/chips/res/values-vi/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> người khác..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Đang chờ các địa chỉ liên hệ khác"</string>
     <string name="copy_email" msgid="7869435992461603532">"Sao chép địa chỉ email"</string>
     <string name="copy_number" msgid="530057841276106843">"Sao chép số điện thoại"</string>
     <string name="done" msgid="2356320650733788862">"Quay lại"</string>
diff --git a/chips/res/values-zh-rCN/strings.xml b/chips/res/values-zh-rCN/strings.xml
index 23034c3..bd3d1ef 100644
--- a/chips/res/values-zh-rCN/strings.xml
+++ b/chips/res/values-zh-rCN/strings.xml
@@ -17,8 +17,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"以及其他 <xliff:g id="COUNT">%1$s</xliff:g> 个..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"正在等待更多联系人"</string>
     <string name="copy_email" msgid="7869435992461603532">"复制电子邮件地址"</string>
     <string name="copy_number" msgid="530057841276106843">"复制电话号码"</string>
-    <string name="done" msgid="2356320650733788862">"返回"</string>
+    <string name="done" msgid="2356320650733788862">"上一步"</string>
 </resources>
diff --git a/chips/res/values-zh-rTW/strings.xml b/chips/res/values-zh-rTW/strings.xml
index 4553596..c9290c6 100644
--- a/chips/res/values-zh-rTW/strings.xml
+++ b/chips/res/values-zh-rTW/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"還有 <xliff:g id="COUNT">%1$s</xliff:g> 位..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"正在等待進一步的資訊"</string>
     <string name="copy_email" msgid="7869435992461603532">"複製電子郵件地址"</string>
     <string name="copy_number" msgid="530057841276106843">"複製電話號碼"</string>
     <string name="done" msgid="2356320650733788862">"返回"</string>
diff --git a/chips/res/values-zu/strings.xml b/chips/res/values-zu/strings.xml
index fcf5120..3c0740a 100644
--- a/chips/res/values-zu/strings.xml
+++ b/chips/res/values-zu/strings.xml
@@ -17,7 +17,6 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="more_string" msgid="8971577924280885648">"<xliff:g id="COUNT">%1$s</xliff:g> okunye..."</string>
-    <string name="chips_waiting_for_directory_result" msgid="4210117336820180232">"Kulindelwe abanye oxhumana nabo"</string>
     <string name="copy_email" msgid="7869435992461603532">"Kopisha ikheli le-imeyli"</string>
     <string name="copy_number" msgid="530057841276106843">"Kopisha inombolo yefoni"</string>
     <string name="done" msgid="2356320650733788862">"Buyela"</string>
diff --git a/chips/res/values/strings.xml b/chips/res/values/strings.xml
index f67d440..f743ae3 100644
--- a/chips/res/values/strings.xml
+++ b/chips/res/values/strings.xml
@@ -17,9 +17,6 @@
     <!-- Text displayed when the recipientedittextview is not focused. Displays the total number of recipients since the field is shrunk to just display a portion -->
     <string name="more_string"><xliff:g id="count">%1$s</xliff:g> more...</string>
 
-    <!-- Text displayed when there are remote directories not returning results.
-         [CHAR LIMIT=50] -->
-    <string name="chips_waiting_for_directory_result">Waiting for more contacts</string>
     <!-- Text displayed when the user long presses on a chip to copy the recipients email address.
          [CHAR LIMIT=200] -->
     <string name="copy_email">Copy email address</string>
diff --git a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
index fb6378b..2e1491a 100644
--- a/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
+++ b/chips/src/com/android/ex/chips/BaseRecipientAdapter.java
@@ -685,10 +685,6 @@
             }
         }
 
-        if (showMessageIfDirectoryLoadRemaining && mRemainingDirectoryCount > 0) {
-            entries.add(RecipientEntry.WAITING_FOR_DIRECTORY_SEARCH);
-        }
-
         return entries;
     }
 
@@ -834,71 +830,59 @@
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         final RecipientEntry entry = mEntries.get(position);
-        switch (entry.getEntryType()) {
-            case RecipientEntry.ENTRY_TYPE_WAITING_FOR_DIRECTORY_SEARCH: {
-                return convertView != null ? convertView
-                        : mInflater.inflate(getWaitingForDirectorySearchLayout(), parent, false);
-            }
-            default: {
-                String displayName = entry.getDisplayName();
-                String destination = entry.getDestination();
-                if (TextUtils.isEmpty(displayName)
-                        || TextUtils.equals(displayName, destination)) {
-                    displayName = destination;
+        String displayName = entry.getDisplayName();
+        String destination = entry.getDestination();
+        if (TextUtils.isEmpty(displayName) || TextUtils.equals(displayName, destination)) {
+            displayName = destination;
 
-                    // We only show the destination for secondary entries, so clear it only for
-                    // the first level.
-                    if (entry.isFirstLevel()) {
-                        destination = null;
-                    }
-                }
-
-                final View itemView = convertView != null ? convertView
-                        : mInflater.inflate(getItemLayout(), parent, false);
-                final TextView displayNameView =
-                        (TextView) itemView.findViewById(getDisplayNameId());
-                final TextView destinationView =
-                        (TextView) itemView.findViewById(getDestinationId());
-                final TextView destinationTypeView =
-                        (TextView) itemView.findViewById(getDestinationTypeId());
-                final ImageView imageView = (ImageView)itemView.findViewById(getPhotoId());
-                displayNameView.setText(displayName);
-                if (!TextUtils.isEmpty(destination)) {
-                    destinationView.setText(destination);
-                } else {
-                    destinationView.setText(null);
-                }
-                if (destinationTypeView != null) {
-                    final CharSequence destinationType = mQuery.getTypeLabel(
-                            mContext.getResources(),
-                            entry.getDestinationType(),
-                            entry.getDestinationLabel()).toString().toUpperCase();
-
-                    destinationTypeView.setText(destinationType);
-                }
-
-                if (entry.isFirstLevel()) {
-                    displayNameView.setVisibility(View.VISIBLE);
-                    if (imageView != null) {
-                        imageView.setVisibility(View.VISIBLE);
-                        final byte[] photoBytes = entry.getPhotoBytes();
-                        if (photoBytes != null && imageView != null) {
-                            final Bitmap photo = BitmapFactory.decodeByteArray(
-                                    photoBytes, 0, photoBytes.length);
-                            imageView.setImageBitmap(photo);
-                        } else {
-                            imageView.setImageResource(getDefaultPhotoResource());
-                        }
-                    }
-                } else {
-                    displayNameView.setVisibility(View.GONE);
-                    if (imageView != null) {
-                        imageView.setVisibility(View.INVISIBLE);
-                    }
-                }
-                return itemView;
+            // We only show the destination for secondary entries, so clear it
+            // only for the first level.
+            if (entry.isFirstLevel()) {
+                destination = null;
             }
         }
+
+        final View itemView = convertView != null ? convertView : mInflater.inflate(
+                getItemLayout(), parent, false);
+        final TextView displayNameView = (TextView) itemView.findViewById(getDisplayNameId());
+        final TextView destinationView = (TextView) itemView.findViewById(getDestinationId());
+        final TextView destinationTypeView = (TextView) itemView
+                .findViewById(getDestinationTypeId());
+        final ImageView imageView = (ImageView) itemView.findViewById(getPhotoId());
+        displayNameView.setText(displayName);
+        if (!TextUtils.isEmpty(destination)) {
+            destinationView.setText(destination);
+        } else {
+            destinationView.setText(null);
+        }
+        if (destinationTypeView != null) {
+            final CharSequence destinationType = mQuery
+                    .getTypeLabel(mContext.getResources(), entry.getDestinationType(),
+                            entry.getDestinationLabel()).toString().toUpperCase();
+
+            destinationTypeView.setText(destinationType);
+        }
+
+        if (entry.isFirstLevel()) {
+            displayNameView.setVisibility(View.VISIBLE);
+            if (imageView != null) {
+                imageView.setVisibility(View.VISIBLE);
+                final byte[] photoBytes = entry.getPhotoBytes();
+                if (photoBytes != null && imageView != null) {
+                    final Bitmap photo = BitmapFactory.decodeByteArray(photoBytes, 0,
+                            photoBytes.length);
+                    imageView.setImageBitmap(photo);
+                } else {
+                    imageView.setImageResource(getDefaultPhotoResource());
+                }
+            }
+        } else {
+            displayNameView.setVisibility(View.GONE);
+            if (imageView != null) {
+                imageView.setVisibility(View.INVISIBLE);
+            }
+        }
+        return itemView;
     }
 
     /**
@@ -913,13 +897,6 @@
     }
 
     /**
-     * Returns a layout id for a view showing "waiting for more contacts".
-     */
-    protected int getWaitingForDirectorySearchLayout() {
-        return R.layout.chips_recipient_dropdown_item;
-    }
-
-    /**
      * Returns a resource ID representing an image which should be shown when ther's no relevant
      * photo is available.
      */
diff --git a/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java b/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java
index e3ef6cd..553890e 100644
--- a/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java
+++ b/chips/src/com/android/ex/chips/RecipientAlternatesAdapter.java
@@ -31,6 +31,7 @@
 
 import com.android.ex.chips.Queries.Query;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 
@@ -55,7 +56,7 @@
     private Query mQuery;
 
     public static HashMap<String, RecipientEntry> getMatchingRecipients(Context context,
-            String[] inAddresses) {
+            ArrayList<String> inAddresses) {
         return getMatchingRecipients(context, inAddresses, QUERY_TYPE_EMAIL);
     }
 
@@ -69,20 +70,20 @@
      * @return HashMap<String,RecipientEntry>
      */
     public static HashMap<String, RecipientEntry> getMatchingRecipients(Context context,
-            String[] inAddresses, int addressType) {
+            ArrayList<String> inAddresses, int addressType) {
         Queries.Query query;
         if (addressType == QUERY_TYPE_EMAIL) {
             query = Queries.EMAIL;
         } else {
             query = Queries.PHONE;
         }
-        int addressesSize = Math.min(MAX_LOOKUPS, inAddresses.length);
+        int addressesSize = Math.min(MAX_LOOKUPS, inAddresses.size());
         String[] addresses = new String[addressesSize];
         StringBuilder bindString = new StringBuilder();
         // Create the "?" string and set up arguments.
         for (int i = 0; i < addressesSize; i++) {
-            Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(inAddresses[i].toLowerCase());
-            addresses[i] = (tokens.length > 0 ? tokens[0].getAddress() : inAddresses[i]);
+            Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(inAddresses.get(i).toLowerCase());
+            addresses[i] = (tokens.length > 0 ? tokens[0].getAddress() : inAddresses.get(i));
             bindString.append("?");
             if (i < addressesSize - 1) {
                 bindString.append(",");
diff --git a/chips/src/com/android/ex/chips/RecipientEditTextView.java b/chips/src/com/android/ex/chips/RecipientEditTextView.java
index ac3caa8..dc67901 100644
--- a/chips/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/chips/src/com/android/ex/chips/RecipientEditTextView.java
@@ -76,7 +76,6 @@
 import android.widget.ListPopupWindow;
 import android.widget.ListView;
 import android.widget.MultiAutoCompleteTextView;
-import android.widget.PopupWindow;
 import android.widget.ScrollView;
 import android.widget.TextView;
 
@@ -97,7 +96,7 @@
 public class RecipientEditTextView extends MultiAutoCompleteTextView implements
         OnItemClickListener, Callback, RecipientAlternatesAdapter.OnCheckedItemChangedListener,
         GestureDetector.OnGestureListener, OnDismissListener, OnClickListener,
-        PopupWindow.OnDismissListener, TextView.OnEditorActionListener {
+        TextView.OnEditorActionListener {
 
     private static final char COMMIT_CHAR_COMMA = ',';
 
@@ -230,16 +229,13 @@
             sSelectedTextColor = context.getResources().getColor(android.R.color.white);
         }
         mAlternatesPopup = new ListPopupWindow(context);
-        mAlternatesPopup.setOnDismissListener(this);
         mAddressPopup = new ListPopupWindow(context);
-        mAddressPopup.setOnDismissListener(this);
         mCopyDialog = new Dialog(context);
         mAlternatesListener = new OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView,View view, int position,
                     long rowId) {
                 mAlternatesPopup.setOnItemClickListener(null);
-                setEnabled(true);
                 replaceChip(mSelectedChip, ((RecipientAlternatesAdapter) adapterView.getAdapter())
                         .getRecipientEntry(position));
                 Message delayed = Message.obtain(mHandler, DISMISS);
@@ -995,8 +991,9 @@
      */
     @Override
     public boolean onKeyPreIme(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_BACK) {
+        if (keyCode == KeyEvent.KEYCODE_BACK && mSelectedChip != null) {
             clearSelectedChip();
+            return true;
         }
         return super.onKeyPreIme(keyCode, event);
     }
@@ -1037,6 +1034,7 @@
                         return true;
                     }
                 }
+                break;
         }
         return super.onKeyUp(keyCode, event);
     }
@@ -1355,7 +1353,6 @@
         // Align the alternates popup with the left side of the View,
         // regardless of the position of the chip tapped.
         alternatesPopup.setWidth(width);
-        setEnabled(false);
         alternatesPopup.setAnchorView(this);
         alternatesPopup.setVerticalOffset(bottom);
         alternatesPopup.setAdapter(createAlternatesAdapter(currentChip));
@@ -1375,12 +1372,6 @@
         }
     }
 
-    // Dismiss listener for alterns and single address popup.
-    @Override
-    public void onDismiss() {
-        setEnabled(true);
-    }
-
     private ListAdapter createAlternatesAdapter(RecipientChip chip) {
         return new RecipientAlternatesAdapter(getContext(), chip.getContactId(), chip.getDataId(),
                 mAlternatesLayout, ((BaseRecipientAdapter)getAdapter()).getQueryType(), this);
@@ -1902,7 +1893,6 @@
         int bottom = calculateOffsetFromBottom(line);
         // Align the alternates popup with the left side of the View,
         // regardless of the position of the chip tapped.
-        setEnabled(false);
         popup.setWidth(width);
         popup.setAnchorView(this);
         popup.setVerticalOffset(bottom);
@@ -2298,12 +2288,12 @@
             if (mRemovedSpans != null) {
                 originalRecipients.addAll(mRemovedSpans);
             }
-            String[] addresses = new String[originalRecipients.size()];
+            ArrayList<String> addresses = new ArrayList<String>();
             RecipientChip chip;
             for (int i = 0; i < originalRecipients.size(); i++) {
                 chip = originalRecipients.get(i);
                 if (chip != null) {
-                    addresses[i] = createAddressText(chip.getEntry());
+                    addresses.add(createAddressText(chip.getEntry()));
                 }
             }
             HashMap<String, RecipientEntry> entries = RecipientAlternatesAdapter
@@ -2363,12 +2353,12 @@
             // chip.
             final ArrayList<RecipientChip> originalRecipients =
                 (ArrayList<RecipientChip>) params[0];
-            String[] addresses = new String[originalRecipients.size()];
+            ArrayList<String> addresses = new ArrayList<String>();
             RecipientChip chip;
             for (int i = 0; i < originalRecipients.size(); i++) {
                 chip = originalRecipients.get(i);
                 if (chip != null) {
-                    addresses[i] = createAddressText(chip.getEntry());
+                    addresses.add(createAddressText(chip.getEntry()));
                 }
             }
             HashMap<String, RecipientEntry> entries = RecipientAlternatesAdapter
diff --git a/chips/src/com/android/ex/chips/RecipientEntry.java b/chips/src/com/android/ex/chips/RecipientEntry.java
index 4f22142..0448229 100644
--- a/chips/src/com/android/ex/chips/RecipientEntry.java
+++ b/chips/src/com/android/ex/chips/RecipientEntry.java
@@ -36,12 +36,8 @@
     /* package */ static final int INVALID_DESTINATION_TYPE = -1;
 
     public static final int ENTRY_TYPE_PERSON = 0;
-    public static final int ENTRY_TYPE_WAITING_FOR_DIRECTORY_SEARCH = 1;
 
-    public static final int ENTRY_TYPE_SIZE = 2;
-
-    public static final RecipientEntry WAITING_FOR_DIRECTORY_SEARCH =
-            new RecipientEntry(ENTRY_TYPE_WAITING_FOR_DIRECTORY_SEARCH);
+    public static final int ENTRY_TYPE_SIZE = 1;
 
     private final int mEntryType;
 
