am 70220e77: (-s ours) am 44784b98: (-s ours) Import translations. DO NOT MERGE
* commit '70220e7749a4b2d23433a9d96b0c6e01eb154dcb':
Import translations. DO NOT MERGE
diff --git a/Android.mk b/Android.mk
index dd86146..5c3df78 100644
--- a/Android.mk
+++ b/Android.mk
@@ -17,7 +17,7 @@
include $(CLEAR_VARS)
LOCAL_MODULE := libchips
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
-LOCAL_SDK_VERSION := 19
+LOCAL_SDK_VERSION := current
LOCAL_SRC_FILES := \
$(call all-java-files-under, src) \
$(call all-logtags-files-under, src)
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 02ea564..bfc1073 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -21,4 +21,6 @@
android:minSdkVersion="11"
android:targetSdkVersion="19" />
-</manifest>
\ No newline at end of file
+ <application />
+
+</manifest>
diff --git a/res/color/chips_dropdown_subtitle_text.xml b/res/color/chips_dropdown_text.xml
similarity index 82%
rename from res/color/chips_dropdown_subtitle_text.xml
rename to res/color/chips_dropdown_text.xml
index e7b0f3e..7d333bc 100644
--- a/res/color/chips_dropdown_subtitle_text.xml
+++ b/res/color/chips_dropdown_text.xml
@@ -17,7 +17,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_activated="true" android:color="@android:color/white"/>
- <item android:color="#757575"/>
+ <item android:state_activated="true" android:color="@color/chips_dropdown_text_activated"/>
+ <item android:color="@color/chips_dropdown_text_default"/>
-</selector>
\ No newline at end of file
+</selector>
diff --git a/res/color/chips_dropdown_title_text.xml b/res/color/chips_dropdown_title_text.xml
deleted file mode 100644
index 7c79390..0000000
--- a/res/color/chips_dropdown_title_text.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2014 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.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_activated="true" android:color="@android:color/white"/>
- <item android:color="#212121"/>
-
-</selector>
\ No newline at end of file
diff --git a/res/layout/chips_autocomplete_recipient_dropdown_item.xml b/res/layout/chips_autocomplete_recipient_dropdown_item.xml
index d15a97b..ec512c2 100644
--- a/res/layout/chips_autocomplete_recipient_dropdown_item.xml
+++ b/res/layout/chips_autocomplete_recipient_dropdown_item.xml
@@ -18,6 +18,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:background="?android:attr/selectableItemBackground"
android:minHeight="@dimen/chip_dropdown_height"
android:orientation="vertical">
@@ -28,7 +29,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:background="@drawable/chips_dropdown_background"
style="@style/ChipAutocompleteWrapperStyle">
<LinearLayout style="@style/ChipTextViewLayoutStyle">
diff --git a/res/layout/chips_recipient_dropdown_item.xml b/res/layout/chips_recipient_dropdown_item.xml
index ffb019b..cb5864e 100644
--- a/res/layout/chips_recipient_dropdown_item.xml
+++ b/res/layout/chips_recipient_dropdown_item.xml
@@ -16,8 +16,9 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="@dimen/chip_dropdown_height"
+ android:layout_height="wrap_content"
android:background="@drawable/chips_dropdown_background"
+ android:minHeight="@dimen/chip_dropdown_height"
android:padding="12dp">
<com.android.ex.chips.CircularImageView style="@style/ChipStartIconStyle" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 3ccbcba..358a298 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Keer terug"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontakvoorstelle geopen"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Verwyder <xliff:g id="CONTACT">%s</xliff:g> uit ontvangers"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 0537868..4c1e748 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"የኢሜይል አድራሻ ቅዳ"</string>
<string name="copy_number" msgid="530057841276106843">"የስልክ ቁጥር ቅዳ"</string>
- <string name="done" msgid="2356320650733788862">"መልስ"</string>
+ <string name="action_label" msgid="1318401633653605424">"ተመለስ"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"የእውቂያ አስተያየት ጥቆማዎች ተከፍቷል"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> ከተቀባዮች አስወግድ"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 3398641..d6477af 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"<xliff:g id="COUNT">%1$s</xliff:g>+"</string>
+ <string name="more_string" msgid="8495478259330621990">"<xliff:g id="COUNT">%1$d</xliff:g>+"</string>
<string name="copy_email" msgid="7869435992461603532">"نسخ عنوان البريد الإلكتروني"</string>
<string name="copy_number" msgid="530057841276106843">"نسخ رقم الهاتف"</string>
- <string name="done" msgid="2356320650733788862">"رجوع"</string>
+ <string name="action_label" msgid="1318401633653605424">"رجوع"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"اقتراحات جهات الاتصال التي تم فتحها"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"إزالة <xliff:g id="CONTACT">%s</xliff:g> من المستلمين"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 06ed49e..b32a73c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+ <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+ <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Копиране на имейл адреса"</string>
<string name="copy_number" msgid="530057841276106843">"Копиране на телефонния номер"</string>
- <string name="done" msgid="2356320650733788862">"Enter"</string>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Предложенията за контакти са отворени"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Премахване на <xliff:g id="CONTACT">%s</xliff:g> от получателите"</string>
</resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index e8dde0d..36c8dc0 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>টি"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>টি"</string>
<string name="copy_email" msgid="7869435992461603532">"ইমেল ঠিকানা অনুলিপি করুন"</string>
<string name="copy_number" msgid="530057841276106843">"ফোন নম্বর অনুলিপি করুন"</string>
- <string name="done" msgid="2356320650733788862">"ফেরত যান"</string>
+ <string name="action_label" msgid="1318401633653605424">"ফেরত যান"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"যোগাযোগের পরামর্শগুলি খোলা হয়েছে"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"প্রাপকদের কাছ থেকে <xliff:g id="CONTACT">%s</xliff:g> সরান"</string>
</resources>
diff --git a/res/values-bn-rWB/strings.xml b/res/values-bn-rWB/strings.xml
index e8dde0d..29918e4 100644
--- a/res/values-bn-rWB/strings.xml
+++ b/res/values-bn-rWB/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>টি"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>টি"</string>
<string name="copy_email" msgid="7869435992461603532">"ইমেল ঠিকানা অনুলিপি করুন"</string>
<string name="copy_number" msgid="530057841276106843">"ফোন নম্বর অনুলিপি করুন"</string>
<string name="done" msgid="2356320650733788862">"ফেরত যান"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 77d2196..94b514c 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Torna"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"S\'han obert els suggeriments de contactes."</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Suprimeix <xliff:g id="CONTACT">%s</xliff:g> dels destinataris"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 212d734..3417204 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Otevřené návrhy kontaktů"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Odstranit z příjemců kontakt <xliff:g id="CONTACT">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8196fee..c153640 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Tilbage"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Forslag til kontaktpersoner åbnet"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Fjern <xliff:g id="CONTACT">%s</xliff:g> fra modtagere"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index d4c2fe4..1de58fd 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Zurück"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Geöffnete Kontaktvorschläge"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> aus der Empfängerliste entfernen"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 51b5ac3..6598401 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Αντιγραφή διεύθυνσης ηλεκτρονικού ταχυδρομείου"</string>
<string name="copy_number" msgid="530057841276106843">"Αντιγραφή αριθμού τηλεφώνου"</string>
- <string name="done" msgid="2356320650733788862">"Πλήκτρο Return"</string>
+ <string name="action_label" msgid="1318401633653605424">"Επιστροφή"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Οι προτάσεις επαφών άνοιξαν"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Κατάργηση του χρήστη <xliff:g id="CONTACT">%s</xliff:g> από τους αποδέκτες"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 1ae784b..56aa71c 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Contact suggestions opened"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Remove <xliff:g id="CONTACT">%s</xliff:g> from recipients"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 1ae784b..56aa71c 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Contact suggestions opened"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Remove <xliff:g id="CONTACT">%s</xliff:g> from recipients"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index c63e6cb..2d11a44 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Volver"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Sugerencias de contacto disponibles"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Eliminar a <xliff:g id="CONTACT">%s</xliff:g> de los destinatarios"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 74478a8..e9c769e 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Intro"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Sugerencias de contacto disponibles"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Eliminar a <xliff:g id="CONTACT">%s</xliff:g> de los destinatarios"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index f32e66d..d44dec7 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Tagasi"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontakti soovitused on avatud"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Kontakti <xliff:g id="CONTACT">%s</xliff:g> eemaldamine saajate hulgast"</string>
</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index 7af993d..4cb580e 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Kopiatu helbide elektronikoa"</string>
<string name="copy_number" msgid="530057841276106843">"Kopiatu telefono-zenbakia"</string>
- <string name="done" msgid="2356320650733788862">"Itzuli"</string>
+ <string name="action_label" msgid="1318401633653605424">"Itzuli"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontaktuen iradokizunak ireki dira"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Kendu <xliff:g id="CONTACT">%s</xliff:g> hartzaileetatik"</string>
</resources>
diff --git a/res/values-eu-rPV/strings.xml b/res/values-eu-rPV/strings.xml
index 7af993d..39a62d2 100644
--- a/res/values-eu-rPV/strings.xml
+++ b/res/values-eu-rPV/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Kopiatu helbide elektronikoa"</string>
<string name="copy_number" msgid="530057841276106843">"Kopiatu telefono-zenbakia"</string>
<string name="done" msgid="2356320650733788862">"Itzuli"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index e5b32ba..a39305f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"کپی آدرس ایمیل"</string>
<string name="copy_number" msgid="530057841276106843">"کپی شماره تلفن"</string>
- <string name="done" msgid="2356320650733788862">"بازگشت"</string>
+ <string name="action_label" msgid="1318401633653605424">"بازگشت"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"پیشنهادات مخاطب باز شد"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"برداشتن <xliff:g id="CONTACT">%s</xliff:g> از گیرندگان"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 9893923..6cb7f09 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"yli <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"yli <xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Avatut yhteystietoehdotukset"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Poista <xliff:g id="CONTACT">%s</xliff:g> vastaanottajista"</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 758f5a8..09c7cdb 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Copier l\'adresse de courriel"</string>
<string name="copy_number" msgid="530057841276106843">"Copier le numéro de téléphone"</string>
- <string name="done" msgid="2356320650733788862">"Renvoyer"</string>
+ <string name="action_label" msgid="1318401633653605424">"Retour"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Suggestions de contacts ouvertes"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Supprimer <xliff:g id="CONTACT">%s</xliff:g> des destinataires"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3d13b5f..a3096a6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+ <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+ <xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Entrée"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Suggestions de contacts ouvertes"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Retirer <xliff:g id="CONTACT">%s</xliff:g> des destinataires"</string>
</resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index df992d2..26d3357 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Copiar enderezo de correo electrónico"</string>
<string name="copy_number" msgid="530057841276106843">"Copiar número de teléfono"</string>
- <string name="done" msgid="2356320650733788862">"Volver"</string>
+ <string name="action_label" msgid="1318401633653605424">"Volver"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Suxestións de contactos abertas"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Eliminar <xliff:g id="CONTACT">%s</xliff:g> dos destinatarios"</string>
</resources>
diff --git a/res/values-gl-rGA/strings.xml b/res/values-gl-rGA/strings.xml
index df992d2..d8fea9a 100644
--- a/res/values-gl-rGA/strings.xml
+++ b/res/values-gl-rGA/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Copiar enderezo de correo electrónico"</string>
<string name="copy_number" msgid="530057841276106843">"Copiar número de teléfono"</string>
<string name="done" msgid="2356320650733788862">"Volver"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 8368c0d..c44a0f4 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ईमेल पते की प्रतिलिपि बनाएं"</string>
<string name="copy_number" msgid="530057841276106843">"फोन नंबर की प्रतिलिपि बनाएं"</string>
- <string name="done" msgid="2356320650733788862">"वापस लौटें"</string>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"संपर्क सुझाव खुले हैं"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> को प्राप्तकर्ताओं से निकालें"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 65f2c12..25534aa 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Natrag"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Prijedlozi za kontakt otvoreni"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Ukloni kontakt <xliff:g id="CONTACT">%s</xliff:g> iz primatelja"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index a18f811..ea263f0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Névjegyjavaslatok megnyitva"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> eltávolítása a címzettek közül"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index ca2695c..9bc9b5c 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Պատճենել էլփոստի հասցեն"</string>
<string name="copy_number" msgid="530057841276106843">"Պատճենել հեռախոսահամարը"</string>
- <string name="done" msgid="2356320650733788862">"Վերադառնալ"</string>
+ <string name="action_label" msgid="1318401633653605424">"Վերադառնալ"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Կոնտակտների առաջարկները բերված են"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Հեռացնել <xliff:g id="CONTACT">%s</xliff:g> կոնտակտը ստացողների ցանկից"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9c1cbe6..9ea1694 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Kembali"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Saran kontak dibuka"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Hapus <xliff:g id="CONTACT">%s</xliff:g> dari penerima"</string>
</resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index a8186cc..78528fc 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Afrita netfang"</string>
<string name="copy_number" msgid="530057841276106843">"Afrita símanúmer"</string>
- <string name="done" msgid="2356320650733788862">"Til baka"</string>
+ <string name="action_label" msgid="1318401633653605424">"Venda"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Tillögur um tengiliði opnaðar"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Fjarlægja <xliff:g id="CONTACT">%s</xliff:g> úr viðtakendum"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 3f87ec0..72c93a5 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Invio"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Suggerimenti di contatti aperti"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Rimuovi <xliff:g id="CONTACT">%s</xliff:g> dai destinatari"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index d7be75a..2697c1e 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
- <string name="copy_email" msgid="7869435992461603532">"העתק כתובת דוא\"ל"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
+ <string name="copy_email" msgid="7869435992461603532">"העתק כתובת אימייל"</string>
<string name="copy_number" msgid="530057841276106843">"העתק מספר טלפון"</string>
- <string name="done" msgid="2356320650733788862">"חזור"</string>
+ <string name="action_label" msgid="1318401633653605424">"חזור"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"הצעות אנשי קשר פתוחות"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"הסר את <xliff:g id="CONTACT">%s</xliff:g> מהנמענים"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 543eb8a..adf8c2d 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"メールアドレスをコピー"</string>
<string name="copy_number" msgid="530057841276106843">"電話番号をコピー"</string>
- <string name="done" msgid="2356320650733788862">"戻る"</string>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"選択できる連絡先候補の数"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"宛先から<xliff:g id="CONTACT">%s</xliff:g>さんを削除します"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 9d24e05..a3222a5 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ელფოსტის მისამართის კოპირება"</string>
<string name="copy_number" msgid="530057841276106843">"ტელეფონის ნომრის კოპირება"</string>
- <string name="done" msgid="2356320650733788862">"დაბრუნება"</string>
+ <string name="action_label" msgid="1318401633653605424">"დაბრუნება"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"კონტაქტის შემოთავაზებები გაიხსნა"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> -ის ამოშლა მიმღებთა სიიდან"</string>
</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 925eca5..75877c7 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Эл.поштаның көшірмесін жасау"</string>
<string name="copy_number" msgid="530057841276106843">"Телефон нөмірінің көшірмесін жасау"</string>
- <string name="done" msgid="2356320650733788862">"Қалпына келтіру"</string>
+ <string name="action_label" msgid="1318401633653605424">"Қайтару"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Контакт ұсыныстары ашық"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> алушылардан жою"</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index e51c667..c9e1fda 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ចម្លងអាសយដ្ឋានអ៊ីមែល"</string>
<string name="copy_number" msgid="530057841276106843">"ចម្លងលេខទូរស័ព្ទ"</string>
- <string name="done" msgid="2356320650733788862">"ត្រឡប់"</string>
+ <string name="action_label" msgid="1318401633653605424">"ថយក្រោយ"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"បានបើកការផ្ដល់យោបល់ទំនាក់ទំនង"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"យក <xliff:g id="CONTACT">%s</xliff:g> ចេញពីអ្នកទទួល"</string>
</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 7befc86..eb94fcc 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ನಕಲಿಸಿ"</string>
<string name="copy_number" msgid="530057841276106843">"ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಕಲಿಸಿ"</string>
- <string name="done" msgid="2356320650733788862">"ಹಿಂತಿರುಗು"</string>
+ <string name="action_label" msgid="1318401633653605424">"ಹಿಂತಿರುಗು"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"ಸಂಪರ್ಕ ಸಲಹೆಗಳನ್ನು ತೆರೆಯಲಾಗಿದೆ"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"ಸ್ವೀಕೃತದಾರರಿಂದ <xliff:g id="CONTACT">%s</xliff:g> ತೆಗೆದುಹಾಕಿ"</string>
</resources>
diff --git a/res/values-kn-rKA/strings.xml b/res/values-kn-rKA/strings.xml
index 7befc86..5679fc8 100644
--- a/res/values-kn-rKA/strings.xml
+++ b/res/values-kn-rKA/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ನಕಲಿಸಿ"</string>
<string name="copy_number" msgid="530057841276106843">"ಫೋನ್ ಸಂಖ್ಯೆಯನ್ನು ನಕಲಿಸಿ"</string>
<string name="done" msgid="2356320650733788862">"ಹಿಂತಿರುಗು"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index f7884bd..1f4b116 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"<xliff:g id="COUNT">%1$s</xliff:g>명 이상"</string>
+ <string name="more_string" msgid="8495478259330621990">"<xliff:g id="COUNT">%1$d</xliff:g>명 이상"</string>
<string name="copy_email" msgid="7869435992461603532">"이메일 주소 복사"</string>
<string name="copy_number" msgid="530057841276106843">"전화번호 복사"</string>
- <string name="done" msgid="2356320650733788862">"입력"</string>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"추천 연락처 열림"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"수신자에서 <xliff:g id="CONTACT">%s</xliff:g> 삭제"</string>
</resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 5d5434c..c4f3131 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Эмейл даректи көчүрүү"</string>
<string name="copy_number" msgid="530057841276106843">"Телефон номурун көчүрүү"</string>
- <string name="done" msgid="2356320650733788862">"Кайтуу"</string>
+ <string name="action_label" msgid="1318401633653605424">"Кайтуу"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Байланыш сунуштары ачылды"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Алуучулардан <xliff:g id="CONTACT">%s</xliff:g> дегенди алып салуу"</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 44912af..bded022 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ສຳເນົາທີ່ຢູ່ອີເມວ"</string>
<string name="copy_number" msgid="530057841276106843">"ສຳເນົາເບີໂທລະສັບ"</string>
- <string name="done" msgid="2356320650733788862">"ກັບຄືນ"</string>
+ <string name="action_label" msgid="1318401633653605424">"ກັບຄືນ"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"ການແນະນຳລາຍຊື່ຜູ່ຕິດຕໍ່ຖືກເປີດແລ້ວ"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"ເອົາ <xliff:g id="CONTACT">%s</xliff:g> ອອກໄປຈາກຜູ້ຮັບ"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index e85eba3..828c73a 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+ <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+ <xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Grįžti"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontaktų pasiūlymai atidaryti"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Pašalinti <xliff:g id="CONTACT">%s</xliff:g> iš gavėjų"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index f06e4fc..006b021 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"Vairāk nekā <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"Vairāk nekā <xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Atgriezties"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontaktpersonu iestatījumi ir atvērti."</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Noņemt kontaktpersonu <xliff:g id="CONTACT">%s</xliff:g> no adresātu saraksta"</string>
</resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 25e067a..bdb0c85 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Копирај адреса на е-пошта"</string>
<string name="copy_number" msgid="530057841276106843">"Копирај телефонски број"</string>
- <string name="done" msgid="2356320650733788862">"Врати"</string>
+ <string name="action_label" msgid="1318401633653605424">"Врати"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Предлозите за контактот се отворени"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Отстранете го контактот <xliff:g id="CONTACT">%s</xliff:g> од примачи"</string>
</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 3bd6d8d..1113fc0 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"<xliff:g id="COUNT">%1$s</xliff:g> എണ്ണം കൂടി"</string>
+ <string name="more_string" msgid="8495478259330621990">"<xliff:g id="COUNT">%1$d</xliff:g> എണ്ണം കൂടി"</string>
<string name="copy_email" msgid="7869435992461603532">"ഇമെയിൽ വിലാസം പകർത്തുക"</string>
<string name="copy_number" msgid="530057841276106843">"ഫോൺ നമ്പർ പകർത്തുക"</string>
- <string name="done" msgid="2356320650733788862">"മടങ്ങുക"</string>
+ <string name="action_label" msgid="1318401633653605424">"മടങ്ങുക"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"കോൺടാക്റ്റ് നിർദ്ദേശങ്ങൾ ലഭ്യമാണ്"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"സ്വീകർത്താക്കളിൽ നിന്ന് <xliff:g id="CONTACT">%s</xliff:g> നീക്കംചെയ്യുക"</string>
</resources>
diff --git a/res/values-ml-rKL/strings.xml b/res/values-ml-rKL/strings.xml
index 3bd6d8d..40a9df2 100644
--- a/res/values-ml-rKL/strings.xml
+++ b/res/values-ml-rKL/strings.xml
@@ -16,7 +16,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="8495478259330621990">"<xliff:g id="COUNT">%1$s</xliff:g> എണ്ണം കൂടി"</string>
+ <string name="more_string" msgid="8495478259330621990">"<xliff:g id="COUNT">%1$d</xliff:g> എണ്ണം കൂടി"</string>
<string name="copy_email" msgid="7869435992461603532">"ഇമെയിൽ വിലാസം പകർത്തുക"</string>
<string name="copy_number" msgid="530057841276106843">"ഫോൺ നമ്പർ പകർത്തുക"</string>
<string name="done" msgid="2356320650733788862">"മടങ്ങുക"</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 89923c3..b13103d 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Имэйл хаяг хуулах"</string>
<string name="copy_number" msgid="530057841276106843">"Утасны дугаар хуулах"</string>
- <string name="done" msgid="2356320650733788862">"Оруулах"</string>
+ <string name="action_label" msgid="1318401633653605424">"Оруулах"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Харилцагчийн санал болголт нээгдсэн"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Хүлээн авагчдын мэдээллээс <xliff:g id="CONTACT">%s</xliff:g>-г хасах"</string>
</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index f7090f5..d0d6534 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ईमेल पत्ता कॉपी करा"</string>
<string name="copy_number" msgid="530057841276106843">"फोन नंबर कॉपी करा"</string>
- <string name="done" msgid="2356320650733788862">"परत"</string>
+ <string name="action_label" msgid="1318401633653605424">"परत"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"संपर्क सूचना उघडल्या"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"प्राप्तकर्त्यांमधून <xliff:g id="CONTACT">%s</xliff:g> काढा"</string>
</resources>
diff --git a/res/values-mr-rMH/strings.xml b/res/values-mr-rMH/strings.xml
index f7090f5..861d8c1 100644
--- a/res/values-mr-rMH/strings.xml
+++ b/res/values-mr-rMH/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ईमेल पत्ता कॉपी करा"</string>
<string name="copy_number" msgid="530057841276106843">"फोन नंबर कॉपी करा"</string>
<string name="done" msgid="2356320650733788862">"परत"</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 76320f9..c0bca51 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Kembali"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Cadangan kenalan dibuka"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Alih keluar <xliff:g id="CONTACT">%s</xliff:g> daripada penerima"</string>
</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index bae3e6b..9499ed8 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"အီးမေးလ်လိပ်စာ ကူးထည့်ရန်"</string>
<string name="copy_number" msgid="530057841276106843">"ဖုန်းနံပါတ် ကူးထည့်ရန်"</string>
- <string name="done" msgid="2356320650733788862">"ရယူရန်"</string>
+ <string name="action_label" msgid="1318401633653605424">"နောက်ပြန်ရန်"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"အဆက်အသွယ် အကြံပေးချက်များ ဖွင့်ထား"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"လက်ခံသူများ မှ<xliff:g id="CONTACT">%s</xliff:g> အားဖယ်ရှားရန်"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index a71348e..0a6dda8 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Gå tilbake"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontaktforslag er åpnet"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Fjern <xliff:g id="CONTACT">%s</xliff:g> fra mottakere"</string>
</resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 4710484..422b839 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"इमेल ठेगानाको प्रतिलिपि बनाउनुहोस्"</string>
<string name="copy_number" msgid="530057841276106843">"फोन नम्बरको प्रतिलिपि गर्नुहोस्"</string>
- <string name="done" msgid="2356320650733788862">"फिर्ता हुनुहोस्"</string>
+ <string name="action_label" msgid="1318401633653605424">"फर्कनुहोस्"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"सम्पर्क सुझाव खोलियो"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"प्राप्तकर्ताहरूबाट <xliff:g id="CONTACT">%s</xliff:g> हटाउनुहोस्"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c4289c6..414b77e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Contactsuggesties geopend"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> verwijderen uit ontvangers"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 8746e48..d6da202 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Otwarto sugerowane kontakty"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Usuń kontakt <xliff:g id="CONTACT">%s</xliff:g> z listy odbiorców"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index fc991b1..3b5893d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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">"Voltar"</string>
+ <string name="action_label" msgid="1318401633653605424">"Voltar"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Sugestões de contactos abertas"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Remover <xliff:g id="CONTACT">%s</xliff:g> dos destinatários"</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 58a23e3..4c52a95 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Sugestões de contato ativadas"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Remover <xliff:g id="CONTACT">%s</xliff:g> dos destinatários"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 6bd8a36..11e1d80 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Sugestii de persoane de contact disponibile"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Eliminați <xliff:g id="CONTACT">%s</xliff:g> din destinatari"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0d6a2d7..d865965 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"ещё <xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"ещё <xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Скопировать адрес эл. почты"</string>
<string name="copy_number" msgid="530057841276106843">"Скопировать номер телефона"</string>
- <string name="done" msgid="2356320650733788862">"Назад"</string>
+ <string name="action_label" msgid="1318401633653605424">"Ввод"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Количество рекомендуемых контактов."</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Удалить контакт <xliff:g id="CONTACT">%s</xliff:g> из списка получателей"</string>
</resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 313405f..bcf269b 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ඊ-තැපැල් ලිපිනය පිටපත් කරන්න"</string>
<string name="copy_number" msgid="530057841276106843">"දුරකථන අංකය පිටපත් කරන්න"</string>
- <string name="done" msgid="2356320650733788862">"ආපසු එවන්න"</string>
+ <string name="action_label" msgid="1318401633653605424">"ආපසු එවන්න"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"සම්බන්ධතා යෝජනා විවෘත කරන"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"ලබන්නන් වෙතින් <xliff:g id="CONTACT">%s</xliff:g> ඉවත් කරන්න"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 155da99..5574fe1 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Ponuka Návrhy kontaktov je otvorená"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Odstrániť kontakt <xliff:g id="CONTACT">%s</xliff:g> z príjemcov"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index e9877dd..a0c29cb 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Vračalka"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Predlogi za stike so odprti"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Odstranitev stika <xliff:g id="CONTACT">%s</xliff:g> s seznama prejemnikov"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index fd86a2e..5bfdc31 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Копирај имејл адресу"</string>
<string name="copy_number" msgid="530057841276106843">"Копирај број телефона"</string>
- <string name="done" msgid="2356320650733788862">"Врати"</string>
+ <string name="action_label" msgid="1318401633653605424">"Return"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Предлози за контакте су отворени"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Уклоните <xliff:g id="CONTACT">%s</xliff:g> из прималаца"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index a2a9f40..4f94ceb 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Retur"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kontaktförslag har öppnats"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Ta bort <xliff:g id="CONTACT">%s</xliff:g> från mottagarlistan"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index edea133..e23620a 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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">"Inayofuata"</string>
+ <string name="action_label" msgid="1318401633653605424">"Rudi"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Mapendekezo ya anwani yamefunguliwa"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Ondoa <xliff:g id="CONTACT">%s</xliff:g> miongoni mwa wapokeaji"</string>
</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 5573731..89a77e9 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"மின்னஞ்சல் முகவரியை நகலெடு"</string>
<string name="copy_number" msgid="530057841276106843">"மொபைல் எண்ணை நகலெடு"</string>
- <string name="done" msgid="2356320650733788862">"திரும்பு"</string>
+ <string name="action_label" msgid="1318401633653605424">"திரும்பு"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"திறந்துள்ள தொடர்புப் பரிந்துரைகள்"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"பெறுநர்களிலிருந்து <xliff:g id="CONTACT">%s</xliff:g>ஐ அகற்றும்"</string>
</resources>
diff --git a/res/values-ta-rTN/strings.xml b/res/values-ta-rTN/strings.xml
index 5573731..67819a5 100644
--- a/res/values-ta-rTN/strings.xml
+++ b/res/values-ta-rTN/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"மின்னஞ்சல் முகவரியை நகலெடு"</string>
<string name="copy_number" msgid="530057841276106843">"மொபைல் எண்ணை நகலெடு"</string>
<string name="done" msgid="2356320650733788862">"திரும்பு"</string>
diff --git a/res/values-te-rAP/strings.xml b/res/values-te-rAP/strings.xml
index 8b02426..82a3272 100644
--- a/res/values-te-rAP/strings.xml
+++ b/res/values-te-rAP/strings.xml
@@ -16,7 +16,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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ఇమెయిల్ చిరునామాను కాపీ చేయండి"</string>
<string name="copy_number" msgid="530057841276106843">"ఫోన్ నంబర్ను కాపీ చేయండి"</string>
<string name="done" msgid="2356320650733788862">"తిరిగి వెళ్లు"</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 8b02426..05812cc 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ఇమెయిల్ చిరునామాను కాపీ చేయండి"</string>
<string name="copy_number" msgid="530057841276106843">"ఫోన్ నంబర్ను కాపీ చేయండి"</string>
- <string name="done" msgid="2356320650733788862">"తిరిగి వెళ్లు"</string>
+ <string name="action_label" msgid="1318401633653605424">"తిరిగివెళ్లు"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"పరిచయ సూచనలు తెరవబడ్డాయి"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"స్వీకర్తల నుండి <xliff:g id="CONTACT">%s</xliff:g>ని తీసివేయండి"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index fffafd0..da61e2a 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"คัดลอกที่อยู่อีเมล"</string>
<string name="copy_number" msgid="530057841276106843">"คัดลอกหมายเลขโทรศัพท์"</string>
- <string name="done" msgid="2356320650733788862">"ส่งคืน"</string>
+ <string name="action_label" msgid="1318401633653605424">"เสร็จสิ้น"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"คำแนะนำเกี่ยวกับข้อมูลติดต่อที่เปิดอยู่"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"นำ <xliff:g id="CONTACT">%s</xliff:g> ออกจากผู้รับ"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index db846ca..025a5d6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Bumalik"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Nakabukas ang mga suhestyon sa contact"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Alisin si <xliff:g id="CONTACT">%s</xliff:g> sa mga tatanggap"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 1e099a4..a8c8f8e 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Kişi önerileri açıldı"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> adlı kişiyi alıcılardan kaldır"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 820183e..8e34f7e 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"Копіювати електронну адресу"</string>
<string name="copy_number" msgid="530057841276106843">"Копіювати номер телефону"</string>
- <string name="done" msgid="2356320650733788862">"Return"</string>
+ <string name="action_label" msgid="1318401633653605424">"Назад"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Пропозиції контактів увімкнено"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Видалити отримувача: <xliff:g id="CONTACT">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index e36ec06..886377c 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"ای میل پتہ کاپی کریں"</string>
<string name="copy_number" msgid="530057841276106843">"فون نمبر کاپی کریں"</string>
- <string name="done" msgid="2356320650733788862">"واپس جائیں"</string>
+ <string name="action_label" msgid="1318401633653605424">"واپس جائیں"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"رابطہ کی تجاویز کھلی ہوئی ہیں"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> کو وصول کنندگان سے ہٹائیں"</string>
</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 01e8833..910562f 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g> ta"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g> ta"</string>
<string name="copy_email" msgid="7869435992461603532">"E-pochta manzilidan nusxa olish"</string>
<string name="copy_number" msgid="530057841276106843">"Telefon raqamidan nusxa olish"</string>
- <string name="done" msgid="2356320650733788862">"Qaytish"</string>
+ <string name="action_label" msgid="1318401633653605424">"Enter"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Taklif qilingan kontaktlar ochildi"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"<xliff:g id="CONTACT">%s</xliff:g> qabul qiluvchilar ro‘yxatidan olib tashlansin"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f42d837..134bcb4 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Quay lại"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Đã mở đề xuất liên hệ"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Xóa <xliff:g id="CONTACT">%s</xliff:g> khỏi người nhận"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 2283f75..4785214 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</string>
<string name="copy_email" msgid="7869435992461603532">"复制电子邮件地址"</string>
<string name="copy_number" msgid="530057841276106843">"复制电话号码"</string>
- <string name="done" msgid="2356320650733788862">"上一步"</string>
+ <string name="action_label" msgid="1318401633653605424">"回车"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"联系人推荐已打开"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"从收件人列表中移除<xliff:g id="CONTACT">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 31a122a..aaf4cf1 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g> 人"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g> 人"</string>
<string name="copy_email" msgid="7869435992461603532">"複製電郵地址"</string>
<string name="copy_number" msgid="530057841276106843">"複製電話號碼"</string>
- <string name="done" msgid="2356320650733788862">"Return 鍵"</string>
+ <string name="action_label" msgid="1318401633653605424">"返回"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"已開啟聯絡人建議"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"從收件人中移除<xliff:g id="CONTACT">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 62d71cf..69e5518 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g> 人"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g> 人"</string>
<string name="copy_email" msgid="7869435992461603532">"複製電子郵件地址"</string>
<string name="copy_number" msgid="530057841276106843">"複製電話號碼"</string>
- <string name="done" msgid="2356320650733788862">"返回"</string>
+ <string name="action_label" msgid="1318401633653605424">"返回"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"已開啟聯絡人建議"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"從收件者名單中移除<xliff:g id="CONTACT">%s</xliff:g>"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 9ae03ed..5528b00 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -16,8 +16,10 @@
<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="8495478259330621990">"+<xliff:g id="COUNT">%1$s</xliff:g>"</string>
+ <string name="more_string" msgid="8495478259330621990">"+<xliff:g id="COUNT">%1$d</xliff:g>"</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>
+ <string name="action_label" msgid="1318401633653605424">"Buyela"</string>
+ <string name="accessbility_suggestion_dropdown_opened" msgid="3231589819168382515">"Iziphakamiso zoxhumana nabo zivuliwe"</string>
+ <string name="dropdown_delete_button_desc" msgid="8506791557733906887">"Susa u-<xliff:g id="CONTACT">%s</xliff:g> kusukela kubamukeli"</string>
</resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index d3500aa..8cc5470 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -20,7 +20,6 @@
<enum name="start" value="1" />
</attr>
<attr name="chipBackground" format="reference" />
- <attr name="chipBackgroundPressed" format="reference" />
<attr name="chipDelete" format="reference" />
<attr name="chipFontSize" format="reference" />
<attr name="chipHeight" format="reference" />
@@ -31,5 +30,9 @@
<enum name="bottom" value = "0"/>
<enum name="baseline" value = "1"/>
</attr>
+ <attr name="unselectedChipBackgroundColor" format="color" />
+ <attr name="selectedChipBackgroundColor" format="color" />
+ <attr name="unselectedChipTextColor" format="color" />
+ <attr name="selectedChipTextColor" format="color" />
</declare-styleable>
</resources>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 5bdfd0f..5130a32 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -26,4 +26,8 @@
<color name="chip_background_selected">#4285f4</color>
<color name="chip_background_invalid">#db4437</color>
-</resources>
\ No newline at end of file
+ <color name="chips_dropdown_text_default">#212121</color>
+ <color name="chips_dropdown_text_activated">@android:color/white</color>
+ <color name="chips_dropdown_text_highlighted">#757575</color>
+
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d1c9c7f..ecff60f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -15,15 +15,15 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- 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">\u002B<xliff:g id="count">%1$s</xliff:g></string>
-
- <!-- Text displayed when the user long presses on a chip to copy the recipients email address.
- [CHAR LIMIT=200] -->
+ <string name="more_string">\u002B<xliff:g id="count">%1$d</xliff:g></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>
- <!-- Text displayed when the user long presses on a chip to copy the recipient's phone number.
- [CHAR LIMIT=200] -->
+ <!-- Text displayed when the user long presses on a chip to copy the recipient's phone number [CHAR LIMIT=200] -->
<string name="copy_number">Copy phone number</string>
- <!-- Text displayed in the enter key slot when the recipientedittextview has focus.
- [CHAR LIMIT=12] -->
+ <!-- Text displayed in the enter key slot when the recipientedittextview has focus [CHAR LIMIT=12] -->
<string name="action_label">Return</string>
+ <!-- Announce the number of possible recipient entries that the user can select from for accessibility purposes [CHAR LIMIT=200] -->
+ <string name="accessbility_suggestion_dropdown_opened">Contact suggestions opened</string>
+ <!-- Description for the delete button that removes the selected contact from the recipients [CHAR LIMIT=100] -->
+ <string name="dropdown_delete_button_desc">Remove <xliff:g id="contact">%s</xliff:g> from recipients</string>
</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 2e7d6b4..8cb48e0 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -13,15 +13,14 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<resources xmlns:tools="http://schemas.android.com/tools"
- xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+<resources xmlns:tools="http://schemas.android.com/tools">
<style name="RecipientEditTextViewBase" parent="@android:attr/autoCompleteTextViewStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@null</item>
<item name="android:inputType">textEmailAddress|textMultiLine</item>
<item name="android:minHeight">@dimen/chip_height</item>
- <item name="android:popupBackground">@null</item>
+ <item name="android:popupBackground">@android:color/white</item>
<item name="android:textAlignment" tools:ignore="NewApi">viewStart</item>
<item name="android:textAppearance">?android:attr/textAppearanceMedium</item>
<item name="android:textDirection" tools:ignore="NewApi">locale</item>
@@ -60,7 +59,7 @@
<item name="android:ellipsize">middle</item>
<item name="android:singleLine">true</item>
<item name="android:textAlignment">viewStart</item>
- <item name="android:textColor">@color/chips_dropdown_title_text</item>
+ <item name="android:textColor">@color/chips_dropdown_text</item>
<item name="android:textSize">16sp</item>
</style>
@@ -71,7 +70,7 @@
<item name="android:ellipsize">middle</item>
<item name="android:singleLine">true</item>
<item name="android:textAlignment">viewStart</item>
- <item name="android:textColor">@color/chips_dropdown_subtitle_text</item>
+ <item name="android:textColor">@color/chips_dropdown_text</item>
<item name="android:textSize">14sp</item>
</style>
diff --git a/sample/res/values-iw/strings.xml b/sample/res/values-iw/strings.xml
index 7ead2ae..c295c34 100644
--- a/sample/res/values-iw/strings.xml
+++ b/sample/res/values-iw/strings.xml
@@ -16,6 +16,6 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="email_addresses" msgid="5320415175940315400">"כתובות דוא\"ל"</string>
+ <string name="email_addresses" msgid="5320415175940315400">"כתובות אימייל"</string>
<string name="phone_numbers" msgid="7836326833170390688">"מספרי טלפון"</string>
</resources>
diff --git a/src/com/android/ex/chips/BaseRecipientAdapter.java b/src/com/android/ex/chips/BaseRecipientAdapter.java
index 24f7a3e..070f7ad 100644
--- a/src/com/android/ex/chips/BaseRecipientAdapter.java
+++ b/src/com/android/ex/chips/BaseRecipientAdapter.java
@@ -256,7 +256,7 @@
results.values = new DefaultFilterResult(
entries, entryMap, nonAggregatedEntries,
existingDestinations, paramsList);
- results.count = 1;
+ results.count = entries.size();
}
} finally {
if (defaultDirectoryCursor != null) {
@@ -281,12 +281,9 @@
mNonAggregatedEntries = defaultFilterResult.nonAggregatedEntries;
mExistingDestinations = defaultFilterResult.existingDestinations;
- // If there are no local results, in the new result set, cache off what had been
- // shown to the user for use until the first directory result is returned
- if (defaultFilterResult.entries.size() == 0 &&
- defaultFilterResult.paramsList != null) {
- cacheCurrentEntries();
- }
+ cacheCurrentEntriesIfNeeded(defaultFilterResult.entries.size(),
+ defaultFilterResult.paramsList == null ? 0 :
+ defaultFilterResult.paramsList.size());
updateEntries(defaultFilterResult.entries);
@@ -324,10 +321,17 @@
+ existingDestinations.size()
+ ", remaining limit: " + limit + ") ");
}
- final Cursor directoryCursor = mContentResolver.query(
- DirectoryListQuery.URI, DirectoryListQuery.PROJECTION,
- null, null, null);
- return setupOtherDirectories(mContext, directoryCursor, mAccount);
+ Cursor directoryCursor = null;
+ try {
+ directoryCursor = mContentResolver.query(
+ DirectoryListQuery.URI, DirectoryListQuery.PROJECTION,
+ null, null, null);
+ return setupOtherDirectories(mContext, directoryCursor, mAccount);
+ } finally {
+ if (directoryCursor != null) {
+ directoryCursor.close();
+ }
+ }
} else {
// We don't need to search other directories.
return null;
@@ -385,7 +389,7 @@
}
if (!tempEntries.isEmpty()) {
results.values = tempEntries;
- results.count = 1;
+ results.count = tempEntries.size();
}
}
@@ -818,6 +822,19 @@
notifyDataSetChanged();
}
+ /**
+ * If there are no local results and we are searching alternate results,
+ * in the new result set, cache off what had been shown to the user for use until
+ * the first directory result is returned
+ * @param newEntryCount number of newly loaded entries
+ * @param paramListCount number of alternate filters it will search (including the current one).
+ */
+ protected void cacheCurrentEntriesIfNeeded(int newEntryCount, int paramListCount) {
+ if (newEntryCount == 0 && paramListCount > 1) {
+ cacheCurrentEntries();
+ }
+ }
+
protected void cacheCurrentEntries() {
mTempEntries = mEntries;
}
diff --git a/src/com/android/ex/chips/DropdownChipLayouter.java b/src/com/android/ex/chips/DropdownChipLayouter.java
index f88ea7d..170008f 100644
--- a/src/com/android/ex/chips/DropdownChipLayouter.java
+++ b/src/com/android/ex/chips/DropdownChipLayouter.java
@@ -1,6 +1,7 @@
package com.android.ex.chips;
import android.content.Context;
+import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.StateListDrawable;
@@ -8,11 +9,17 @@
import android.support.annotation.DrawableRes;
import android.support.annotation.IdRes;
import android.support.annotation.LayoutRes;
+import android.support.annotation.Nullable;
+import android.support.v4.view.MarginLayoutParamsCompat;
+import android.text.SpannableStringBuilder;
+import android.text.Spanned;
import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
import android.text.util.Rfc822Tokenizer;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.view.ViewGroup.MarginLayoutParams;
import android.widget.ImageView;
import android.widget.TextView;
@@ -40,10 +47,13 @@
private final Context mContext;
private ChipDeleteListener mDeleteListener;
private Query mQuery;
+ private int mAutocompleteDividerMarginStart;
public DropdownChipLayouter(LayoutInflater inflater, Context context) {
mInflater = inflater;
mContext = context;
+ mAutocompleteDividerMarginStart =
+ context.getResources().getDimensionPixelOffset(R.dimen.chip_wrapper_start_padding);
}
public void setQuery(Query query) {
@@ -54,6 +64,9 @@
mDeleteListener = listener;
}
+ public void setAutocompleteDividerMarginStart(int autocompleteDividerMarginStart) {
+ mAutocompleteDividerMarginStart = autocompleteDividerMarginStart;
+ }
/**
* Layouts and binds recipient information to the view. If convertView is null, inflates a new
@@ -75,13 +88,17 @@
/**
* See {@link #bindView(View, ViewGroup, RecipientEntry, int, AdapterType, String)}
- * @param deleteDrawable
+ * @param deleteDrawable a {@link android.graphics.drawable.StateListDrawable} representing
+ * the delete icon. android.R.attr.state_activated should map to the delete icon, and the
+ * default state can map to a drawable of your choice (or null for no drawable).
*/
public View bindView(View convertView, ViewGroup parent, RecipientEntry entry, int position,
AdapterType type, String constraint, StateListDrawable deleteDrawable) {
// Default to show all the information
- String displayName = entry.getDisplayName();
- String destination = entry.getDestination();
+ CharSequence[] styledResults =
+ getStyledResults(constraint, entry.getDisplayName(), entry.getDestination());
+ CharSequence displayName = styledResults[0];
+ CharSequence destination = styledResults[1];
boolean showImage = true;
CharSequence destinationType = getDestinationType(entry);
@@ -110,6 +127,14 @@
// For BASE_RECIPIENT set all top dividers except for the first one to be GONE.
if (viewHolder.topDivider != null) {
viewHolder.topDivider.setVisibility(position == 0 ? View.VISIBLE : View.GONE);
+ MarginLayoutParamsCompat.setMarginStart(
+ (MarginLayoutParams) viewHolder.topDivider.getLayoutParams(),
+ mAutocompleteDividerMarginStart);
+ }
+ if (viewHolder.bottomDivider != null) {
+ MarginLayoutParamsCompat.setMarginStart(
+ (MarginLayoutParams) viewHolder.bottomDivider.getLayoutParams(),
+ mAutocompleteDividerMarginStart);
}
break;
case RECIPIENT_ALTERNATES:
@@ -128,7 +153,7 @@
bindTextToView(destination, viewHolder.destinationView);
bindTextToView(destinationType, viewHolder.destinationTypeView);
bindIconToView(showImage, entry, viewHolder.imageView, type);
- bindDrawableToDeleteView(deleteDrawable, viewHolder.deleteView);
+ bindDrawableToDeleteView(deleteDrawable, entry.getDisplayName(), viewHolder.deleteView);
return itemView;
}
@@ -214,24 +239,28 @@
}
}
- protected void bindDrawableToDeleteView(final StateListDrawable drawable, ImageView view) {
+ protected void bindDrawableToDeleteView(final StateListDrawable drawable, String recipient,
+ ImageView view) {
if (view == null) {
return;
}
if (drawable == null) {
view.setVisibility(View.GONE);
- }
-
- view.setImageDrawable(drawable);
- if (mDeleteListener != null) {
- view.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (drawable.getCurrent() != null) {
- mDeleteListener.onChipDelete();
+ } else {
+ final Resources res = mContext.getResources();
+ view.setImageDrawable(drawable);
+ view.setContentDescription(
+ res.getString(R.string.dropdown_delete_button_desc, recipient));
+ if (mDeleteListener != null) {
+ view.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ if (drawable.getCurrent() != null) {
+ mDeleteListener.onChipDelete();
+ }
}
- }
- });
+ });
+ }
}
}
@@ -324,6 +353,64 @@
protected @IdRes int getDeleteResId() { return android.R.id.icon1; }
/**
+ * Given a constraint and results, tries to find the constraint in those results, one at a time.
+ * A foreground font color style will be applied to the section that matches the constraint. As
+ * soon as a match has been found, no further matches are attempted.
+ *
+ * @param constraint A string that we will attempt to find within the results.
+ * @param results Strings that may contain the constraint. The order given is the order used to
+ * search for the constraint.
+ *
+ * @return An array of CharSequences, the length determined by the length of results. Each
+ * CharSequence will either be a styled SpannableString or just the input String.
+ */
+ protected CharSequence[] getStyledResults(@Nullable String constraint, String... results) {
+ if (isAllWhitespace(constraint)) {
+ return results;
+ }
+
+ CharSequence[] styledResults = new CharSequence[results.length];
+ boolean foundMatch = false;
+ for (int i = 0; i < results.length; i++) {
+ String result = results[i];
+ if (result == null) {
+ continue;
+ }
+
+ if (!foundMatch) {
+ int index = result.toLowerCase().indexOf(constraint.toLowerCase());
+ if (index != -1) {
+ SpannableStringBuilder styled = SpannableStringBuilder.valueOf(result);
+ ForegroundColorSpan highlightSpan =
+ new ForegroundColorSpan(mContext.getResources().getColor(
+ R.color.chips_dropdown_text_highlighted));
+ styled.setSpan(highlightSpan,
+ index, index + constraint.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledResults[i] = styled;
+ foundMatch = true;
+ continue;
+ }
+ }
+ styledResults[i] = result;
+ }
+ return styledResults;
+ }
+
+ private static boolean isAllWhitespace(@Nullable String string) {
+ if (TextUtils.isEmpty(string)) {
+ return true;
+ }
+
+ for (int i = 0; i < string.length(); ++i) {
+ if (!Character.isWhitespace(string.charAt(i))) {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ /**
* A holder class the view. Uses the getters in DropdownChipLayouter to find the id of the
* corresponding views.
*/
@@ -334,6 +421,7 @@
public final ImageView imageView;
public final ImageView deleteView;
public final View topDivider;
+ public final View bottomDivider;
public ViewHolder(View view) {
displayNameView = (TextView) view.findViewById(getDisplayNameResId());
@@ -342,6 +430,7 @@
imageView = (ImageView) view.findViewById(getPhotoResId());
deleteView = (ImageView) view.findViewById(getDeleteResId());
topDivider = view.findViewById(R.id.chip_autocomplete_top_divider);
+ bottomDivider = view.findViewById(R.id.chip_autocomplete_bottom_divider);
}
}
}
diff --git a/src/com/android/ex/chips/RecipientEditTextView.java b/src/com/android/ex/chips/RecipientEditTextView.java
index 1780c6e..4584e58 100644
--- a/src/com/android/ex/chips/RecipientEditTextView.java
+++ b/src/com/android/ex/chips/RecipientEditTextView.java
@@ -17,6 +17,7 @@
package com.android.ex.chips;
+import android.annotation.TargetApi;
import android.app.Dialog;
import android.content.ClipData;
import android.content.ClipDescription;
@@ -47,6 +48,7 @@
import android.os.Looper;
import android.os.Message;
import android.os.Parcelable;
+import android.support.annotation.NonNull;
import android.text.Editable;
import android.text.InputType;
import android.text.Layout;
@@ -62,7 +64,6 @@
import android.text.util.Rfc822Tokenizer;
import android.util.AttributeSet;
import android.util.Log;
-import android.util.TypedValue;
import android.view.ActionMode;
import android.view.ActionMode.Callback;
import android.view.DragEvent;
@@ -75,6 +76,8 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewParent;
+import android.view.accessibility.AccessibilityEvent;
+import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.widget.AdapterView;
@@ -85,6 +88,7 @@
import android.widget.ListPopupWindow;
import android.widget.ListView;
import android.widget.MultiAutoCompleteTextView;
+import android.widget.PopupWindow;
import android.widget.ScrollView;
import android.widget.TextView;
@@ -137,14 +141,19 @@
private static final int MAX_CHIPS_PARSED = 50;
- private static int sSelectedTextColor = -1;
- private static int sExcessTopPadding = -1;
+ private int mSelectedChipTextColor;
+ private int mUnselectedChipTextColor;
+ private int mSelectedChipBackgroundColor;
+ private int mUnselectedChipBackgroundColor;
+
+ // Work variables to avoid re-allocation on every typed character.
+ private final Rect mRect = new Rect();
+ private final int[] mCoords = new int[2];
// Resources for displaying chips.
private Drawable mChipBackground = null;
private Drawable mChipDelete = null;
private Drawable mInvalidChipBackground;
- private Drawable mChipBackgroundPressed;
// Possible attr overrides
private float mChipHeight;
@@ -155,7 +164,6 @@
private final int mTextHeight;
private boolean mDisableDelete;
private int mMaxLines;
- private int mActionBarHeight;
/**
* Enumerator for avatar position. See attr.xml for more details.
@@ -173,6 +181,7 @@
private TextWatcher mTextWatcher;
private DropdownChipLayouter mDropdownChipLayouter;
+ private View mDropdownAnchor = this;
private ListPopupWindow mAlternatesPopup;
private ListPopupWindow mAddressPopup;
private View mAlternatePopupAnchor;
@@ -183,14 +192,16 @@
private ReplacementDrawableSpan mMoreChip;
private TextView mMoreItem;
+ private int mCurrentSuggestionCount;
+
// VisibleForTesting
final ArrayList<String> mPendingChips = new ArrayList<String>();
-
private int mPendingChipsCount = 0;
private int mCheckedItem;
private boolean mNoChips = false;
private boolean mShouldShrink = true;
+ private boolean mRequiresShrinkWhenNotGone = false;
// VisibleForTesting
ArrayList<DrawableRecipientChip> mTemporaryRecipients;
@@ -256,13 +267,10 @@
super(context, attrs);
setChipDimensions(context, attrs);
mTextHeight = calculateTextHeight();
- if (sSelectedTextColor == -1) {
- sSelectedTextColor = context.getResources().getColor(android.R.color.white);
- }
mAlternatesPopup = new ListPopupWindow(context);
- mAlternatesPopup.setBackgroundDrawable(null);
+ setupPopupWindow(mAlternatesPopup);
mAddressPopup = new ListPopupWindow(context);
- mAddressPopup.setBackgroundDrawable(null);
+ setupPopupWindow(mAddressPopup);
mCopyDialog = new Dialog(context);
mAlternatesListener = new OnItemClickListener() {
@Override
@@ -298,19 +306,27 @@
setDropdownChipLayouter(new DropdownChipLayouter(LayoutInflater.from(context), context));
}
+ private void setupPopupWindow(ListPopupWindow popup) {
+ popup.setOnDismissListener(new PopupWindow.OnDismissListener() {
+ @Override
+ public void onDismiss() {
+ clearSelectedChip();
+ }
+ });
+ }
+
private int calculateTextHeight() {
- final Rect textBounds = new Rect();
final TextPaint paint = getPaint();
- textBounds.setEmpty();
+ mRect.setEmpty();
// First measure the bounds of a sample text.
final String textHeightSample = "a";
- paint.getTextBounds(textHeightSample, 0, textHeightSample.length(), textBounds);
+ paint.getTextBounds(textHeightSample, 0, textHeightSample.length(), mRect);
- textBounds.left = 0;
- textBounds.right = 0;
+ mRect.left = 0;
+ mRect.right = 0;
- return textBounds.height();
+ return mRect.height();
}
public void setDropdownChipLayouter(DropdownChipLayouter dropdownChipLayouter) {
@@ -332,6 +348,19 @@
protected void onAttachedToWindow() {
super.onAttachedToWindow();
mAttachedToWindow = true;
+
+ final int anchorId = getDropDownAnchor();
+ if (anchorId != View.NO_ID) {
+ mDropdownAnchor = getRootView().findViewById(anchorId);
+ }
+ }
+
+ @Override
+ public void setDropDownAnchor(int anchorId) {
+ super.setDropDownAnchor(anchorId);
+ if (anchorId != View.NO_ID) {
+ mDropdownAnchor = getRootView().findViewById(anchorId);
+ }
}
@Override
@@ -351,7 +380,7 @@
}
@Override
- public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
+ public InputConnection onCreateInputConnection(@NonNull EditorInfo outAttrs) {
InputConnection connection = super.onCreateInputConnection(outAttrs);
int imeActions = outAttrs.imeOptions&EditorInfo.IME_MASK_ACTION;
if ((imeActions&EditorInfo.IME_ACTION_DONE) != 0) {
@@ -365,7 +394,11 @@
}
outAttrs.actionId = EditorInfo.IME_ACTION_DONE;
- outAttrs.actionLabel = getContext().getString(R.string.action_label);
+
+ // Custom action labels are discouraged in L; a checkmark icon is shown in place of the
+ // custom text in this case.
+ outAttrs.actionLabel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP ? null :
+ getContext().getString(R.string.action_label);
return connection;
}
@@ -384,7 +417,7 @@
public List<RecipientEntry> getSelectedRecipients() {
DrawableRecipientChip[] chips =
getText().getSpans(0, getText().length(), DrawableRecipientChip.class);
- List<RecipientEntry> results = new ArrayList();
+ List<RecipientEntry> results = new ArrayList<RecipientEntry>();
if (chips == null) {
return results;
}
@@ -400,8 +433,9 @@
public void onSelectionChanged(int start, int end) {
// When selection changes, see if it is inside the chips area.
// If so, move the cursor back after the chips again.
+ // Only exception is when we change the selection due to a selected chip.
DrawableRecipientChip last = getLastChip();
- if (last != null && start < getSpannable().getSpanEnd(last)) {
+ if (mSelectedChip == null && last != null && start < getSpannable().getSpanEnd(last)) {
// Grab the last chip and set the cursor to after it.
setSelection(Math.min(getSpannable().getSpanEnd(last) + 1, getText().length()));
}
@@ -470,15 +504,8 @@
}
}
- private int getExcessTopPadding() {
- if (sExcessTopPadding == -1) {
- sExcessTopPadding = (int) (mChipHeight + mLineSpacingExtra);
- }
- return sExcessTopPadding;
- }
-
@Override
- public <T extends ListAdapter & Filterable> void setAdapter(T adapter) {
+ public <T extends ListAdapter & Filterable> void setAdapter(@NonNull T adapter) {
super.setAdapter(adapter);
BaseRecipientAdapter baseAdapter = (BaseRecipientAdapter) adapter;
baseAdapter.registerUpdateObserver(new BaseRecipientAdapter.EntriesUpdatedObserver() {
@@ -488,22 +515,56 @@
// that the user can see as many results as possible.
if (entries != null && entries.size() > 0) {
scrollBottomIntoView();
+ // Here the current suggestion count is still the old one since we update
+ // the count at the bottom of this function.
+ if (mCurrentSuggestionCount == 0) {
+ // Announce the new number of possible choices for accessibility.
+ announceForAccessibilityCompat(getContext().getString(
+ R.string.accessbility_suggestion_dropdown_opened));
+ }
}
+
+ // Set the dropdown height to be the remaining height from the anchor to the bottom.
+ mDropdownAnchor.getLocationInWindow(mCoords);
+ getWindowVisibleDisplayFrame(mRect);
+ setDropDownHeight(mRect.bottom - mCoords[1] - mDropdownAnchor.getHeight() -
+ getDropDownVerticalOffset());
+
+ mCurrentSuggestionCount = entries == null ? 0 : entries.size();
}
});
baseAdapter.setDropdownChipLayouter(mDropdownChipLayouter);
}
+ @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
+ private void announceForAccessibilityCompat(String text) {
+ final AccessibilityManager accessibilityManager =
+ (AccessibilityManager) getContext().getSystemService(Context.ACCESSIBILITY_SERVICE);
+ final boolean isAccessibilityOn = accessibilityManager.isEnabled();
+
+ if (isAccessibilityOn && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ final ViewParent parent = getParent();
+ if (parent != null) {
+ AccessibilityEvent event = AccessibilityEvent.obtain(
+ AccessibilityEvent.TYPE_ANNOUNCEMENT);
+ onInitializeAccessibilityEvent(event);
+ event.getText().add(text);
+ event.setContentDescription(null);
+ parent.requestSendAccessibilityEvent(this, event);
+ }
+ }
+ }
+
protected void scrollBottomIntoView() {
if (mScrollView != null && mShouldShrink) {
- int[] location = new int[2];
- getLocationOnScreen(location);
- int height = getHeight();
- int currentPos = location[1] + height;
+ getLocationInWindow(mCoords);
// Desired position shows at least 1 line of chips below the action
// bar. We add excess padding to make sure this is always below other
// content.
- int desiredPos = (int) mChipHeight + mActionBarHeight + getExcessTopPadding();
+ final int height = getHeight();
+ final int currentPos = mCoords[1] + height;
+ mScrollView.getLocationInWindow(mCoords);
+ final int desiredPos = mCoords[1] + height / getLineCount();
if (currentPos > desiredPos) {
mScrollView.scrollBy(0, currentPos - desiredPos);
}
@@ -529,13 +590,20 @@
clearSelectedChip();
} else {
if (getWidth() <= 0) {
- // We don't have the width yet which means the view hasn't been drawn yet
- // and there is no reason to attempt to commit chips yet.
- // This focus lost must be the result of an orientation change
- // or an initial rendering.
- // Re-post the shrink for later.
mHandler.removeCallbacks(mDelayedShrink);
- mHandler.post(mDelayedShrink);
+
+ if (getVisibility() == GONE) {
+ // We aren't going to have a width any time soon, so defer
+ // this until we're not GONE.
+ mRequiresShrinkWhenNotGone = true;
+ } else {
+ // We don't have the width yet which means the view hasn't been drawn yet
+ // and there is no reason to attempt to commit chips yet.
+ // This focus lost must be the result of an orientation change
+ // or an initial rendering.
+ // Re-post the shrink for later.
+ mHandler.post(mDelayedShrink);
+ }
return;
}
// Reset any pending chips as they would have been handled
@@ -601,26 +669,8 @@
* @param contact The recipient entry to pull data from.
* @param paint The paint to use to draw the bitmap.
*/
- private Bitmap createSelectedChip(RecipientEntry contact, TextPaint paint) {
- paint.setColor(sSelectedTextColor);
- final ChipBitmapContainer bitmapContainer = createChipBitmap(contact, paint,
- mChipBackgroundPressed, getResources().getColor(R.color.chip_background_selected));
-
- if (bitmapContainer.loadIcon) {
- loadAvatarIcon(contact, bitmapContainer);
- }
-
- return bitmapContainer.bitmap;
- }
-
- /**
- * Creates a bitmap of the given contact on a selected chip.
- *
- * @param contact The recipient entry to pull data from.
- * @param paint The paint to use to draw the bitmap.
- */
- private Bitmap createUnselectedChip(RecipientEntry contact, TextPaint paint) {
- paint.setColor(getContext().getResources().getColor(android.R.color.black));
+ private Bitmap createChipBitmap(RecipientEntry contact, TextPaint paint) {
+ paint.setColor(getDefaultChipTextColor(contact));
ChipBitmapContainer bitmapContainer = createChipBitmap(contact, paint,
getChipBackground(contact), getDefaultChipBackgroundColor(contact));
@@ -713,8 +763,8 @@
* the layout direction is LTR or RTL.
*/
private boolean shouldPositionAvatarOnRight() {
- final boolean isRtl = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 ?
- getLayoutDirection() == LAYOUT_DIRECTION_RTL : false;
+ final boolean isRtl = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1 &&
+ getLayoutDirection() == LAYOUT_DIRECTION_RTL;
final boolean assignedPosition = mAvatarPosition == AVATAR_POSITION_END;
// If in Rtl mode, the position should be flipped.
return isRtl ? !assignedPosition : assignedPosition;
@@ -796,9 +846,14 @@
return contact.isValid() ? mChipBackground : mInvalidChipBackground;
}
+ private int getDefaultChipTextColor(RecipientEntry contact) {
+ return contact.isValid() ? mUnselectedChipTextColor :
+ getResources().getColor(android.R.color.black);
+ }
+
private int getDefaultChipBackgroundColor(RecipientEntry contact) {
- return getResources().getColor(contact.isValid() ? R.color.chip_background :
- R.color.chip_background_invalid);
+ return contact.isValid() ? mUnselectedChipBackgroundColor :
+ getResources().getColor(R.color.chip_background_invalid);
}
/**
@@ -837,23 +892,18 @@
mWorkPaint.setStyle(Style.STROKE);
mWorkPaint.setStrokeWidth(borderWidth);
mWorkPaint.setAntiAlias(true);
- canvas.drawCircle(dst.centerX(), dst.centerY(), dst.width() / 2f - borderWidth / 2, mWorkPaint);
+ canvas.drawCircle(dst.centerX(), dst.centerY(), dst.width() / 2f - borderWidth / 2,
+ mWorkPaint);
mWorkPaint.reset();
}
- private DrawableRecipientChip constructChipSpan(RecipientEntry contact, boolean pressed) {
+ private DrawableRecipientChip constructChipSpan(RecipientEntry contact) {
TextPaint paint = getPaint();
float defaultSize = paint.getTextSize();
int defaultColor = paint.getColor();
- Bitmap tmpBitmap;
- if (pressed) {
- tmpBitmap = createSelectedChip(contact, paint);
-
- } else {
- tmpBitmap = createUnselectedChip(contact, paint);
- }
+ Bitmap tmpBitmap = createChipBitmap(contact, paint);
// Pass the full text, un-ellipsized, to the chip.
Drawable result = new BitmapDrawable(getResources(), tmpBitmap);
@@ -905,8 +955,6 @@
Resources r = getContext().getResources();
mChipBackground = a.getDrawable(R.styleable.RecipientEditTextView_chipBackground);
- mChipBackgroundPressed = a
- .getDrawable(R.styleable.RecipientEditTextView_chipBackgroundPressed);
mInvalidChipBackground = a
.getDrawable(R.styleable.RecipientEditTextView_invalidChipBackground);
mChipDelete = a.getDrawable(R.styleable.RecipientEditTextView_chipDelete);
@@ -948,12 +996,22 @@
mMaxLines = r.getInteger(R.integer.chips_max_lines);
mLineSpacingExtra = r.getDimensionPixelOffset(R.dimen.line_spacing_extra);
- TypedValue tv = new TypedValue();
- if (context.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
- mActionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, getResources()
- .getDisplayMetrics());
- }
+ mUnselectedChipTextColor = a.getColor(
+ R.styleable.RecipientEditTextView_unselectedChipTextColor,
+ r.getColor(android.R.color.black));
+
+ mSelectedChipTextColor = a.getColor(
+ R.styleable.RecipientEditTextView_selectedChipTextColor,
+ r.getColor(android.R.color.white));
+
+ mUnselectedChipBackgroundColor = a.getColor(
+ R.styleable.RecipientEditTextView_unselectedChipBackgroundColor,
+ r.getColor(R.color.chip_background));
+
+ mSelectedChipBackgroundColor = a.getColor(
+ R.styleable.RecipientEditTextView_selectedChipBackgroundColor,
+ r.getColor(R.color.chip_background_selected));
a.recycle();
}
@@ -1161,8 +1219,7 @@
DrawableRecipientChip chip = null;
try {
if (!mNoChips) {
- chip = visible ?
- constructChipSpan(entry, false) : new InvisibleRecipientChip(entry);
+ chip = visible ? constructChipSpan(entry) : new InvisibleRecipientChip(entry);
}
} catch (NullPointerException e) {
Log.e(TAG, e.getMessage(), e);
@@ -1200,12 +1257,11 @@
return RecipientEntry.constructFakePhoneEntry(token, true);
}
Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(token);
- String display = null;
boolean isValid = isValid(token);
if (isValid && tokens != null && tokens.length > 0) {
// If we can get a name from tokenizing, then generate an entry from
// this.
- display = tokens[0].getName();
+ String display = tokens[0].getName();
if (!TextUtils.isEmpty(display)) {
return RecipientEntry.constructGeneratedEntry(display, tokens[0].getAddress(),
isValid);
@@ -1286,7 +1342,7 @@
* Dismiss any selected chips when the back key is pressed.
*/
@Override
- public boolean onKeyPreIme(int keyCode, KeyEvent event) {
+ public boolean onKeyPreIme(int keyCode, @NonNull KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && mSelectedChip != null) {
clearSelectedChip();
return true;
@@ -1303,7 +1359,7 @@
* a commit key, then create a chip from the text they have entered.
*/
@Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
+ public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_TAB:
if (event.hasNoModifiers()) {
@@ -1399,11 +1455,11 @@
}
String text = editable.toString().substring(start, tokenEnd).trim();
clearComposingText();
- if (text != null && text.length() > 0 && !text.equals(" ")) {
+ if (text.length() > 0 && !text.equals(" ")) {
RecipientEntry entry = createTokenizedEntry(text);
if (entry != null) {
QwertyKeyListener.markAsReplaced(editable, start, end, "");
- CharSequence chipText = createChip(entry, false);
+ CharSequence chipText = createChip(entry);
if (chipText != null && start > -1 && end > -1) {
editable.replace(start, end, chipText);
}
@@ -1465,10 +1521,7 @@
}
DrawableRecipientChip[] chips =
getSpannable().getSpans(start, end, DrawableRecipientChip.class);
- if ((chips == null || chips.length == 0)) {
- return false;
- }
- return true;
+ return chips != null && chips.length > 0;
}
private void handleEdit(int start, int end) {
@@ -1485,7 +1538,7 @@
if (!TextUtils.isEmpty(text)) {
RecipientEntry entry = RecipientEntry.constructFakeEntry(text, isValid(text));
QwertyKeyListener.markAsReplaced(editable, start, end, "");
- CharSequence chipText = createChip(entry, false);
+ CharSequence chipText = createChip(entry);
int selEnd = getSelectionEnd();
if (chipText != null && start > -1 && selEnd > -1) {
editable.replace(start, selEnd, chipText);
@@ -1499,7 +1552,7 @@
* to the selected chip.
*/
@Override
- public boolean onKeyDown(int keyCode, KeyEvent event) {
+ public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
if (mSelectedChip != null && keyCode == KeyEvent.KEYCODE_DEL) {
if (mAlternatesPopup != null && mAlternatesPopup.isShowing()) {
mAlternatesPopup.dismiss();
@@ -1548,7 +1601,7 @@
* and makes sure that the range is not already a Chip.
*/
@Override
- protected void performFiltering(CharSequence text, int keyCode) {
+ protected void performFiltering(@NonNull CharSequence text, int keyCode) {
boolean isCompletedToken = isCompletedToken(text);
if (enoughToFilter() && !isCompletedToken) {
int end = getSelectionEnd();
@@ -1584,12 +1637,17 @@
return false;
}
- private void clearSelectedChip() {
+ /**
+ * Clears the selected chip if there is one (and dismissing any popups related to the selected
+ * chip in the process).
+ */
+ public void clearSelectedChip() {
if (mSelectedChip != null) {
unselectChip(mSelectedChip);
mSelectedChip = null;
}
setCursorVisible(true);
+ setSelection(getText().length());
}
/**
@@ -1601,7 +1659,7 @@
* If it isn't, then select that chip.
*/
@Override
- public boolean onTouchEvent(MotionEvent event) {
+ public boolean onTouchEvent(@NonNull MotionEvent event) {
if (!isFocused()) {
// Ignore any chip taps until this view is focused.
return super.onTouchEvent(event);
@@ -1618,17 +1676,14 @@
int offset = putOffsetInRange(x, y);
DrawableRecipientChip currentChip = findChip(offset);
if (currentChip != null) {
- if (action == MotionEvent.ACTION_UP) {
- if (mSelectedChip != null && mSelectedChip != currentChip) {
- clearSelectedChip();
- mSelectedChip = selectChip(currentChip);
- } else if (mSelectedChip == null) {
- setSelection(getText().length());
- commitDefault();
- mSelectedChip = selectChip(currentChip);
- } else {
- onClick(mSelectedChip);
- }
+ if (mSelectedChip != null && mSelectedChip != currentChip) {
+ clearSelectedChip();
+ selectChip(currentChip);
+ } else if (mSelectedChip == null) {
+ commitDefault();
+ selectChip(currentChip);
+ } else {
+ onClick(mSelectedChip);
}
chipWasSelected = true;
handled = true;
@@ -1642,12 +1697,6 @@
return handled;
}
- private void scrollLineIntoView(int line) {
- if (mScrollView != null) {
- mScrollView.smoothScrollBy(0, calculateOffsetFromBottom(line));
- }
- }
-
private void showAlternates(final DrawableRecipientChip currentChip,
final ListPopupWindow alternatesPopup) {
new AsyncTask<Void, Void, ListAdapter>() {
@@ -1769,11 +1818,11 @@
}
private DrawableRecipientChip findChip(int offset) {
- DrawableRecipientChip[] chips =
- getSpannable().getSpans(0, getText().length(), DrawableRecipientChip.class);
+ final Spannable span = getSpannable();
+ final DrawableRecipientChip[] chips =
+ span.getSpans(0, span.length(), DrawableRecipientChip.class);
// Find the chip that contains this offset.
- for (int i = 0; i < chips.length; i++) {
- DrawableRecipientChip chip = chips[i];
+ for (DrawableRecipientChip chip : chips) {
int start = getChipStart(chip);
int end = getChipEnd(chip);
if (offset >= start && offset <= end) {
@@ -1829,7 +1878,7 @@
}
}
- private CharSequence createChip(RecipientEntry entry, boolean pressed) {
+ private CharSequence createChip(RecipientEntry entry) {
final String displayText = createAddressText(entry);
if (TextUtils.isEmpty(displayText)) {
return null;
@@ -1839,7 +1888,7 @@
final SpannableString chipText = new SpannableString(displayText);
if (!mNoChips) {
try {
- DrawableRecipientChip chip = constructChipSpan(entry, pressed);
+ DrawableRecipientChip chip = constructChipSpan(entry);
chipText.setSpan(chip, 0, textLength,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
chip.setOriginalText(chipText.toString());
@@ -1887,7 +1936,7 @@
Editable editable = getText();
QwertyKeyListener.markAsReplaced(editable, start, end, "");
- CharSequence chip = createChip(entry, false);
+ CharSequence chip = createChip(entry);
if (chip != null && start >= 0 && end >= 0) {
editable.replace(start, end, chip);
}
@@ -2006,7 +2055,6 @@
start = end; // move to the next token and get its end.
}
// Now, count total addresses.
- start = 0;
int tokenCount = countTokens(text);
MoreImageSpan moreSpan = createMoreSpan(tokenCount - CHIP_LIMIT);
SpannableString chipText = new SpannableString(text.subSequence(end, text.length()));
@@ -2142,14 +2190,11 @@
* selecting the chip will take the contents of the chip and place it at
* the end of the RecipientEditTextView for inline editing. If the
* RecipientChip is a complete contact, then selecting the chip
- * will change the background color of the chip, show the delete icon,
- * and a popup window with the address in use highlighted and any other
+ * will show a popup window with the address in use highlighted and any other
* alternate addresses for the contact.
* @param currentChip Chip to select.
- * @return A RecipientChip in the selected state or null if the chip
- * just contained an email address.
*/
- private DrawableRecipientChip selectChip(DrawableRecipientChip currentChip) {
+ private void selectChip(DrawableRecipientChip currentChip) {
if (shouldShowEditableText(currentChip)) {
CharSequence text = currentChip.getValue();
Editable editable = getText();
@@ -2157,48 +2202,32 @@
int spanStart = spannable.getSpanStart(currentChip);
int spanEnd = spannable.getSpanEnd(currentChip);
spannable.removeSpan(currentChip);
+ // Don't need leading space if it's the only chip
+ if (spanEnd - spanStart == editable.length() - 1) {
+ spanEnd++;
+ }
editable.delete(spanStart, spanEnd);
setCursorVisible(true);
setSelection(editable.length());
editable.append(text);
- return constructChipSpan(
- RecipientEntry.constructFakeEntry((String) text, isValid(text.toString())),
- true);
+ mSelectedChip = constructChipSpan(
+ RecipientEntry.constructFakeEntry((String) text, isValid(text.toString())));
} else {
- int start = getChipStart(currentChip);
- int end = getChipEnd(currentChip);
- getSpannable().removeSpan(currentChip);
- DrawableRecipientChip newChip;
final boolean showAddress =
currentChip.getContactId() == RecipientEntry.GENERATED_CONTACT ||
getAdapter().forceShowAddress();
- try {
- if (showAddress && mNoChips) {
- return null;
- }
- newChip = constructChipSpan(currentChip.getEntry(), true);
- } catch (NullPointerException e) {
- Log.e(TAG, e.getMessage(), e);
- return null;
+ if (showAddress && mNoChips) {
+ return;
}
- Editable editable = getText();
- QwertyKeyListener.markAsReplaced(editable, start, end, "");
- if (start == -1 || end == -1) {
- Log.d(TAG, "The chip being selected no longer exists but should.");
- } else {
- editable.setSpan(newChip, start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
- }
- newChip.setSelected(true);
- if (shouldShowEditableText(newChip)) {
- scrollLineIntoView(getLayout().getLineForOffset(getChipStart(newChip)));
- }
- if (showAddress) {
- showAddress(newChip, mAddressPopup);
- } else {
- showAlternates(newChip, mAlternatesPopup);
- }
+ mSelectedChip = currentChip;
+ setSelection(getText().getSpanEnd(mSelectedChip));
setCursorVisible(false);
- return newChip;
+
+ if (showAddress) {
+ showAddress(currentChip, mAddressPopup);
+ } else {
+ showAlternates(currentChip, mAlternatesPopup);
+ }
}
}
@@ -2252,7 +2281,7 @@
editable.removeSpan(chip);
try {
if (!mNoChips) {
- editable.setSpan(constructChipSpan(chip.getEntry(), false),
+ editable.setSpan(constructChipSpan(chip.getEntry()),
start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
} catch (NullPointerException e) {
@@ -2271,8 +2300,17 @@
if (mSelectedChip != null) {
removeChip(mSelectedChip);
}
- mAddressPopup.dismiss();
- mAlternatesPopup.dismiss();
+ dismissPopups();
+ }
+
+ private void dismissPopups() {
+ if (mAlternatesPopup != null && mAlternatesPopup.isShowing()) {
+ mAlternatesPopup.dismiss();
+ }
+ if (mAddressPopup != null && mAddressPopup.isShowing()) {
+ mAddressPopup.dismiss();
+ }
+ setSelection(getText().length());
}
/**
@@ -2317,7 +2355,7 @@
int end = getChipEnd(chip);
getSpannable().removeSpan(chip);
Editable editable = getText();
- CharSequence chipText = createChip(entry, false);
+ CharSequence chipText = createChip(entry);
if (chipText != null) {
if (start == -1 || end == -1) {
Log.e(TAG, "The chip to replace does not exist but should.");
@@ -2447,16 +2485,16 @@
DrawableRecipientChip.class);
if (repl.length > 0) {
// There is a chip there! Just remove it.
+ DrawableRecipientChip toDelete = repl[0];
Editable editable = getText();
// Add the separator token.
- int tokenStart = mTokenizer.findTokenStart(editable, selStart);
- int tokenEnd = mTokenizer.findTokenEnd(editable, tokenStart);
- tokenEnd = tokenEnd + 1;
- if (tokenEnd > editable.length()) {
- tokenEnd = editable.length();
+ int deleteStart = editable.getSpanStart(toDelete);
+ int deleteEnd = editable.getSpanEnd(toDelete) + 1;
+ if (deleteEnd > editable.length()) {
+ deleteEnd = editable.length();
}
- editable.delete(tokenStart, tokenEnd);
- getSpannable().removeSpan(repl[0]);
+ editable.removeSpan(toDelete);
+ editable.delete(deleteStart, deleteEnd);
}
} else if (count > before) {
if (mSelectedChip != null
@@ -2636,7 +2674,7 @@
if (mNoChips) {
return null;
}
- return constructChipSpan(entry, false);
+ return constructChipSpan(entry);
} catch (NullPointerException e) {
Log.e(TAG, e.getMessage(), e);
return null;
@@ -2650,9 +2688,7 @@
final List<DrawableRecipientChip> originalRecipients =
new ArrayList<DrawableRecipientChip>();
final DrawableRecipientChip[] existingChips = getSortedRecipients();
- for (int i = 0; i < existingChips.length; i++) {
- originalRecipients.add(existingChips[i]);
- }
+ Collections.addAll(originalRecipients, existingChips);
if (mRemovedSpans != null) {
originalRecipients.addAll(mRemovedSpans);
}
@@ -2683,16 +2719,12 @@
final ArrayList<DrawableRecipientChip> recipients =
new ArrayList<DrawableRecipientChip>();
DrawableRecipientChip[] existingChips = getSortedRecipients();
- for (int i = 0; i < existingChips.length; i++) {
- recipients.add(existingChips[i]);
- }
+ Collections.addAll(recipients, existingChips);
if (mRemovedSpans != null) {
recipients.addAll(mRemovedSpans);
}
ArrayList<String> addresses = new ArrayList<String>();
- DrawableRecipientChip chip;
- for (int i = 0; i < recipients.size(); i++) {
- chip = recipients.get(i);
+ for (DrawableRecipientChip chip : recipients) {
if (chip != null) {
addresses.add(createAddressText(chip.getEntry()));
}
@@ -2817,9 +2849,7 @@
// chip.
final ArrayList<DrawableRecipientChip> originalRecipients = params[0];
ArrayList<String> addresses = new ArrayList<String>();
- DrawableRecipientChip chip;
- for (int i = 0; i < originalRecipients.size(); i++) {
- chip = originalRecipients.get(i);
+ for (DrawableRecipientChip chip : originalRecipients) {
if (chip != null) {
addresses.add(createAddressText(chip.getEntry()));
}
@@ -2907,8 +2937,7 @@
private int supportGetOffsetForPosition(float x, float y) {
if (getLayout() == null) return -1;
final int line = supportGetLineAtCoordinate(y);
- final int offset = supportGetOffsetAtCoordinate(line, x);
- return offset;
+ return supportGetOffsetAtCoordinate(line, x);
}
private float supportConvertToLocalHorizontalCoordinate(float x) {
@@ -2961,7 +2990,7 @@
* Handles drag event.
*/
@Override
- public boolean onDragEvent(DragEvent event) {
+ public boolean onDragEvent(@NonNull DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
// Only handle plain text drag and drop.
@@ -2987,14 +3016,15 @@
}
@Override
- public void onProvideShadowMetrics(Point shadowSize, Point shadowTouchPoint) {
+ public void onProvideShadowMetrics(@NonNull Point shadowSize,
+ @NonNull Point shadowTouchPoint) {
Rect rect = mChip.getBounds();
shadowSize.set(rect.width(), rect.height());
shadowTouchPoint.set(rect.centerX(), rect.centerY());
}
@Override
- public void onDrawShadow(Canvas canvas) {
+ public void onDrawShadow(@NonNull Canvas canvas) {
mChip.draw(canvas);
}
}
@@ -3082,7 +3112,7 @@
chipInsertionPoint = editable.getSpanEnd(last) + 1;
}
- final CharSequence chip = createChip(entry, false);
+ final CharSequence chip = createChip(entry);
if (chip != null) {
editable.insert(chipInsertionPoint, chip);
}
@@ -3108,6 +3138,16 @@
mAlternatePopupAnchor = v;
}
+ @Override
+ public void setVisibility(int visibility) {
+ super.setVisibility(visibility);
+
+ if (visibility != GONE && mRequiresShrinkWhenNotGone) {
+ mRequiresShrinkWhenNotGone = false;
+ mHandler.post(mDelayedShrink);
+ }
+ }
+
private static class ChipBitmapContainer {
Bitmap bitmap;
// information used for positioning the loaded icon
diff --git a/src/com/android/ex/chips/recipientchip/ReplacementDrawableSpan.java b/src/com/android/ex/chips/recipientchip/ReplacementDrawableSpan.java
index f99b25b..5ef445d 100644
--- a/src/com/android/ex/chips/recipientchip/ReplacementDrawableSpan.java
+++ b/src/com/android/ex/chips/recipientchip/ReplacementDrawableSpan.java
@@ -11,8 +11,9 @@
* without changing the default text size or layout.
*/
public class ReplacementDrawableSpan extends ReplacementSpan {
+ protected static final Paint sWorkPaint = new Paint();
+
protected Drawable mDrawable;
- private final Paint mWorkPaint = new Paint();
private float mExtraMargin;
public ReplacementDrawableSpan(Drawable drawable) {
@@ -25,9 +26,9 @@
}
private void setupFontMetrics(Paint.FontMetricsInt fm, Paint paint) {
- mWorkPaint.set(paint);
+ sWorkPaint.set(paint);
if (fm != null) {
- mWorkPaint.getFontMetricsInt(fm);
+ sWorkPaint.getFontMetricsInt(fm);
final Rect bounds = getBounds();
final int textHeight = fm.descent - fm.ascent;