Remove duplicate Contacts/tests res-common resources
am: 7491442d2c
Change-Id: Ibdc753d6cb7f1aca90c33401d6cb96a1ab052cc5
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 0bedf6b..ea61e7b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,8 +16,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
- android:versionCode="10512"
- android:versionName="1.5.12">
+ android:versionCode="20000"
+ android:versionName="2.0.0">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="25" />
@@ -49,6 +49,8 @@
<uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
<!-- Following used for Contact metadata syncing -->
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
+ <!-- Following used for getting the status of the contacts sync adapter -->
+ <uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
diff --git a/proguard.flags b/proguard.flags
index baff4b6..7b9bc89 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -15,6 +15,7 @@
# For test:
-keep class com.android.contacts.commonbind.analytics.AnalyticsUtil { *;}
-keep class com.android.contacts.interactions.** { *;}
+-keep class com.android.contacts.util.SyncUtil { *;}
-keep class com.google.common.base.Objects { *;}
-keep class com.google.common.base.Preconditions { *;}
-keep class com.google.common.collect.Lists { *;}
diff --git a/res/layout/contact_list_content.xml b/res/layout/contact_list_content.xml
index f18267d..8420b26 100644
--- a/res/layout/contact_list_content.xml
+++ b/res/layout/contact_list_content.xml
@@ -39,20 +39,29 @@
android:id="@+id/contact_list">
<include layout="@layout/contact_list_card"/>
- <view
- class="com.android.contacts.common.list.PinnedHeaderListView"
- android:id="@android:id/list"
+
+ <android.support.v4.widget.SwipeRefreshLayout
+ android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_marginLeft="?attr/contact_browser_list_padding_left"
- android:layout_marginRight="?attr/contact_browser_list_padding_right"
- android:layout_marginStart="?attr/contact_browser_list_padding_left"
- android:layout_marginEnd="?attr/contact_browser_list_padding_right"
- android:paddingTop="?attr/list_item_padding_top"
- android:clipToPadding="false"
- android:fastScrollEnabled="true"
- android:visibility="gone"
- android:fadingEdge="none" />
+ android:enabled="false" >
+
+ <view
+ class="com.android.contacts.common.list.PinnedHeaderListView"
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginLeft="?attr/contact_browser_list_padding_left"
+ android:layout_marginRight="?attr/contact_browser_list_padding_right"
+ android:layout_marginStart="?attr/contact_browser_list_padding_left"
+ android:layout_marginEnd="?attr/contact_browser_list_padding_right"
+ android:paddingTop="?attr/list_item_padding_top"
+ android:clipToPadding="false"
+ android:fastScrollEnabled="true"
+ android:visibility="gone"
+ android:fadingEdge="none" />
+ </android.support.v4.widget.SwipeRefreshLayout>
+
<ProgressBar
android:id="@+id/search_progress"
style="?android:attr/progressBarStyleLarge"
diff --git a/res/layout/floating_action_button.xml b/res/layout/floating_action_button.xml
index 95c76ae..2dc8955 100644
--- a/res/layout/floating_action_button.xml
+++ b/res/layout/floating_action_button.xml
@@ -14,24 +14,26 @@
limitations under the License.
-->
-<!-- This expects to be included inside a RelativeLayout -->
+<!-- This expects to be included inside a RelativeLayout or a CoordinatorLayout -->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/floating_action_button_container"
android:layout_width="@dimen/floating_action_button_width"
android:layout_height="@dimen/floating_action_button_height"
- android:layout_marginEnd="@dimen/floating_action_button_margin_right"
- android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
- android:background="@drawable/fab_blue"
+ android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
- android:layout_alignParentBottom="true">
+ android:layout_gravity="bottom|end"
+ android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
+ android:layout_marginEnd="@dimen/floating_action_button_margin_right"
+ android:background="@drawable/fab_blue"
+ android:elevation="@dimen/design_fab_elevation">
<ImageButton
android:id="@+id/floating_action_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/floating_action_button"
- android:tint="@color/floating_action_button_icon_color"
android:contentDescription="@string/action_menu_add_new_contact_button"
- android:src="@drawable/ic_add"/>
+ android:src="@drawable/ic_add"
+ android:tint="@color/floating_action_button_icon_color"/>
</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/group_name_dialog.xml b/res/layout/group_name_dialog.xml
deleted file mode 100644
index f19df86..0000000
--- a/res/layout/group_name_dialog.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 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.
--->
-
-<FrameLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingLeft="25dip"
- android:paddingRight="25dip"
- android:paddingStart="25dip"
- android:paddingEnd="25dip"
- android:paddingTop="25dip"
- android:paddingBottom="25dip">
- <EditText
- android:id="@+id/group_label"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:minHeight="@dimen/group_name_edit_text_min_height"/>
-</FrameLayout>
diff --git a/res/layout/group_name_edit_dialog.xml b/res/layout/group_name_edit_dialog.xml
index 9a8c69f..5df8c9d 100644
--- a/res/layout/group_name_edit_dialog.xml
+++ b/res/layout/group_name_edit_dialog.xml
@@ -14,24 +14,28 @@
limitations under the License.
-->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<android.support.design.widget.TextInputLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/text_input_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
- android:paddingBottom="24dp"
+ android:paddingEnd="24dp"
android:paddingStart="24dp"
- android:paddingEnd="24dp">
+ app:errorEnabled="true"
+ app:hintEnabled="false">
- <EditText android:id="@android:id/text1"
- xmlns:android="http://schemas.android.com/apk/res/android"
+ <android.support.design.widget.TextInputEditText
+ android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="@dimen/group_name_edit_text_min_height"
android:layout_marginBottom="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="16dp"
android:hint="@string/group_name_dialog_hint"
android:inputType="text"
- android:singleLine="true"
- android:maxLength="@integer/group_name_max_length"/>
-</LinearLayout>
\ No newline at end of file
+ android:maxLength="@integer/group_name_max_length"
+ android:minHeight="@dimen/group_name_edit_text_min_height"
+ android:singleLine="true"/>
+</android.support.design.widget.TextInputLayout>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 945980d..47aeba3 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Verwyder van etiket"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"By etiket gevoeg"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Kon nie etiketveranderinge stoor nie."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Daardie etiket bestaan reeds."</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakte met foonnommers</item>
<item quantity="one">1 kontak met foonnommer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Skep \'n nuwe kontak"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Voeg rekening by"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Voer in"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Skep nuwe etiket"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Skep nuwe …"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Verwyder die etiket \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontakte self sal nie verwyder word nie.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Voer kontaknaam in voordat jy dit aan \'n ander kontak skakel."</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ff9d817..22acf81 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ከመሰየሚያ ተወግዷል"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ወደ ስያሜ ታክሏል"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"የመሰየሚያ ለውጦችን መቀየር አልተቻለም።"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ያ መሰየሚያ ቀድሞ አለ።"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ዕውቂያዎች ከስልክ ቁጥሮች ጋር</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ዕውቂያዎች ከስልክ ቁጥሮች ጋር</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"አዲስ ዕውቂያ ፍጠር"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"መለያ አክል"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"አምጣ"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"አዲስ መሰየሚያ ፍጠር"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"አዲስ ፍጠር…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (መሰየሚያው ይሰረዝ? (ዕውቂያዎች ራሳቸው አይሰረዙም።)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"ሌላ ዕውቂያ ከማገናኘትዎ በፊት የዕውቂያ ስም ይተይቡ።"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index e0ebf86..62c89d9 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -147,6 +147,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"تمت الإزالة من التصنيف"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"تمت الإضافة إلى التصنيف"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"لا يمكن حفظ التغييرات على التصنيف."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"هذا التصنيف موجود فعلاً"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="zero">لا توجد أية جهات اتصال بها أرقام هواتف (<xliff:g id="COUNT">%d</xliff:g>)</item>
<item quantity="two">توجد جهتا اتصال (<xliff:g id="COUNT">%d</xliff:g>) بهما أرقام هواتف</item>
@@ -252,7 +253,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"إنشاء جهة اتصال جديدة"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"إضافة حساب"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"استيراد"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"إنشاء تصنيف جديد"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"إنشاء مجموعة جديدة…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"حذف التصنيف \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"؟ (لن يتم حذف جهات الاتصال نفسها)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"اكتب اسم جهة الاتصال قبل ربطها بجهة اتصال أخرى."</string>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 45579aa..eb5facb 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Etiketdən silindi"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Etiketə əlavə edildi"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Etiket dəyişikliyini yadda saxlamaq mümkün olmadı."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Həmin etiket artıq mövcuddur"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> əlaqə</item>
<item quantity="one"> telefon nömrəsi olan 1 əlaqə</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Yeni kontakt yaradın"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Hesab əlavə edin"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"İmport"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Yeni etiket yaradın"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Yenisini yaradın..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" etiketi silinsin? (Kontaktların özləri silinməyəcək.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Digəri ilə əlaqələndirilmədən öncə kontakt adı yazın."</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 3078976..7053ca6 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -52,7 +52,7 @@
<string name="menu_call" msgid="3992595586042260618">"Pozovi kontakt"</string>
<string name="menu_sendSMS" msgid="5535886767547006515">"Pošalji SMS kontaktu"</string>
<string name="menu_splitAggregate" msgid="2627252205317945563">"Razdvoji"</string>
- <string name="menu_editGroup" msgid="5062005185370983720">"Izmeni"</string>
+ <string name="menu_editGroup" msgid="6696843438454341063">"Ukloni kontakte"</string>
<string name="menu_renameGroup" msgid="7169512355179757182">"Preimenuj oznaku"</string>
<string name="menu_deleteGroup" msgid="1126469629233412249">"Izbriši oznaku"</string>
<string name="menu_addToGroup" msgid="3267409983764370041">"Dodaj kontakt"</string>
@@ -80,10 +80,15 @@
<item quantity="few">Kontakti su izbrisani</item>
<item quantity="other">Kontakti su izbrisani</item>
</plurals>
- <plurals name="contacts_count" formatted="false" msgid="3287407967505649458">
- <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt</item>
- <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta</item>
- <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakata</item>
+ <plurals name="contacts_count" formatted="false" msgid="8696793457340503668">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> kontakt</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> kontakta</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> kontakata</item>
+ </plurals>
+ <plurals name="contacts_count_with_account" formatted="false" msgid="7402583111980220575">
+ <item quantity="one"><xliff:g id="COUNT_2">%d</xliff:g> kontakt · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="few"><xliff:g id="COUNT_2">%d</xliff:g> kontakta · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="other"><xliff:g id="COUNT_2">%d</xliff:g> kontakata · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
</plurals>
<string name="title_from_google" msgid="4664084747121207202">"Sa Google-a"</string>
<string name="title_from_other_accounts" msgid="8307885412426754288">"Sa <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
@@ -111,10 +116,12 @@
<string name="customLabelPickerTitle" msgid="1081475101983255212">"Naziv prilagođene oznake"</string>
<string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Šalji pozive direktno u glasovnu poštu"</string>
<string name="removePhoto" msgid="4898105274130284565">"Ukloni fotografiju"</string>
- <string name="noContacts" msgid="4955659076981974652">"Nema kontakata"</string>
+ <string name="noContacts" msgid="2228592924476426108">"Lista kontakata je prazna"</string>
<string name="noGroups" msgid="4607906327968232225">"Nema oznaka."</string>
<string name="noAccounts" msgid="7768267764545265909">"Morate da imate nalog da biste mogli da pravite grupe."</string>
<string name="emptyGroup" msgid="5102411903247859575">"Nema kontakata sa ovom oznakom"</string>
+ <string name="emptyAccount" msgid="6873962901497975964">"Nema kontakata na ovom nalogu"</string>
+ <string name="emptyMainList" msgid="2772242747899664460">"Lista kontakata je prazna"</string>
<string name="contactSavedToast" msgid="9171862279493213075">"Kontakt je sačuvan"</string>
<string name="contactUnlinkedToast" msgid="7122823195786012553">"Kontakti su razdvojeni"</string>
<string name="contactSavedErrorToast" msgid="3207250533172944892">"Nije moguće sačuvati izmene kontakata."</string>
@@ -131,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Uklonili smo iz oznake"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Dodato je u oznaku"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Čuvanje promena oznake nije uspelo."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ta oznaka već postoji"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt sa brojem telefona</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta sa brojevima telefona</item>
@@ -223,8 +231,7 @@
<string name="social_widget_loading" msgid="5327336597364074608">"Učitava se…"</string>
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Napravi novi kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Dodajte nalog"</string>
- <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Uvezi kontakte"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Napravite novu oznaku"</string>
+ <string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Uvezi"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Napravi novu…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Želite da izbrišete oznaku „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Kontakti neće biti izbrisani.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Unesite ime kontakta pre nego što ga objedinite sa drugim kontaktom."</string>
@@ -232,24 +239,22 @@
<string name="set_default" msgid="4417505153468300351">"Postavi na podrazumevano"</string>
<string name="clear_default" msgid="7193185801596678067">"Obriši podrazumevanu vrednost"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst je kopiran"</string>
- <string name="cancel_confirmation_dialog_message" msgid="5058226498605989285">"Želite li da odbacite promene i prekinete sa izmenama?"</string>
+ <string name="cancel_confirmation_dialog_message" msgid="9008214737653278989">"Želite da odbacite promene?"</string>
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="3057023972074640671">"Odbaci"</string>
- <string name="cancel_confirmation_dialog_keep_editing_button" msgid="7737724111972855348">"Nastavi izmene"</string>
+ <string name="cancel_confirmation_dialog_keep_editing_button" msgid="3316573928085916146">"Otkaži"</string>
<string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="enter_contact_name" msgid="4594274696120278368">"Pretražite kontakte"</string>
- <!-- no translation found for title_edit_group (1889302367574226969) -->
- <skip />
+ <string name="title_edit_group" msgid="8602752287270586734">"Uklonite kontakte"</string>
<string name="local_profile_title" msgid="2021416826991393684">"Moj lokalni profil"</string>
<string name="external_profile_title" msgid="8034998767621359438">"Moj <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> profil"</string>
<string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Prikazani su svi kontakti"</string>
<string name="generic_no_account_prompt" msgid="7218827704367325460">"Očuvajte bezbednost kontakata čak i ako izgubite telefon – sinhronizujte sa uslugom na mreži."</string>
<string name="generic_no_account_prompt_title" msgid="753783911899054860">"Dodavanje naloga"</string>
- <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Neće biti napravljena rezervna kopija novog kontakta. Želite li da dodate nalog koji pravi rezervnu kopiju kontakata onlajn?"</string>
+ <string name="contact_editor_prompt_zero_accounts" msgid="6648376557574360096">"Odvojte malo vremena da biste dodali nalog pomoću kog ćete napraviti rezervnu kopiju kontakata na Google-u."</string>
<string name="contact_editor_prompt_one_account" msgid="3087691056345099310">"Novi kontakti će biti sačuvani na nalogu <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
<string name="contact_editor_prompt_multiple_accounts" msgid="8565761674283473549">"Izaberite podrazumevani nalog za nove kontakte:"</string>
<string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dodaj novi kontakt"</string>
<string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Izmeni kontakt"</string>
- <string name="keep_local" msgid="1258761699192993322">"Zadrži lokalno"</string>
<string name="add_account" msgid="8201790677994503186">"Dodaj nalog"</string>
<string name="add_new_account" msgid="5748627740680940264">"Dodaj novi nalog"</string>
<string name="menu_export_database" msgid="2659719297530170820">"Izvezi datoteke baze podataka"</string>
@@ -261,7 +266,6 @@
<string name="about_card_title" msgid="2920942314212825637">"Osnovni podaci"</string>
<string name="send_message" msgid="8938418965550543196">"Pošalji poruku"</string>
<string name="toast_making_personal_copy" msgid="288549957278065542">"Pravljenje lične kopije..."</string>
- <string name="yesterday" msgid="6840858548955018569">"Juče"</string>
<string name="tomorrow" msgid="6241969467795308581">"Sutra"</string>
<string name="today" msgid="8041090779381781781">"Danas"</string>
<string name="today_at_time_fmt" msgid="605665249491030460">"Danas u <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
@@ -346,4 +350,6 @@
<string name="permission_explanation_subheader_calendar_and_SMS" msgid="630115334220569184">"Događaji i poruke"</string>
<string name="permission_explanation_subheader_calendar" msgid="8785323496211704613">"Događaji"</string>
<string name="permission_explanation_subheader_SMS" msgid="1904552086449525567">"Poruke"</string>
+ <string name="hamburger_feature_highlight_header" msgid="7442308698936786415">"Organizujte listu"</string>
+ <string name="hamburger_feature_highlight_body" msgid="6268711111318172098">"Uklonite duplikate i grupišite kontakte prema oznaci"</string>
</resources>
diff --git a/res/values-be-rBY/strings.xml b/res/values-be-rBY/strings.xml
index 2eee399..fbf7130 100644
--- a/res/values-be-rBY/strings.xml
+++ b/res/values-be-rBY/strings.xml
@@ -52,7 +52,7 @@
<string name="menu_call" msgid="3992595586042260618">"Выклікаць кантакт"</string>
<string name="menu_sendSMS" msgid="5535886767547006515">"Паведамленне кантакту"</string>
<string name="menu_splitAggregate" msgid="2627252205317945563">"Выдаліць сувязь"</string>
- <string name="menu_editGroup" msgid="5062005185370983720">"Рэдагаваць"</string>
+ <string name="menu_editGroup" msgid="6696843438454341063">"Выдаліць кантакты"</string>
<string name="menu_renameGroup" msgid="7169512355179757182">"Перайменаваць метку"</string>
<string name="menu_deleteGroup" msgid="1126469629233412249">"Выдаліць метку"</string>
<string name="menu_addToGroup" msgid="3267409983764370041">"Дадаць кантакт"</string>
@@ -81,11 +81,17 @@
<item quantity="many">Кантакты выдалены</item>
<item quantity="other">Кантакты выдалены</item>
</plurals>
- <plurals name="contacts_count" formatted="false" msgid="3287407967505649458">
- <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> кантакт</item>
- <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> кантакты</item>
- <item quantity="many"><xliff:g id="COUNT">%d</xliff:g> кантактаў</item>
- <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> кантакту</item>
+ <plurals name="contacts_count" formatted="false" msgid="8696793457340503668">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> кантакт</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> кантакты</item>
+ <item quantity="many"><xliff:g id="COUNT_1">%d</xliff:g> кантактаў</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> кантакту</item>
+ </plurals>
+ <plurals name="contacts_count_with_account" formatted="false" msgid="7402583111980220575">
+ <item quantity="one"><xliff:g id="COUNT_2">%d</xliff:g> кантакт · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="few"><xliff:g id="COUNT_2">%d</xliff:g> кантакты · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="many"><xliff:g id="COUNT_2">%d</xliff:g> кантактаў · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="other"><xliff:g id="COUNT_2">%d</xliff:g> кантакту · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
</plurals>
<string name="title_from_google" msgid="4664084747121207202">"З Google"</string>
<string name="title_from_other_accounts" msgid="8307885412426754288">"З <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
@@ -113,10 +119,12 @@
<string name="customLabelPickerTitle" msgid="1081475101983255212">"Імя карыстальніцкага цэтліка"</string>
<string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Адпраўляць выклікі непасрэдна на галасавую пошту"</string>
<string name="removePhoto" msgid="4898105274130284565">"Выдаліць фота"</string>
- <string name="noContacts" msgid="4955659076981974652">"Няма кантактаў"</string>
+ <string name="noContacts" msgid="2228592924476426108">"Ваш спіс кантактаў пусты"</string>
<string name="noGroups" msgid="4607906327968232225">"Метак няма."</string>
<string name="noAccounts" msgid="7768267764545265909">"Для стварэння групы патрабуецца ўліковы запіс."</string>
<string name="emptyGroup" msgid="5102411903247859575">"Няма кантактаў з гэтай меткай"</string>
+ <string name="emptyAccount" msgid="6873962901497975964">"Няма кантактаў у гэтым уліковым запісе"</string>
+ <string name="emptyMainList" msgid="2772242747899664460">"Ваш спіс кантактаў пусты"</string>
<string name="contactSavedToast" msgid="9171862279493213075">"Кантакт захаваны"</string>
<string name="contactUnlinkedToast" msgid="7122823195786012553">"Кантакты адлучаны"</string>
<string name="contactSavedErrorToast" msgid="3207250533172944892">"Немагчыма захаваць змены кантакта."</string>
@@ -133,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Выдалена з меткі"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Дададзена да этыкеткі"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Не ўдалося захаваць змяненні меткі."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Гэта пазнака ўжо існуе"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> кантакт з нумарам(і) тэлефона(ў)</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> кантакты з нумарамі тэлефонаў</item>
@@ -229,8 +238,7 @@
<string name="social_widget_loading" msgid="5327336597364074608">"Загрузка..."</string>
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Стварыць новы кантакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Дадаць уліковы запіс"</string>
- <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Імпартаваць кантакты"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Стварыць новую метку"</string>
+ <string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Імпартаваць"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Стварыць новую..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Выдаліць метку \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Самі кантакты не будуць выдалены.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Перад звязваннем кантакту з іншым увядзіце імя кантакту."</string>
@@ -238,24 +246,22 @@
<string name="set_default" msgid="4417505153468300351">"Усталяваць па змаўчанні"</string>
<string name="clear_default" msgid="7193185801596678067">"Скінуць налады па змаўчанні"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Тэкст скапіяваны"</string>
- <string name="cancel_confirmation_dialog_message" msgid="5058226498605989285">"Адхіліць змены і скончыць рэдагаванне?"</string>
+ <string name="cancel_confirmation_dialog_message" msgid="9008214737653278989">"Скасаваць змены?"</string>
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="3057023972074640671">"Адхіліць"</string>
- <string name="cancel_confirmation_dialog_keep_editing_button" msgid="7737724111972855348">"Працягнуць рэдагаванне"</string>
+ <string name="cancel_confirmation_dialog_keep_editing_button" msgid="3316573928085916146">"Скасаваць"</string>
<string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="enter_contact_name" msgid="4594274696120278368">"Пошук кантактаў"</string>
- <!-- no translation found for title_edit_group (1889302367574226969) -->
- <skip />
+ <string name="title_edit_group" msgid="8602752287270586734">"Выдаліць кантакты"</string>
<string name="local_profile_title" msgid="2021416826991393684">"Мой лакальны профіль"</string>
<string name="external_profile_title" msgid="8034998767621359438">"Мой профіль у <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
<string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Адлюстраванне ўсіх кантактаў"</string>
<string name="generic_no_account_prompt" msgid="7218827704367325460">"Абаранiце свае кантакты, нават калі страціце тэлефон: сінхранізуйце iх з вэб-службай."</string>
<string name="generic_no_account_prompt_title" msgid="753783911899054860">"Дадаць уліковы запіс"</string>
- <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Рэзервовая копiя вашага новага кантакту не будзе створана. Дадаць улiковы запiс, у якiм будуць захоўвацца рэзервовыя копii кантактаў у Iнтэрнэце?"</string>
+ <string name="contact_editor_prompt_zero_accounts" msgid="6648376557574360096">"Знайдзіце хвілінку, каб дадаць уліковы запіс, які дазволіць стварыць рэзервовую копію вашых кантактаў у Google."</string>
<string name="contact_editor_prompt_one_account" msgid="3087691056345099310">"Новыя кантакты будуць захаваны ва ўліковы запіс <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
<string name="contact_editor_prompt_multiple_accounts" msgid="8565761674283473549">"Выбраць уліковы запіс па змаўчанні для новых кантактаў:"</string>
<string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Дадаць новы кантакт"</string>
<string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Рэдагаваць кантакт"</string>
- <string name="keep_local" msgid="1258761699192993322">"Захоўваць лакальна"</string>
<string name="add_account" msgid="8201790677994503186">"Дадаць уліковы запіс"</string>
<string name="add_new_account" msgid="5748627740680940264">"Дадаць новы ўліковы запіс"</string>
<string name="menu_export_database" msgid="2659719297530170820">"Экспарт базы дадзеных файлаў"</string>
@@ -267,7 +273,6 @@
<string name="about_card_title" msgid="2920942314212825637">"Інфармацыя"</string>
<string name="send_message" msgid="8938418965550543196">"Адправiць паведамленне"</string>
<string name="toast_making_personal_copy" msgid="288549957278065542">"Стварэнне асабістай копіі..."</string>
- <string name="yesterday" msgid="6840858548955018569">"Учора"</string>
<string name="tomorrow" msgid="6241969467795308581">"Заўтра"</string>
<string name="today" msgid="8041090779381781781">"Сёння"</string>
<string name="today_at_time_fmt" msgid="605665249491030460">"Сёння ў перыяд <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
@@ -356,4 +361,6 @@
<string name="permission_explanation_subheader_calendar_and_SMS" msgid="630115334220569184">"Падзеі і паведамленні"</string>
<string name="permission_explanation_subheader_calendar" msgid="8785323496211704613">"Падзеі"</string>
<string name="permission_explanation_subheader_SMS" msgid="1904552086449525567">"Паведамленні"</string>
+ <string name="hamburger_feature_highlight_header" msgid="7442308698936786415">"Арганізуйце свой спіс"</string>
+ <string name="hamburger_feature_highlight_body" msgid="6268711111318172098">"Выдаліце дублікаты і згрупуйце кантакты па метках"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 13ee552..72ff55d 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Премахнати от етикета"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Добавянето към етикета бе успешно"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Промените в етикета не можаха да бъдат запазени."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Етикетът вече съществува"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> контакта с телефонен номер</item>
<item quantity="one">1 контакт с телефонен номер</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Създаване на нов контакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Добавяне на профил"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Импортиране"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Създаване на нов етикет"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Създаване на ново…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Да се изтрие ли етикетът „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Самите контакти няма да бъдат изтрити.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Въведете името на контакта преди свързването му с друг."</string>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 648de98..3d0c97c 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"লেবেল থেকে সরানো হয়েছে"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"লেবেল যোগ করা হয়েছে"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"লেবেল পরিবর্তনগুলি সংরক্ষণ করা গেল না।"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"এই লেবেলটি ইতিমধ্যে রয়েছে"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">ফোন নম্বর সহ <xliff:g id="COUNT">%d</xliff:g>টি পরিচিতি</item>
<item quantity="other">ফোন নম্বর সহ <xliff:g id="COUNT">%d</xliff:g>টি পরিচিতি</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"একটি নতুন পরিচিতি তৈরি করুন"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"অ্যাকাউন্ট যোগ করুন"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"আমদানি করুন"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"নতুন লেবেল তৈরি করুন"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"নতুন তৈরি করুন…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" গোষ্ঠী মুছবেন? (পরিচিতিগুলি নিজে থেকে মুছে যাবে না৷)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"অন্য একটির সাথে লিঙ্ক করার আগে পরিচিতির নাম লিখুন৷"</string>
diff --git a/res/values-bs-rBA/strings.xml b/res/values-bs-rBA/strings.xml
index 67f5166..9e2af14 100644
--- a/res/values-bs-rBA/strings.xml
+++ b/res/values-bs-rBA/strings.xml
@@ -52,7 +52,7 @@
<string name="menu_call" msgid="3992595586042260618">"Pozovi kontakt"</string>
<string name="menu_sendSMS" msgid="5535886767547006515">"Pošalji tekstualnu poruku kontaktu"</string>
<string name="menu_splitAggregate" msgid="2627252205317945563">"Razdvoji"</string>
- <string name="menu_editGroup" msgid="5062005185370983720">"Uredi"</string>
+ <string name="menu_editGroup" msgid="6696843438454341063">"Ukloni kontakte"</string>
<string name="menu_renameGroup" msgid="7169512355179757182">"Preimenuj oznaku"</string>
<string name="menu_deleteGroup" msgid="1126469629233412249">"Izbriši oznaku"</string>
<string name="menu_addToGroup" msgid="3267409983764370041">"Dodaj kontakt"</string>
@@ -80,10 +80,15 @@
<item quantity="few">Kontakti su izbrisani</item>
<item quantity="other">Kontakti su izbrisani</item>
</plurals>
- <plurals name="contacts_count" formatted="false" msgid="3287407967505649458">
- <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt</item>
- <item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta</item>
- <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakata</item>
+ <plurals name="contacts_count" formatted="false" msgid="8696793457340503668">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> kontakt</item>
+ <item quantity="few"><xliff:g id="COUNT_1">%d</xliff:g> kontakta</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> kontakata</item>
+ </plurals>
+ <plurals name="contacts_count_with_account" formatted="false" msgid="7402583111980220575">
+ <item quantity="one"><xliff:g id="COUNT_2">%d</xliff:g> kontakt · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="few"><xliff:g id="COUNT_2">%d</xliff:g> kontakta · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
+ <item quantity="other"><xliff:g id="COUNT_2">%d</xliff:g> kontakata · <xliff:g id="ACCOUNT_3">%s</xliff:g></item>
</plurals>
<string name="title_from_google" msgid="4664084747121207202">"Sa Googlea"</string>
<string name="title_from_other_accounts" msgid="8307885412426754288">"Sa računa <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
@@ -111,10 +116,12 @@
<string name="customLabelPickerTitle" msgid="1081475101983255212">"Prilagođeni naziv oznake"</string>
<string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Pošalji pozive direktno na govornu poštu"</string>
<string name="removePhoto" msgid="4898105274130284565">"Ukloni fotografiju"</string>
- <string name="noContacts" msgid="4955659076981974652">"Nema kontakata"</string>
+ <string name="noContacts" msgid="2228592924476426108">"Spisak kontakata je prazan"</string>
<string name="noGroups" msgid="4607906327968232225">"Nema oznaka."</string>
<string name="noAccounts" msgid="7768267764545265909">"Potreban vam je račun da napravite grupe."</string>
<string name="emptyGroup" msgid="5102411903247859575">"Nema kontakata s ovom oznakom"</string>
+ <string name="emptyAccount" msgid="6873962901497975964">"Nema kontakata na ovom računu"</string>
+ <string name="emptyMainList" msgid="2772242747899664460">"Spisak kontakata je prazan"</string>
<string name="contactSavedToast" msgid="9171862279493213075">"Kontakt je sačuvan"</string>
<string name="contactUnlinkedToast" msgid="7122823195786012553">"Kontakti su razdvojeni"</string>
<string name="contactSavedErrorToast" msgid="3207250533172944892">"Nije moguće sačuvati promjene kontakta."</string>
@@ -131,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Uklonjeno iz oznake"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Dodano oznaci"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nije moguće sačuvati promjene oznake."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ta oznaka već postoji"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt s brojem telefona</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta s brojevima telefona</item>
@@ -223,8 +231,7 @@
<string name="social_widget_loading" msgid="5327336597364074608">"Učitavanje…"</string>
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Napravi novi kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Dodaj račun"</string>
- <string name="contacts_unavailable_import_contacts" msgid="4957393255392437529">"Uvezi kontakte"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Napravi novu oznaku"</string>
+ <string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Uvezi"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Napravi novu…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Izbrisati oznaku \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontakti neće biti izbrisani.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Upišite ime kontakta prije povezivanja s drugim kontaktom."</string>
@@ -232,24 +239,24 @@
<string name="set_default" msgid="4417505153468300351">"Postavi zadano"</string>
<string name="clear_default" msgid="7193185801596678067">"Obriši zadano"</string>
<string name="toast_text_copied" msgid="5143776250008541719">"Tekst je kopiran"</string>
- <string name="cancel_confirmation_dialog_message" msgid="5058226498605989285">"Želite li odbaciti napravljene promjene i prekinuti uređivanje?"</string>
+ <!-- no translation found for cancel_confirmation_dialog_message (9008214737653278989) -->
+ <skip />
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="3057023972074640671">"Odbaci"</string>
- <string name="cancel_confirmation_dialog_keep_editing_button" msgid="7737724111972855348">"Nastavi uređivanje"</string>
+ <!-- no translation found for cancel_confirmation_dialog_keep_editing_button (3316573928085916146) -->
+ <skip />
<string name="call_type_and_date" msgid="747163730039311423">"<xliff:g id="CALL_TYPE">%1$s</xliff:g> <xliff:g id="CALL_SHORT_DATE">%2$s</xliff:g>"</string>
<string name="enter_contact_name" msgid="4594274696120278368">"Traži kontakte"</string>
- <!-- no translation found for title_edit_group (1889302367574226969) -->
- <skip />
+ <string name="title_edit_group" msgid="8602752287270586734">"Ukloni kontakte"</string>
<string name="local_profile_title" msgid="2021416826991393684">"Moj lokalni profil"</string>
<string name="external_profile_title" msgid="8034998767621359438">"Moj profil <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g>"</string>
<string name="toast_displaying_all_contacts" msgid="2737388783898593875">"Prikazuju se svi kontakti"</string>
<string name="generic_no_account_prompt" msgid="7218827704367325460">"Očuvajte sigurnost svojih kontakata čak i ako izgubite telefon: sinhronizirajte ih s mrežnom uslugom."</string>
<string name="generic_no_account_prompt_title" msgid="753783911899054860">"Dodajte račun"</string>
- <string name="contact_editor_prompt_zero_accounts" msgid="1785345895691886499">"Neće biti napravljena sigurnosna kopija novog računa. Dodati račun za pravljenje sigurnosnih kopija kontakata na mreži?"</string>
+ <string name="contact_editor_prompt_zero_accounts" msgid="6648376557574360096">"Odvojite trenutak da dodate račun putem kojeg će se kontakti sigurnosno kopirati na Google."</string>
<string name="contact_editor_prompt_one_account" msgid="3087691056345099310">"Novi kontakti će biti sačuvani na račun <xliff:g id="ACCOUNT_NAME">%1$s</xliff:g>."</string>
<string name="contact_editor_prompt_multiple_accounts" msgid="8565761674283473549">"Izaberite zadani račun za nove kontakte:"</string>
<string name="contact_editor_title_new_contact" msgid="7192223018128934940">"Dodaj novi kontakt"</string>
<string name="contact_editor_title_existing_contact" msgid="4898475703683187798">"Uredi kontakt"</string>
- <string name="keep_local" msgid="1258761699192993322">"Zadrži na uređaju"</string>
<string name="add_account" msgid="8201790677994503186">"Dodajte račun"</string>
<string name="add_new_account" msgid="5748627740680940264">"Dodaj novi račun"</string>
<string name="menu_export_database" msgid="2659719297530170820">"Izvezi fajlove baze podataka"</string>
@@ -261,7 +268,6 @@
<string name="about_card_title" msgid="2920942314212825637">"O kontaktu"</string>
<string name="send_message" msgid="8938418965550543196">"Pošalji poruku"</string>
<string name="toast_making_personal_copy" msgid="288549957278065542">"Izrađivanje lične kopije u toku…"</string>
- <string name="yesterday" msgid="6840858548955018569">"Jučer"</string>
<string name="tomorrow" msgid="6241969467795308581">"Sutra"</string>
<string name="today" msgid="8041090779381781781">"Danas"</string>
<string name="today_at_time_fmt" msgid="605665249491030460">"Danas u <xliff:g id="TIME_INTERVAL">%s</xliff:g>"</string>
@@ -346,4 +352,6 @@
<string name="permission_explanation_subheader_calendar_and_SMS" msgid="630115334220569184">"Događaji i poruke"</string>
<string name="permission_explanation_subheader_calendar" msgid="8785323496211704613">"Događaji"</string>
<string name="permission_explanation_subheader_SMS" msgid="1904552086449525567">"Poruke"</string>
+ <string name="hamburger_feature_highlight_header" msgid="7442308698936786415">"Organizirajte spisak"</string>
+ <string name="hamburger_feature_highlight_body" msgid="6268711111318172098">"Uklonite duplikate i grupirajte kontakte prema oznaci"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index cad9595..fa205e1 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"S\'han suprimit de l\'etiqueta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"S\'ha afegit a l\'etiqueta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"No s\'han pogut desar els canvis fets a l\'etiqueta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Aquesta etiqueta ja existeix"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactes amb número de telèfon</item>
<item quantity="one">1 contacte amb número de telèfon</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crea un contacte"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Afegeix un compte"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importa"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Crea una etiqueta"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Crea…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Vols suprimir l\'etiqueta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (No se\'n suprimiran els contactes.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Escriu el nom del contacte abans d\'enllaçar-lo amb un altre contacte."</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b6cf011..fe9358c 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Odebráno ze štítku"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Přidáno do štítku"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Změny štítku se nepodařilo uložit."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Tento štítek už existuje"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty s telefonním číslem</item>
<item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktu s telefonním číslem</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Vytvořit nový kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Přidat účet"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importovat"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Vytvořit nový štítek"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Nový štítek…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Smazat štítek <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Samotné kontakty smazány nebudou.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Před propojením s jiným kontaktem je třeba zadat jméno kontaktu."</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 20438a8..e88159a 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Fjernet fra etiketten"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Føjet til etiket"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Ændringerne af etiketten kan ikke gemmes."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Etiketten findes allerede"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktpersoner med telefonnumre</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Opret ny kontaktperson"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Tilføj konto"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importér"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Opret en ny etiket"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Opret ny…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Vil du slette etiketten \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Selve kontaktpersonerne bliver ikke slettet)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Skriv kontaktpersonens navn, før den linkes sammen til en anden."</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index dc14b93..690c8c9 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Aus Label entfernt"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Zu Label hinzugefügt"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Änderungen am Label konnten nicht gespeichert werden."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Dieses Label ist bereits vorhanden"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> Kontakte mit Telefonnummern</item>
<item quantity="one">1 Kontakt mit Telefonnummer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Neuen Kontakt erstellen"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Konto hinzufügen"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importieren"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Neues Label erstellen"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Neu erstellen…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Soll das Label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" gelöscht werden? (Die Kontakte selbst werden nicht gelöscht.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Gib einen Namen für den Kontakt ein, bevor du ihn mit einem anderen Kontakt verknüpfst."</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 0499bed..5abfb33 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Καταργήθηκε από ετικέτα"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Προστέθηκε στην ετικέτα"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Δεν ήταν δυνατή η αποθήκευση των αλλαγών ετικέτας."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Η ετικέτα υπάρχει ήδη"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> επαφές με αριθμό τηλεφώνου</item>
<item quantity="one">1 επαφή με αριθμό τηλεφώνου</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Δημιουργία νέας επαφής"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Προσθήκη λογαριασμού"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Εισαγωγή"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Δημιουργία νέας ετικέτας"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Δημιουργία νέας…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Διαγραφή της ετικέτας \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"; (Οι ίδιες οι επαφές δεν θα διαγραφούν)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Πληκτρολογήστε το όνομα της επαφής προτού τη συνδέσετε με κάποια άλλη."</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 012cd31..270a5ed 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removed from label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Added to label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Couldn\'t save label changes."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"That label already exists"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
<item quantity="one">1 contact with phone number</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Create a new contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Add account"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Import"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Create new label"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Create new…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Delete the label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Contacts themselves will not be deleted.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Type contact name before linking with another."</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 012cd31..270a5ed 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removed from label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Added to label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Couldn\'t save label changes."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"That label already exists"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
<item quantity="one">1 contact with phone number</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Create a new contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Add account"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Import"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Create new label"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Create new…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Delete the label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Contacts themselves will not be deleted.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Type contact name before linking with another."</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 012cd31..270a5ed 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removed from label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Added to label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Couldn\'t save label changes."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"That label already exists"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts with phone numbers</item>
<item quantity="one">1 contact with phone number</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Create a new contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Add account"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Import"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Create new label"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Create new…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Delete the label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Contacts themselves will not be deleted.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Type contact name before linking with another."</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index b7140f5..c44aeba 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eliminado de la etiqueta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Agregado a la etiqueta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"No se pudieron guardar los cambios en la etiqueta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Esa etiqueta ya existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono</item>
<item quantity="one">1 contacto con número de teléfono</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear un contacto nuevo"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Agregar cuenta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Crear una etiqueta nueva"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Crear nueva…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"¿Quieres quitar la etiqueta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Los contactos en sí no se borrarán)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Escribe el nombre del contacto antes de vincularlo con otro."</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 76c981a..503058a 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eliminados de la etiqueta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Añadido a la etiqueta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"No se han podido guardar los cambios de la etiqueta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Esta etiqueta ya existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con número de teléfono</item>
<item quantity="one">1 contacto con número de teléfono</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear un contacto"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Añadir cuenta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Crear etiqueta nueva"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Crear…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"¿Seguro que quieres eliminar la etiqueta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Los contactos no se eliminarán."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Para vincular el contacto, escribe el nombre del otro contacto."</string>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index adafcba..b1bb98c 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eemaldatud sildilt"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Lisati sildile"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Sildi muudatusi ei õnnestunud salvestada."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"See silt on juba olemas"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> telefoninumbriga kontakti</item>
<item quantity="one">1 telefoninumbriga kontakt</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Loo uus kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Lisa konto"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importimine"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Uue sildi loomine"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Uue loomine …"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Kas kustutada silt „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Kontakte ei kustutata.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Enne teise kontaktiga linkimist sisestage kontakti nimi."</string>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index b61aa9d..b025e0f 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Kendu dira etiketatik"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Gehitu d(ir)a etiketan"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Ezin izan dira gorde etiketen aldaketak."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Badago etiketa"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontaktuk telefono-zenbakia dute</item>
<item quantity="one">Kontaktu batek telefono-zenbakia du</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Sortu kontaktua"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Gehitu kontua"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Inportatu"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Sortu etiketa"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Sortu…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" taldea ezabatu nahi duzu? (Ez dira ezabatuko kontaktuak.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Beste batekin lotu aurretik, idatzi kontaktuaren izena."</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index b4ea335..8313bca 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"از برچسب حذف شد"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"به برچسب اضافه شد"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"تغییرات برچسب ذخیره نشد."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"این برچسب از قبل موجود است"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> مخاطب با شماره تلفن</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> مخاطب با شماره تلفن</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ایجاد مخاطب جدید"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"افزودن حساب"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"وارد کردن"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"ایجاد برچسب جدید"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"ایجاد مورد جدید..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"برچسب «<xliff:g id="GROUP_LABEL">%1$s</xliff:g>» حذف شود؟ (مخاطبین حذف نخواهند شد.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"قبل از پیوند دادن با مخاطب دیگر، نام مخاطب را تایپ کنید."</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index c66387a..51a4183 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Poistettu tunnisteesta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Lisätty tunnisteeseen"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Tunnisteen muutosten tallennus epäonnistui."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Tunniste on jo olemassa."</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> yhteystietoa, jossa puhelinnumero</item>
<item quantity="one">1 yhteystieto, jossa puhelinnumero</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Luo uusi yhteystieto"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Lisää tili"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Tuo"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Luo uusi tunniste"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Luo uusi…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Poistetaanko tunniste <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Yhteystietoja ei poisteta.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Kirjoita kontaktin nimi ennen kuin yhdistät sen toiseen."</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 75530f6..47a4d6f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Supprimé de l\'étiquette"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Ajouté à l\'étiquette"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Impossible d\'enregistrer l\'étiquette modifiée."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Cette étiquette existe déjà"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact avec un numéro de téléphone</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts avec un numéro de téléphone</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Créer un contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Ajouter un compte"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importer"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Créer une étiquette"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Créer…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Supprimer l\'étiquette « <xliff:g id="GROUP_LABEL">%1$s</xliff:g> »? (Les contacts ne seront pas supprimés.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Entrez le nom du contact avant de l\'associer à un autre."</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 9e0ac6c..0eb4bab 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Contact retiré du libellé"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Ajout au libellé effectué"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Impossible d\'enregistrer les changements apportés au libellé."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ce libellé existe déjà"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact avec numéro de téléphone</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacts avec numéro de téléphone</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Créer un contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Ajouter un compte"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importer"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Créer un libellé"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Créer…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Supprimer le libellé \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" (les contacts associés ne seront pas supprimés) ?"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Saisissez le nom du contact avant de l\'associer à un autre."</string>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index bc3cd22..37aafcd 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eliminouse da etiqueta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Engadiuse á etiqueta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Non se puideron gardar os cambios da etiqueta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Esa etiqueta xa existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos con números de teléfono</item>
<item quantity="one">Un contacto con número de teléfono</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crear un contacto novo"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Engadir conta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Crear etiqueta nova"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Crear nova…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Queres eliminar a etiqueta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Os contactos non se eliminarán.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Escribe o nome do contacto antes de ligalo con outro."</string>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
index 48245be..3a1ff75 100644
--- a/res/values-gu-rIN/strings.xml
+++ b/res/values-gu-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"લેબલમાંથી દૂર કર્યાં"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"લેબલમાં ઉમેર્યા"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"લેબલ ફેરફારો સાચવી શકાયાં નથી."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"તે લેબલ પહેલાંથી અસ્તિત્વમાં છે"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">ફોન નંબર્સ સાથેના <xliff:g id="COUNT">%d</xliff:g> સંપર્કો</item>
<item quantity="other">ફોન નંબર્સ સાથેના <xliff:g id="COUNT">%d</xliff:g> સંપર્કો</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"એક નવો સંપર્ક બનાવો"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"એકાઉન્ટ ઉમેરો"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"આયાત કરો"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"નવું લેબલ બનાવો"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"નવું બનાવો…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" લેબલ કાઢી નાખીએ? (સંપર્કો સ્વયં કાઢી નાખવામાં આવશે નહીં.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"બીજા સાથે લિંક કરતાં પહેલાં સંપર્કનું નામ લખો."</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 329ca2b..a1a101b 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"लेबल से निकाला गया"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"लेबल में जोड़ा गया"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"लेबल के बदलाव सहेजे नहीं जा सके."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"वह लेबल पहले से मौजूद है"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">फ़ोन नंबर वाले <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
<item quantity="other">फ़ोन नंबर वाले <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"एक नया संपर्क बनाएं"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"खाता जोड़ें"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"आयात करें"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"नया लेबल बनाएं"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"नया बनाएं…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"लेबल \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" हटाएं? (संपर्क स्वयं नहीं हटाए जाएंगे.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"अन्य संपर्क से लिंक करने से पहले संपर्क नाम लिखें."</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 113f39a..d079a91 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -138,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Uklonjeno iz oznake"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Dodano u oznaku"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Promjene oznake ne mogu se spremiti."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"To oznaka već postoji"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontakt s telefonskim brojem</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakta s telefonskim brojem</item>
@@ -231,7 +232,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Izradi novi kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Dodaj račun"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Uvezi"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Izrada nove oznake"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Izrada nove oznake…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Želite li izbrisati oznaku \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontakti se neće izbrisati.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Upišite ime kontakta da biste ga povezali s drugim kontaktom."</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 526009b..44e4365 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eltávolítva a címkéből"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Hozzáadva a címkéhez"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nem sikerült menteni a címke változtatásait."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Már van ilyen címke"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> névjegy telefonszámmal</item>
<item quantity="one">1 névjegy telefonszámmal</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Új névjegy létrehozása"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Fiók hozzáadása"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importálás"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Új címke létrehozása"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Új létrehozása…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Törli a következő címkét: <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Ezzel nem törli a névjegyeket.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Adja meg a névjegyhez tartozó nevet, mielőtt társítana egy másik névjegyet."</string>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 5980d2c..198f96a 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Հեռացվել է պիտակից"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Ավելացվեց պիտակին"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Չհաջողվեց պահել պիտակի փոփոխությունները:"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Այս անունով խումբ արդեն գոյություն ունի"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> հեռախոսահամարով կոնտակտ</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> հեռախոսահամարով կոնտակտ</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Ստեղծել նոր կոնտակտ"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Ավելացնել հաշիվ"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Ներմուծել"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Ստեղծել նոր պիտակ"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Ստեղծել նոր…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Ջնջե՞լ «<xliff:g id="GROUP_LABEL">%1$s</xliff:g>» պիտակը (կոնտակտները չեն ջնջվի):"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Մուտքագրեք կոնտակտի անունը՝ մեկ ուրիշի հետ միավերլուց առաջ:"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9df66c9..e8ce4e4 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Dihapus dari label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Ditambahkan ke label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Tidak dapat menyimpan perubahan label."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Label tersebut sudah ada"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontak dengan nomor telepon</item>
<item quantity="one">1 kontak dengan nomor telepon</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Buat kontak baru"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Tambahkan akun"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Impor"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Buat label baru"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Buat baru…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Hapus label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontak tidak akan dihapus.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Ketik nama kontak sebelum menautkan dengan lainnya."</string>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 01fd6d2..e033493 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Fjarlægðir úr flokki"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Bætt við flokk"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Ekki tókst að vista breytingar á flokki."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Þessi flokkur er þegar til"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> tengiliður með símanúmer</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> tengiliðir með símanúmer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Búa til nýjan tengilið"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Bæta reikningi við"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Flytja inn"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Búa til nýjan flokk"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Búa til nýjan…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Eyða flokknum „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Tengiliðunum sjálfum verður ekki eytt.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Sláðu inn nafn tengiliðar áður en þú tengir hann saman við annan."</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 91075b5..3f0fd8d 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Rimossa da etichetta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Aggiunti all\'etichetta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Impossibile salvare le modifiche all\'etichetta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"L\'etichetta esiste già"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contatti con numero di telefono</item>
<item quantity="one">1 contatto con numero di telefono</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Crea nuovo contatto"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Aggiungi account"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importa"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Crea nuova etichetta"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Crea nuova…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Eliminare l\'etichetta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? I contatti non verranno eliminati."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Inserisci il nome del contatto prima di collegarlo a un altro contatto."</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index f5864ab..3fa461f 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"הוסר מהתווית"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"נוסף לתווית"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"לא ניתן היה לשמור את השינויים בתווית."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"התווית הזו כבר קיימת"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="two"><xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון</item>
<item quantity="many"><xliff:g id="COUNT">%d</xliff:g> אנשי קשר עם מספרי טלפון</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"צור איש קשר חדש"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"הוסף חשבון"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ייבא"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"יצירת תווית חדשה"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"צור חדשה…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"למחוק את התווית \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (אנשי הקשר המסומנים בתווית לא יימחקו)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"הקלד שם של איש קשר לפני קישורו לאחר."</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 6e43b9d..2d66ded 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ラベルから削除されました"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ラベルに追加されました"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ラベルの変更を保存できませんでした。"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"このラベルは既に存在しています"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">電話番号のある連絡先<xliff:g id="COUNT">%d</xliff:g>件</item>
<item quantity="one">電話番号のある連絡先1件</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"新しい連絡先を作成"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"アカウントを追加"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"インポート"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"新しいラベルの作成"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"新規作成…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"ラベル「<xliff:g id="GROUP_LABEL">%1$s</xliff:g>」を削除しますか?(連絡先自体は削除されません。)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"別の連絡先とリンクするにはまず連絡先の名前を入力してください。"</string>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index a8205ea..f65f13d 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ლეიბლიდან წაიშალა"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"დაემატა ლეიბლს"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ლეიბლის ცვლილებების შენახვა ვერ მოხერხდა."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ეს ლეიბლი უკვე არსებობს"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> კონტაქტი ტელეფონის ნომრით</item>
<item quantity="one">1 კონტაქტი ტელეფონის ნომრით</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ახალი კონტაქტის შექმნა"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ანგარიშის დამატება"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"იმპორტი"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"ახალი ლეიბლის შექმნა"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"ახლის შექმნა…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"გსურთ ლეიბლის „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“ წაშლა? (თვითონ კონტაქტები არ წაიშლება)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"სხვა კონტაქტთან მიბმამდე აკრიფეთ კონტაქტის სახელი."</string>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 2079469..d3f82a1 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Белгіден жойылған"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Белгіге қосылды"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Белгі өзгертулері сақталмады."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Бұл белгіше бұрыннан бар"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">Телефон нөмірі бар <xliff:g id="COUNT">%d</xliff:g> контакт</item>
<item quantity="one">Телефон нөмірі бар 1 контакт</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Жаңа контакт құру"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Есептік жазба қосу"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Импорттау"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Жаңа белгі жасау"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Жаңасын жасау…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" тобы жойылсын ба? Контактілер өздігінен жойылмайды."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Басқа контактімен байланыстыру алдында контактінің атын теріңіз."</string>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 1897ec9..e08833b 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"បានយកចេញពីស្លាក"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"បានបន្ថែមទៅស្លាក"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"មិនអាចរក្សាទុកការផ្លាស់ប្តូរស្លាកបានទេ។"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ស្លាកនោះមានរួចហើយ"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">ទំនាក់ទំនង <xliff:g id="COUNT">%d</xliff:g> ដែលមានលេខទូរស័ព្ទ</item>
<item quantity="one">ទំនាក់ទំនង 1 ដែលមានលេខទូរស័ព្ទ</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"បង្កើតទំនាក់ទំនងថ្មី"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"បញ្ចូលគណនី"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"នាំចូល"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"បង្កើតស្លាកថ្មី"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"បង្កើតថ្មី..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"លុបស្លាក \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (ទំនាក់ទំនងរបស់ខ្លួនឯងនឹងមិនត្រូវបានលុបទេ)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"សូមបញ្ចូលឈ្មោះទំនាក់ទំនងមុនពេលតភ្ជាប់ជាមួយទំនាក់ទំនងផ្សេងទៀត។"</string>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index a6cb3a4..937ad16 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ಲೇಬಲ್ನಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ಲೇಬಲ್ಗೆ ಸೇರಿಸಲಾಗಿದೆ"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ಲೇಬಲ್ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಲಾಗಲಿಲ್ಲ."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ಆ ಲೇಬಲ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">ಫೋನ್ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ <xliff:g id="COUNT">%d</xliff:g> ಸಂಪರ್ಕಗಳು</item>
<item quantity="other">ಫೋನ್ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ <xliff:g id="COUNT">%d</xliff:g> ಸಂಪರ್ಕಗಳು</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ಹೊಸ ಸಂಪರ್ಕ ರಚಿಸಿ"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ಖಾತೆ ಸೇರಿಸಿ"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ಆಮದು ಮಾಡಿ"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"ಹೊಸ ಲೇಬಲ್ ರಚಿಸಿ"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"ಹೊಸದನ್ನು ರಚಿಸಿ…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ಲೇಬಲ್ ಅಳಿಸುವುದೇ? (ಸಂಪರ್ಕಗಳನ್ನೇ ಅಳಿಸುವುದಿಲ್ಲ.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"ಮತ್ತೊಬ್ಬರೊಂದಿಗೆ ಲಿಂಕ್ ಮಾಡುವ ಮೊದಲು ಸಂಪರ್ಕದ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡಿ."</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 7d87637..f8b78fc 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"라벨에서 삭제됨"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"라벨에 추가됨"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"라벨 변경사항을 저장할 수 없습니다."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"이미 존재하는 라벨입니다."</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">전화번호가 포함된 연락처 <xliff:g id="COUNT">%d</xliff:g>개</item>
<item quantity="one">전화번호가 포함된 연락처 1개</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"새 연락처 만들기"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"계정 추가"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"가져오기"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"새 라벨 만들기"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"새로 만들기…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\'<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\' 라벨을 삭제하시겠습니까?(연락처는 삭제되지 않음)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"다른 연락처와 연결하려면 연락처 이름을 입력하세요."</string>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index 725a533..580ed18 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Энбелгиден алынып салынды"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Энге кошулду"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Энбелгинин өзгөрүүлөрүн сактай алган жок."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ал энбелги мурунтан эле бар"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">телефон номерлери менен <xliff:g id="COUNT">%d</xliff:g> байланыш</item>
<item quantity="one">телефон номери менен 1 байланыш</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Жаңы байланыш түзүү"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Каттоо эсебин кошуу"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Импорттоо"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Жаңы энбелги түзүү"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Жаңысын түзүү..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" энбелгиси өчүрүлсүнбү? (Байланыштардын өзү өчүрүлбөйт)."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Башка байланышка шилтемелөөдөн мурун, байланыштын атын териңиз."</string>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index e7c5dd7..75266ec 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ລຶບອອກຈາກປ້າຍກຳກັບແລ້ວ"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ເພີ່ມໃສ່ປ້າຍກຳກັບແລ້ວ"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ບໍ່ສາມາດບັນທຶກການປ່ຽນແປງປ້າຍກຳກັບໄດ້."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ມີປ້າຍກຳກັບນັ້ນຢູ່ກ່ອນແລ້ວ"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ລາຍຊື່ພ້ອມເບີໂທລະສັບ</item>
<item quantity="one">ລາຍຊື່ພ້ອມເບີໂທລະສັບ</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ສ້າງລາຍຊື່ຜູ້ຕິດຕໍ່ໃໝ່"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ເພີ່ມບັນຊີ"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ນຳເຂົ້າ"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"ສ້າງປ້າຍກຳກັບໃໝ່"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"ສ້າງໃໝ່…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"ລຶບປ້າຍກຳກັບ \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ອອກບໍ? (ລາຍຊື່ຜູ້ຕິດຕໍ່ຈະບໍ່ຖືກລຶບອອກ.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"ພິມຊື່ຂອງລາຍຊື່ຜູ້ຕິດຕໍ່ກ່ອນການລິ້ງກັບລາຍຊື່ອື່ນ."</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 6088bc9..e4a4f41 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Pašalinta iš etiketės"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Pridėta prie etiketės"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nepavyko išsaugoti etiketės pakeitimų."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ši etiketė jau yra"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktas su telefonų numeriais</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontaktai su telefonų numeriais</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Sukurti naują kontaktą"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Pridėti paskyrą"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importuoti"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Naujos etiketės kūrimas"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Sukurti naują..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Ištrinti etiketę „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Kontaktai nebus ištrinti.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Įveskite kontakto vardą prieš susiedami jį su kitu kontaktu."</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 326a4e8..c66d33d 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -138,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Noņemtas no iezīmes"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Pievienota iezīmei"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nevarēja saglabāt iezīmes izmaiņas."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Attiecīgā iezīme jau pastāv."</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="zero"><xliff:g id="COUNT">%d</xliff:g> kontaktpersonas ar tālruņa numuriem</item>
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> kontaktpersona ar tālruņa numuriem</item>
@@ -231,7 +232,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Izveidot jaunu kontaktpersonu"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Pievienot kontu"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importēt"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Jaunas iezīmes izveide"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Izveidot jaunu…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Vai dzēst iezīmi “<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Kontaktpersonas netiks dzēstas.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Ievadiet kontaktpersonas vārdu, pirms saistāt to ar citu kontaktpersonu."</string>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 880317a..534def1 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Отстрането од етикетата"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Додадено на етикетата"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Промените на етикетата не можеше да се зачуваат."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Етикетата веќе постои"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт со телефонски број</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> контакти со телефонски броеви</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Создај нов контакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Додај сметка"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Увези"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Создајте нова етикета"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Создајте нова…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Да се избрише етикетата „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Контактите нема да се избришат.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Впишете го името на контактот пред да го поврзете со друг."</string>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index 77af785..0dcf416 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ലേബലിൽ നിന്ന് നീക്കംചെയ്തു"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ലേബലിൽ ചേർത്തു"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ലേബൽ മാറ്റങ്ങൾ സംരക്ഷിക്കാനായില്ല."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ആ ലേബൽ നിലവിലുണ്ട്"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">ഫോൺ നമ്പറുള്ള <xliff:g id="COUNT">%d</xliff:g> കോൺടാക്റ്റുകൾ</item>
<item quantity="one">ഫോൺ നമ്പറുള്ള ഒരു കോൺടാക്റ്റ്</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"പുതിയകോൺടാക്റ്റ് സൃഷ്ടിക്കൂ"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"അക്കൗണ്ട് ചേർക്കുക"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ഇമ്പോർട്ടുചെയ്യുക"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"പുതിയ ലേബല് സൃഷ്ടിക്കൂ"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"പുതിയത് സൃഷ്ടിക്കുക…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ലേബൽ ഇല്ലാതാക്കണോ? (കോൺടാക്റ്റുകൾ സ്വയം ഇല്ലാതാക്കപ്പെടില്ല.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"മറ്റൊരു കോൺടാക്റ്റുമായി ലിങ്കുചെയ്യുന്നതിന് മുമ്പ് കോൺടാക്റ്റിന്റെ പേര് ടൈപ്പുചെയ്യുക."</string>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 97a5ebf..6af35e8 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Шошгоос хассан"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Шошгонд нэмсэн"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Шошгын өөрчлөлтийг хадгалж чадсангүй."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Энэ шошго байна"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">Утасны дугаар бүхий <xliff:g id="COUNT">%d</xliff:g> хаяг байна</item>
<item quantity="one">Утасны дугаар бүхий 1 хаяг байна</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Шинэ харилцагч үүсгэх"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Бүртгэл нэмэх"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Импортлох"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Шинэ шошго үүсгэх"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Шинийг үүсгэх..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" шошгыг устгах уу? (Харилцагчид нь устахгүй.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Өөр харилцагчийн жагсаалттай холбохын тулд харилцагчийн нэрийг бичнэ үү."</string>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 0f62ed4..4490f40 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"लेबल मधून काढले"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"लेबलमध्ये जोडले"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"लेबल बदल जतन करणे शक्य झाले नाही."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ते लेबल आधीपासून अस्तित्वात आहे"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">फोन नंबरसह <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
<item quantity="other">फोन नंबरसह <xliff:g id="COUNT">%d</xliff:g> संपर्क</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"नवीन संपर्क तयार करा"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"खाते जोडा"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"आयात करा"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"नवीन लेबल तयार करा"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"नवीन तयार करा…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" लेबल हटवायचे? (संपर्क आपणहून हटविले जाणार नाहीत.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"दुसर्यासह दुवा जोडण्याआधी संपर्क नाव टाइप करा."</string>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index c9a7f7d..6816cd9 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Dialih keluar daripada label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Ditambahkan pada label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Tidak dapat menyimpan perubahan label."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Label itu sudah wujud"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kenalan dengan nombor telefon</item>
<item quantity="one">1 kenalan dengan nombor telefon</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Buat kenalan baharu"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Tambahkan akaun"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Import"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Buat label baharu"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Buat baharu…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Padamkan label \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kenalan itu sendiri tidak akan dipadamkan.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Taipkan nama kenalan sebelum memautkan dengan yang lain."</string>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index b50d7f0..5f5dd06 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"အညွှန်းမှ ဖယ်ရှားပြီးပါပြီ"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"အညွှန်းသို့ ထည့်ထားပါသည်"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"အညွှန်းအပြောင်းအလဲများကို သိမ်း၍မရပါ။"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ထိုအညွှန်းမှာ ရှိပြီးသားဖြစ်ပါသည်"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">ဖုန်းနံပါတ်များပါသောအဆက်အသွယ်<xliff:g id="COUNT">%d</xliff:g>ခု</item>
<item quantity="one">ဖုန်းနံပါတ်ပါသောအဆက်အသွယ်1ခု</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"အဆက်အသွယ်သစ်တစ်ခု ပြုလုပ်ပါ"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"အကောင့်ထည့်ရန်"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"တင်သွင်းရန်"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"အညွှန်းသစ်ဖန်တီးပါ"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"အသစ်ဖန်တီးပါ…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" အညွှန်းကို ဖျက်ပစ်မလား။ (အဆက်အသွယ်များအနေဖြင့် ပျက်သွားမည်မဟုတ်ပါ။)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"အခြားတစ်ခုနှင့် ကွင်းဆက်မချိတ်မီ အဆက်အသွယ်အမည်ကိုရိုက်ပါ။"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0b5d6f6..6123a6a 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Fjernet fra etiketten"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Lagt til i etiketten"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Kunne ikke lagre etikettendringene."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Denne etiketten finnes allerede"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnumre</item>
<item quantity="one">1 kontakt med telefonnummer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Opprett en ny kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Legg til konto"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importér"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Opprett en ny etikett"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Opprett ny…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Vil du slette etiketten «<xliff:g id="GROUP_LABEL">%1$s</xliff:g>»? (Selve kontaktene blir ikke slettet.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Skriv inn navnet på kontakten før du knytter vedkommende sammen med en annen."</string>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 2222439..f913922 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"लेबलबाट हटाइयो"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"लेबलमा थपियो"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"लेबलमा गरिएका परिवर्तनहरूलाई सुरक्षित गर्न सकिएन।"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"उक्त लेबल पहिले नै अवस्थित छ"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g>सम्पर्कहरू फोन नम्बर सहित</item>
<item quantity="one">फोन नम्बर सहित 1 सम्पर्क</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"एउटा नयाँ सम्पर्क बनाउनुहोस्"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"खाता थप्नुहोस्"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"आयात गर्नुहोस्"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"नयाँ लेबल सिर्जना गर्नुहोस्"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"नयाँ लेबल सिर्जना गर्नुहोस्..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" लेबललाई हटाउने हो? (सम्पर्कहरू मेटिने छैनन्।)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"अर्कोसँग लिंक हुनुअघि सम्पर्क नाम टाइप गर्नुहोस्।"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 1a35f88..af601d5 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Verwijderd uit label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Toegevoegd aan label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Kan labelwijzigingen niet opslaan."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Dat label bestaat al"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contacten met telefoonnummers</item>
<item quantity="one">1 contact met telefoonnummer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Een nieuw contact maken"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Account toevoegen"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importeren"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Nieuw label maken"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Nieuwe maken…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Het label <xliff:g id="GROUP_LABEL">%1$s</xliff:g> verwijderen? (Contacten zelf worden niet verwijderd.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Geef een contactnaam op voordat je dit contact linkt met een ander contact."</string>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
index ca5fd10..67fd00a 100644
--- a/res/values-pa-rIN/strings.xml
+++ b/res/values-pa-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ਲੇਬਲ ਤੋਂ ਹਟਾਏ ਗਏ"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ਲੇਬਲ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ਲੇਬਲ ਬਦਲਾਆਂ ਨੂੰ ਰੱਖਿਅਤ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ਇਹ ਲੇਬਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> ਫੋਨ ਨੰਬਰਾਂ ਵਾਲੇ ਸੰਪਰਕ</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> ਫੋਨ ਨੰਬਰਾਂ ਵਾਲੇ ਸੰਪਰਕ</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ਇੱਕ ਨਵਾਂ ਸੰਪਰਕ ਬਣਾਓ"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ਆਯਾਤ ਕਰੋ"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"ਨਵਾਂ ਲੇਬਲ ਬਣਾਓ"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"ਨਵਾਂ ਬਣਾਓ…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"ਕੀ ਲੇਬਲ \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ਮਿਟਾਉਣਾ ਹੈ? (\'ਸੰਪਰਕ ਆਪਣੇ ਆਪ ਨਹੀਂ ਮਿਟਾਏ ਜਾਣਗੇ।)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"ਹੋਰ ਨਾਲ ਲਿੰਕ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੰਪਰਕ ਨਾਮ ਟਾਈਪ ਕਰੋ।"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 92949a8..17fd948 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Usunięty z etykiety"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Dodano do etykiety"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nie udało się zapisać zmian w etykiecie."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ta etykieta już istnieje"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty z numerami telefonu</item>
<item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktów z numerami telefonu</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Utwórz nowy kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Dodaj konto"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importuj"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Utwórz nową etykietę"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Utwórz nową…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Usunąć etykietę „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? Kontakty nie zostaną usunięte."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Zanim połączysz ten kontakt z innym, wpisz imię i nazwisko."</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 641745e..ac9b778 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removido do marcador"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Adicionado ao marcador"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Não foi possível salvar as alterações do marcador."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Este marcador já existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Criar um novo contato"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Adicionar conta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Criar novo marcador"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Criar novo..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Excluir o marcador \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Os contatos não serão excluídos."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Digite o nome de contato antes de vinculá-lo a outro."</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7b5b495..b288675 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removido da etiqueta"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Adicionado(s) à etiqueta"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Não foi possível guardar as alterações da etiqueta."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Essa etiqueta já existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos com números de telefone</item>
<item quantity="one">1 contacto com número de telefone</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Criar novo contacto"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Adicionar conta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Criar nova etiqueta"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Criar nova…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Pretende eliminar a etiqueta \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Os contactos não serão eliminados.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Introduza o nome do contacto antes de ligar a outro contacto."</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 641745e..ac9b778 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Removido do marcador"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Adicionado ao marcador"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Não foi possível salvar as alterações do marcador."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Este marcador já existe"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contatos com números de telefone</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Criar um novo contato"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Adicionar conta"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Criar novo marcador"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Criar novo..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Excluir o marcador \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Os contatos não serão excluídos."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Digite o nome de contato antes de vinculá-lo a outro."</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 7b17040..bde35bf 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -138,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Eliminate din etichetă"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Adăugat(e) în etichetă"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Modificările etichetei nu s-au salvat."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Eticheta există deja"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> persoane de contact cu numere de telefon</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> de persoane de contact cu numere de telefon</item>
@@ -231,7 +232,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Creați o intrare nouă în Agendă"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Adăugați un cont"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importați"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Creați o etichetă nouă"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Creați o etichetă nouă…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Ștergeți eticheta „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Persoanele din agendă nu vor fi șterse.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Introduceți numele persoanei de contact înainte de a o asocia cu altă persoană."</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1d54270..0e5d03b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Контакты удалены из группы"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Добавлено"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Не удалось сохранить изменения"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Такая группа уже существует"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт с номером телефона</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакта с номером телефона</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Создать контакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Добавить аккаунт"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Импортировать"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Создание ярлыка"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Создать…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Удалить ярлык \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Сами контакты не будут удалены."</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Укажите имя"</string>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 0bdfcfa..dcd946d 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"ලේබලයෙන් ඉවත් කෙරිණි"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"ලේබලයට එක් කෙරිණි"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ලේබල වෙනස් කිරීම් සුරැකීමට නොහැකි විය."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"එම ලේබලය දැනටමත් පවතී"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one">දුරකථන අංක සමඟ සම්බන්ධතාවන් <xliff:g id="COUNT">%d</xliff:g></item>
<item quantity="other">දුරකථන අංක සමඟ සම්බන්ධතාවන් <xliff:g id="COUNT">%d</xliff:g></item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"නව සම්බන්ධතාවයක් නිර්මාණය කරන්න"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ගිණුම එක් කරන්න"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"ආයාත කරන්න"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"නව ලේබලයක් තනන්න"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"අලුත් එකක් තනන්න..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ලේබලය මකන්නද? (සම්බන්ධතා ඒවාම නොමැකෙනු ඇත.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"වෙනත් එකක් සමඟ එක් කිරීමට පෙර සම්බන්ධතා නම ටයිප් කරන්න."</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6e0ff34..fc21181 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Odstránené zo štítka"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Pridané do štítka"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Zmeny štítka nebolo možné uložiť"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Daný štítok už existuje"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> kontakty s telefónnym číslom</item>
<item quantity="many"><xliff:g id="COUNT">%d</xliff:g> kontaktu s telefónnym číslom</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Vytvoriť nový kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Pridať účet"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importovať"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Vytvorenie nového štítka"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Vytvoriť nový…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Odstrániť štítok <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Samotné kontakty nebudú odstránené.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Pred prepojením s iným kontaktom zadajte meno kontaktu."</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index fd31f28..939f149 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Odstranjeno iz oznake"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Dodano v oznako"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Sprememb oznake ni bilo mogoče shraniti."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ta oznake že obstaja"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> stik s telefonsko številko</item>
<item quantity="two"><xliff:g id="COUNT">%d</xliff:g> stika s telefonsko številko</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Ustvarjanje novega stika"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Dodaj račun"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Uvozi"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Ustvarjanje nove oznake"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Ustvari novo ..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Želite izbrisati oznako »<xliff:g id="GROUP_LABEL">%1$s</xliff:g>«? (Stiki ne bodo izbrisani.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Vnesite ime stika pred povezovanjem z drugim."</string>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
index 9bab93b..7813147 100644
--- a/res/values-sq-rAL/strings.xml
+++ b/res/values-sq-rAL/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Hequr nga etiketa"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"U shtua në emërtim"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Nuk mund të ruhen ndryshimet e etiketës."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ky emërtim ekziston tashmë"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakte me numra telefoni</item>
<item quantity="one">1 kontakt me numër telefoni</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Krijo një kontakt të ri"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Shto llogari"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importo"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Krijo etiketë të re"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Krijo të re..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Të fshihet grupi \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Kontaktet nuk do të fshihen.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Shkruaj emrin e kontaktit para se ta lidhësh me një tjetër."</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 5354b72..57e1940 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -138,6 +138,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Уклонили смо из ознаке"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Додато је у ознаку"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Чување промена ознаке није успело."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Та ознака већ постоји"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт са бројем телефона</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакта са бројевима телефона</item>
@@ -231,7 +232,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Направи нови контакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Додајте налог"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Увeзи"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Направите нову ознаку"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Направи нову…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Желите да избришете ознаку „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Контакти неће бити избрисани.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Унесите име контакта пре него што га обједините са другим контактом."</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 2f9ca2a..f7c72e1 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Borttagen från etikett"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Tillagt till etikett"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Det gick inte att spara etikettändringarna."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Den etiketten finns redan"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> kontakter med telefonnummer</item>
<item quantity="one">1 kontakt med telefonnummer</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Skapa en ny kontakt"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Lägg till ett konto"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Importera"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Skapa ny etikett"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Skapa ny ..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Ta bort etiketten <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Själva kontakterna tas inte bort.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Skriv kontaktens namn innan du länkar den till en annan."</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index bbfcf70..9d5b807 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Imeondolewa kwenye lebo"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Imeongezwa kwenye lebo"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Imeshindwa kuhifadhi mabadiliko ya lebo."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Lebo hiyo tayari ipo"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> unaowasiliana nao wenye nambari za simu</item>
<item quantity="one">1 unayewasiliana naye mwenye nambari ya simu</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Fungua akaunti mpya"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Ongeza akaunti"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Leta"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Unda lebo mpya"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Unda mpya…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Ungependa kufuta lebo iitwayo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Anwani zenyewe hazitafutwa.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Andika jina ya anwani kabla ya kuiunganisha na nyingine."</string>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index 583b37a..30251b6 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"லேபிளிலிருந்து அகற்றப்பட்டன"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"லேபிளில் சேர்க்கப்பட்டது"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"லேபிள் மாற்றங்களைச் சேமிக்க முடியவில்லை."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"லேபிள் ஏற்கனவே உள்ளது"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">மொபைல் எண்களுடன் <xliff:g id="COUNT">%d</xliff:g> தொடர்புகள் உள்ளன</item>
<item quantity="one">மொபைல் எண்ணுடன் 1 தொடர்பு உள்ளது</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"புதிய தொடர்பை உருவாக்கு"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"கணக்கைச் சேர்"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"இறக்கு"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"புதிய லேபிளை உருவாக்கு"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"புதியதை உருவாக்கு…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" லேபிளை நீக்கவா? (அதன் தொடர்புகள் நீக்கப்படாது.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"வேறொன்றுடன் இணைப்பதற்கு முன் தொடர்பின் பெயரை உள்ளிடவும்."</string>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index b8741da..669ad2e 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"లేబుల్ నుండి తీసివేయబడ్డాయి"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"లేబుల్కు జోడించబడింది/జోడించబడ్డాయి"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"లేబుల్ మార్పులను సేవ్ చేయలేకపోయింది."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ఈ లేబుల్ ఇప్పటికే ఉంది"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">ఫోన్ నంబర్లు ఉన్న <xliff:g id="COUNT">%d</xliff:g> పరిచయాలు</item>
<item quantity="one">ఫోన్ నంబర్ ఉన్న 1 పరిచయం</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"కొత్త పరిచయాన్ని సృష్టించు"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"ఖాతాను జోడించు"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"దిగుమతి చేయి"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"కొత్త లేబుల్ను సృష్టించు"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"కొత్తది సృష్టించు…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" లేబుల్ని తొలగించాలా? (పరిచయాలు వాటంతట అవే తొలగించబడవు.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"మరొకదానితో లింక్ చేయడానికి ముందు పరిచయం పేరు టైప్ చేయండి."</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 3db43e2..60cb8c6 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"นำออกจากป้ายกำกับแล้ว"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"เพิ่มรายชื่อติดต่อไปยังป้ายกำกับแล้ว"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"ไม่สามารถบันทึกการเปลี่ยนแปลงป้ายกำกับได้"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"ป้ายกำกับนี้มีอยู่แล้ว"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> รายชื่อติดต่อมีหมายเลขโทรศัพท์</item>
<item quantity="one">1 รายชื่อติดต่อมีหมายเลขโทรศัพท์</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"สร้างรายชื่อติดต่อใหม่"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"เพิ่มบัญชี"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"นำเข้า"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"สร้างป้ายกำกับใหม่"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"สร้างใหม่…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"ลบป้ายกำกับ \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ไหม (รายชื่อติดต่อจะไม่ถูกลบ)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"พิมพ์ชื่อของผู้ติดต่อก่อนลิงก์กับรายชื่อติดต่ออื่น"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 4ad7eb3..7da0af5 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Inalis sa label"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Idinagdag sa label"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Hindi ma-save ang mga pagbabago sa label."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Mayroon nang ganyang label"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> contact na may mga numero ng telepono</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> na contact na may mga numero ng telepono</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Lumikha ng bagong contact"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Magdagdag ng account"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"I-import"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Gumawa ng bagong label"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Gumawa ng bagong…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"I-delete ang label na \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Ang mga contact mismo ay hindi ide-delete.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"I-type ang pangalan ng contact bago i-link sa iba."</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index b414f70..0d8db46 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Etiketten kaldırıldı"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Etikete eklendi"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Etiket değişiklikleri kaydedilemedi."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Bu etiket zaten var"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">Telefon numarası olan <xliff:g id="COUNT">%d</xliff:g> kişi</item>
<item quantity="one">Telefon numarası olan 1 kişi</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Yeni kişi oluştur"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Hesap ekle"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"İçe aktar"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Yeni etiket oluşturun"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Yeni oluştur…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" etiketi silinsin mi? (Kişiler silinmez.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Başka bir kişiye bağlamadan önce kişi adını yazın."</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 856e335..2a844eb 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -141,6 +141,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Вилучено з мітки"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Додано мітку"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Не вдалося зберегти зміни до мітки."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Ця назва вже існує"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> контакт із номерами телефону</item>
<item quantity="few"><xliff:g id="COUNT">%d</xliff:g> контакти з номерами телефону</item>
@@ -238,7 +239,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Створити новий контакт"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Додати обліковий запис"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Імпортувати"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Створити мітку"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Створити…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Видалити мітку \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Самі контакти видалено не буде.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Введіть ім’я контакта, перш ніж об’єднати його."</string>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index f4411a3..ac8a7b8 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"لیبل سے ہٹا دیے گئے"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"لیبل میں شامل ہو گیا"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"لیبل کی تبدیلیاں محفوظ نہیں ہو سکیں۔"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"یہ لیبل پہلے سے موجود ہے"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">فون نمبرز کے ساتھ <xliff:g id="COUNT">%d</xliff:g> رابطے</item>
<item quantity="one">فون نمبر کے ساتھ 1 رابطہ</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"ایک نیا رابطہ بنائیں"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"اکاؤنٹ شامل کریں"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"درآمد کریں"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"نیا لیبل بنائیں"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"نیا بنائیں…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" لیبل حذف کریں؟ (رابطے حذف نہیں ہوں گے۔)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"کسی دوسرے کے ساتھ لنک کرنے سے پہلے رابطہ کا نام ٹائپ کریں۔"</string>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index c23ad88..20754f6 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Yorliqdan olib tashlandi"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Yorliqqa qo‘shildi"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Yorliqdagi o‘zgarishlarni saqlab bo‘lmadi."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Bunday yorliq allaqachon mavjud"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other">Telefon raqami bor <xliff:g id="COUNT">%d</xliff:g> ta kontakt</item>
<item quantity="one">Telefon raqami bor 1 ta kontakt</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Yangi kontakt yaratish"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Hisob qo‘shish"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Import qilish"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Yangi yorliq yaratish"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Yangi yorliq yaratish…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"“<xliff:g id="GROUP_LABEL">%1$s</xliff:g>” yorlig‘i o‘chirilsinmi? (Kontaktlar o‘chirilmaydi.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Birlashtirmoqchi bo‘lgan kontaktning ismini kiriting."</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 0ebe839..d3cbd16 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Đã bị xóa khỏi nhãn"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Đã thêm vào nhãn"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Không thể lưu thay đổi đối với nhãn."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Nhãn đó đã tồn tại"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> liên hệ có số điện thoại</item>
<item quantity="one">1 liên hệ có số điện thoại</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Tạo liên hệ mới"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Thêm tài khoản"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Nhập"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Tạo nhãn mới"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Tạo mới…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Bạn muốn xóa nhãn \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Danh bạ sẽ không bị xóa.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Nhập tên liên hệ trước khi liên kết với liên hệ khác."</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 9b7e396..8826c6e 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"已从标签中移除"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"已添加到标签"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"无法保存对标签的修改。"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"该标签已存在"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 个有电话号码的联系人</item>
<item quantity="one">1 个有电话号码的联系人</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"创建新联系人"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"添加帐号"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"导入"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"创建新标签"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"新建…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"要删除“<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”标签吗?(系统不会删除联系人。)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"请先输入联系人姓名,然后再将其与其他联系人关联。"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b95ad5d..6aef550 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"已從標籤中移除"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"已新增至標籤"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"無法儲存標籤變更。"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"該標籤已存在"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 位有電話號碼的聯絡人</item>
<item quantity="one">1 位有電話號碼的聯絡人</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"建立新聯絡人"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"新增帳戶"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"匯入"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"建立新標籤"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"建立新…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"要刪除「<xliff:g id="GROUP_LABEL">%1$s</xliff:g>」標籤嗎?(這並不會刪除聯絡人本身。)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"請先輸入聯絡人姓名,然後才連結。"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fa17add..47bba64 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"已從標籤中移除"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"已新增到標籤中"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"無法儲存標籤的變更內容。"</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"該標籤已存在"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> 位有電話號碼的聯絡人</item>
<item quantity="one">1 位有電話號碼的聯絡人</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"建立新聯絡人"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"新增帳戶"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"匯入"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"建立新標籤"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"新建..."</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"要刪除「<xliff:g id="GROUP_LABEL">%1$s</xliff:g>」標籤嗎?(聯絡人本身不會遭到刪除。)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"請先輸入聯絡人姓名,才能與其他聯絡人連結。"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 471b77a..50a7008 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -135,6 +135,7 @@
<string name="groupMembersRemovedToast" msgid="3510563559799376603">"Kususiwe kulebula"</string>
<string name="groupMembersAddedToast" msgid="4824834898718972768">"Kungeziwe kulebuli"</string>
<string name="groupSavedErrorToast" msgid="8121032018490980184">"Ayikwazanga ukulondoloza ushintsho lwelebula."</string>
+ <string name="groupExistsErrorMessage" msgid="5196811283836946189">"Leyo lebuli isivele ikhona"</string>
<plurals name="listTotalPhoneContacts" formatted="false" msgid="3692277679143308755">
<item quantity="one"><xliff:g id="COUNT">%d</xliff:g> oxhumana nabo abanezinombolo zefoni</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> oxhumana nabo abanezinombolo zefoni</item>
@@ -224,7 +225,6 @@
<string name="contacts_unavailable_create_contact" msgid="7014525713871959208">"Dala othintana naye omusha"</string>
<string name="contacts_unavailable_add_account" msgid="4347232421410561500">"Engeza i-akhawunti"</string>
<string name="contacts_unavailable_import_contacts" msgid="3182801738595937144">"Ngenisa"</string>
- <string name="create_group_dialog_title" msgid="5363404287877384473">"Dala ilebula entsha"</string>
<string name="create_group_item_label" msgid="3263064599743742865">"Dala amasha…"</string>
<string name="delete_group_dialog_message" msgid="335713829185261371">"Susa ilebula engu-\"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Oxhumana nabo ngokwabo ngeke baze basuswe.)"</string>
<string name="toast_join_with_empty_contact" msgid="1215465657839085613">"Bhala igama lomuntu oxhumana naye ngaphambili kokujoyina nomunye."</string>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 37ea0ba..0cba8e6 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -81,6 +81,12 @@
<!-- Color of background of all empty states. -->
<color name="empty_state_background">#efefef</color>
+ <!-- Colors of swipeRefreshLayout's spinning circle. -->
+ <color name="swipe_refresh_color1">#0f9d58</color>
+ <color name="swipe_refresh_color2">#dd4b37</color>
+ <color name="swipe_refresh_color3">#4285f4</color>
+ <color name="swipe_refresh_color4">#f4b400</color>
+
<!-- Color of hamburger icon in promo -->
<color name="hamburger_feature_highlight_inner_color">#00ffffff</color>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index d355021..ab102fe 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -295,6 +295,9 @@
<!-- Minimum height for group name EditText -->
<dimen name="group_name_edit_text_min_height">48dp</dimen>
+ <!-- Distance to pull down before causing a refresh. -->
+ <dimen name="pull_to_refresh_distance">40dp</dimen>
+
<!-- Elevation of contact list header -->
<dimen name="contact_list_header_elevation">2dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4fe3edc..f950ad2 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -369,6 +369,9 @@
<!-- Toast displayed when saving a label failed [CHAR LIMIT=70] -->
<string name="groupSavedErrorToast">Couldn\'t save label changes.</string>
+ <!-- Message displayed when creating a group with the same name as an existing group -->
+ <string name="groupExistsErrorMessage">That label already exists</string>
+
<!-- Displayed at the top of the contacts showing the total number of contacts visible when "Only contacts with phones" is selected -->
<plurals name="listTotalPhoneContacts">
<item quantity="one">1 contact with phone number</item>
@@ -632,9 +635,6 @@
Initiates a contact import dialog [CHAR LIMIT=128] -->
<string name="contacts_unavailable_import_contacts">Import</string>
- <!-- Title of the dialog that allows creation of a contact label [CHAR LIMIT=50] -->
- <string name="create_group_dialog_title">Create new label</string>
-
<!-- An item in the popup list of labels that triggers creation of a contact label [CHAR LIMIT=128] -->
<string name="create_group_item_label">Create new…</string>
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index c8d8eb3..bea1411 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -88,8 +88,7 @@
AccountFiltersListener,
GroupsListener,
NavigationView.OnNavigationItemSelectedListener,
- SelectAccountDialogFragment.Listener,
- GroupNameEditDialogFragment.Listener {
+ SelectAccountDialogFragment.Listener {
protected static String TAG = "ContactsDrawerActivity";
@@ -650,26 +649,11 @@
@Override
public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
mNewGroupAccount = account;
- GroupNameEditDialogFragment.showInsertDialog(
- getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG);
+ GroupNameEditDialogFragment.newInstanceForCreation(mNewGroupAccount, ACTION_CREATE_GROUP)
+ .show(getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG);
}
@Override
public void onAccountSelectorCancelled() {
}
-
- @Override
- public void onGroupNameEdit(String groupName, boolean isInsert) {
- if (mNewGroupAccount == null) {
- Toast.makeText(this, R.string.groupCreateFailedToast, Toast.LENGTH_SHORT).show();
- return;
- }
- startService(ContactSaveService.createNewGroupIntent(this,
- mNewGroupAccount, groupName, /* rawContactsToAdd */ null, getClass(),
- ACTION_CREATE_GROUP));
- }
-
- @Override
- public void onGroupNameEditCancelled() {
- }
}
diff --git a/src/com/android/contacts/activities/ActionBarAdapter.java b/src/com/android/contacts/activities/ActionBarAdapter.java
index e78c355..b896406 100644
--- a/src/com/android/contacts/activities/ActionBarAdapter.java
+++ b/src/com/android/contacts/activities/ActionBarAdapter.java
@@ -604,7 +604,7 @@
}
if (mSelectionMode) {
- final int cabStatusBarColor =ContextCompat.getColor(
+ final int cabStatusBarColor = ContextCompat.getColor(
mActivity, R.color.contextual_selection_bar_status_bar_color);
runStatusBarAnimation(/* colorTo */ cabStatusBarColor);
} else {
diff --git a/src/com/android/contacts/activities/GroupMembersActivity.java b/src/com/android/contacts/activities/GroupMembersActivity.java
index 093c8b6..68f2f44 100644
--- a/src/com/android/contacts/activities/GroupMembersActivity.java
+++ b/src/com/android/contacts/activities/GroupMembersActivity.java
@@ -36,6 +36,7 @@
import com.android.contacts.common.logging.ListEvent;
import com.android.contacts.common.logging.Logger;
import com.android.contacts.common.logging.ScreenEvent.ScreenType;
+import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.group.GroupMembersFragment;
import com.android.contacts.group.GroupMetadata;
@@ -53,8 +54,7 @@
public class GroupMembersActivity extends ContactsDrawerActivity implements
ActionBarAdapter.Listener,
MultiSelectContactsListFragment.OnCheckBoxListActionListener,
- GroupMembersFragment.GroupMembersListener,
- GroupNameEditDialogFragment.Listener {
+ GroupMembersFragment.GroupMembersListener {
private static final String TAG = "GroupMembers";
@@ -382,8 +382,11 @@
return true;
}
case R.id.menu_rename_group: {
- GroupNameEditDialogFragment.showUpdateDialog(
- getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG, mGroupMetadata.groupName);
+ GroupNameEditDialogFragment.newInstanceForUpdate(
+ new AccountWithDataSet(mGroupMetadata.accountName,
+ mGroupMetadata.accountType, mGroupMetadata.dataSet),
+ ACTION_UPDATE_GROUP, mGroupMetadata.groupId, mGroupMetadata.groupName)
+ .show(getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG);
return true;
}
case R.id.menu_delete_group: {
@@ -567,23 +570,6 @@
mActionBarAdapter.setSelectionMode(false);
}
- // GroupNameEditDialogFragment.Listener callbacks
-
- @Override
- public void onGroupNameEdit(String groupName, boolean isInsert) {
- if (isInsert) {
- super.onGroupNameEdit(groupName, isInsert);
- return;
- }
- startService(ContactSaveService.createGroupRenameIntent(this,
- mGroupMetadata.groupId, groupName, GroupMembersActivity.class,
- ACTION_UPDATE_GROUP));
- }
-
- @Override
- public void onGroupNameEditCancelled() {
- }
-
// GroupMembersFragment callbacks
@Override
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 8a0ae1b..776a173 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -21,13 +21,16 @@
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
+import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Intent;
+import android.content.SyncStatusObserver;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.graphics.Rect;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
import android.os.Parcelable;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
@@ -37,6 +40,7 @@
import android.support.v4.view.GravityCompat;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyCharacterMap;
@@ -55,6 +59,7 @@
import com.android.contacts.ContactsDrawerActivity;
import com.android.contacts.R;
import com.android.contacts.activities.ActionBarAdapter.TabState;
+import com.android.contacts.common.Experiments;
import com.android.contacts.common.activity.RequestPermissionsActivity;
import com.android.contacts.common.compat.CompatUtils;
import com.android.contacts.common.interactions.ImportExportDialogFragment;
@@ -74,6 +79,7 @@
import com.android.contacts.common.util.Constants;
import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.common.widget.FloatingActionButtonController;
+import com.android.contacts.commonbind.experiments.Flags;
import com.android.contacts.editor.EditorIntents;
import com.android.contacts.interactions.ContactDeletionInteraction;
import com.android.contacts.interactions.ContactMultiDeletionInteraction;
@@ -89,6 +95,7 @@
import com.android.contacts.quickcontact.QuickContactActivity;
import com.android.contacts.util.DialogManager;
import com.android.contacts.util.SharedPreferenceUtil;
+import com.android.contacts.util.SyncUtil;
import com.google.android.libraries.material.featurehighlight.FeatureHighlight;
import java.util.List;
@@ -168,6 +175,54 @@
private final int mInstanceId;
private static final AtomicInteger sNextInstanceId = new AtomicInteger();
+ private Object mStatusChangeListenerHandle;
+
+ private final Handler mHandler = new Handler();
+
+ private SyncStatusObserver mSyncStatusObserver = new SyncStatusObserver() {
+ public void onStatusChanged(int which) {
+ mHandler.post(new Runnable() {
+ public void run() {
+ onSyncStateUpdated();
+ }
+ });
+ }
+ };
+
+ // Update sync status for accounts in current ContactListFilter
+ private void onSyncStateUpdated() {
+ if (mActionBarAdapter.isSearchMode() || mActionBarAdapter.isSelectionMode()) {
+ return;
+ }
+
+ final ContactListFilter filter = mContactListFilterController.getFilter();
+ if (filter != null) {
+ final SwipeRefreshLayout swipeRefreshLayout = mAllFragment.getSwipeRefreshLayout();
+ if (swipeRefreshLayout == null) {
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "Can not load swipeRefreshLayout, swipeRefreshLayout is null");
+ }
+ return;
+ }
+
+ final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(this)
+ .getAccounts(/* contactsWritableOnly */ true);
+ final List<Account> syncableAccounts = filter.getSyncableAccounts(accounts);
+ // If one of the accounts is active or pending, use spinning circle to indicate one of
+ // the syncs is in progress.
+ if (syncableAccounts != null && syncableAccounts.size() > 0) {
+ for (Account account: syncableAccounts) {
+ if (SyncUtil.isSyncStatusPendingOrActive(account)
+ || SyncUtil.isUnsyncableGoogleAccount(account)) {
+ swipeRefreshLayout.setRefreshing(true);
+ return;
+ }
+ }
+ }
+ swipeRefreshLayout.setRefreshing(false);
+ }
+ }
+
public PeopleActivity() {
mInstanceId = sNextInstanceId.getAndIncrement();
mIntentResolver = new ContactsIntentResolver(this);
@@ -415,6 +470,11 @@
mOptionsMenuContactsAvailable = false;
mProviderStatusWatcher.stop();
super.onPause();
+
+ if (Flags.getInstance(this).getBoolean(Experiments.PULL_TO_REFRESH)) {
+ ContentResolver.removeStatusChangeListener(mStatusChangeListenerHandle);
+ onSyncStateUpdated();
+ }
}
@Override
@@ -434,6 +494,15 @@
// Current tab may have changed since the last onSaveInstanceState(). Make sure
// the actual contents match the tab.
updateFragmentsVisibility();
+
+ if (Flags.getInstance(this).getBoolean(Experiments.PULL_TO_REFRESH)) {
+ mStatusChangeListenerHandle = ContentResolver.addStatusChangeListener(
+ ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE
+ | ContentResolver.SYNC_OBSERVER_TYPE_PENDING
+ | ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS,
+ mSyncStatusObserver);
+ onSyncStateUpdated();
+ }
maybeShowHamburgerFeatureHighlight();
}
@@ -591,6 +660,10 @@
updateFragmentsVisibility();
invalidateOptionsMenu();
showFabWithAnimation(shouldShowFabForAccount());
+ // Determine whether the account has pullToRefresh feature
+ if (Flags.getInstance(this).getBoolean(Experiments.PULL_TO_REFRESH)) {
+ setSwipeRefreshLayoutEnabledOrNot(mContactListFilterController.getFilter());
+ }
break;
case ActionBarAdapter.Listener.Action.CHANGE_SEARCH_QUERY:
final String queryString = mActionBarAdapter.getQueryString();
@@ -1469,6 +1542,33 @@
.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
}
}
+
+ // Determine whether the account has pullToRefresh feature
+ if (Flags.getInstance(this).getBoolean(Experiments.PULL_TO_REFRESH)) {
+ setSwipeRefreshLayoutEnabledOrNot(filter);
+ }
+ }
+
+ private void setSwipeRefreshLayoutEnabledOrNot(ContactListFilter filter) {
+ final SwipeRefreshLayout swipeRefreshLayout = mAllFragment.getSwipeRefreshLayout();
+ if (swipeRefreshLayout == null) {
+ if (Log.isLoggable(TAG, Log.DEBUG)) {
+ Log.d(TAG, "Can not load swipeRefreshLayout, swipeRefreshLayout is null");
+ }
+ return;
+ }
+
+ swipeRefreshLayout.setRefreshing(false);
+ swipeRefreshLayout.setEnabled(false);
+
+ if (filter != null && !mActionBarAdapter.isSearchMode()
+ && !mActionBarAdapter.isSelectionMode()) {
+ final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(this)
+ .getAccounts(/* contactsWritableOnly */ true);
+ if (filter.isSyncable(accounts)) {
+ swipeRefreshLayout.setEnabled(true);
+ }
+ }
}
private String getActionBarTitleForAccount(ContactListFilter filter) {
diff --git a/src/com/android/contacts/common/Experiments.java b/src/com/android/contacts/common/Experiments.java
index c811e27..8a03fdc 100644
--- a/src/com/android/contacts/common/Experiments.java
+++ b/src/com/android/contacts/common/Experiments.java
@@ -20,6 +20,16 @@
*/
public final class Experiments {
+ /**
+ * Flag to control pullToRefresh feature.
+ */
+ public static final String PULL_TO_REFRESH = "pull_to_refresh";
+
+ /**
+ * Search study boolean indicating whether to inject yenta search results before CP2 results.
+ */
+ public static final String SEARCH_YENTA = "Search__yenta";
+
private Experiments() {
}
}
diff --git a/src/com/android/contacts/common/list/ContactEntryListFragment.java b/src/com/android/contacts/common/list/ContactEntryListFragment.java
index 0c72d68..387b303 100644
--- a/src/com/android/contacts/common/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/common/list/ContactEntryListFragment.java
@@ -119,7 +119,7 @@
private boolean mEnabled = true;
private T mAdapter;
- private View mView;
+ protected View mView;
private ListView mListView;
/**
diff --git a/src/com/android/contacts/common/list/ContactListFilter.java b/src/com/android/contacts/common/list/ContactListFilter.java
index 6d60a82..3770cc8 100644
--- a/src/com/android/contacts/common/list/ContactListFilter.java
+++ b/src/com/android/contacts/common/list/ContactListFilter.java
@@ -16,6 +16,7 @@
package com.android.contacts.common.list;
+import android.accounts.Account;
import android.content.SharedPreferences;
import android.graphics.drawable.Drawable;
import android.net.Uri;
@@ -25,6 +26,11 @@
import android.text.TextUtils;
import com.android.contacts.common.logging.ListEvent;
+import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.common.model.account.GoogleAccountType;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* Contact list filter parameters.
@@ -364,4 +370,59 @@
return "(unknown)";
}
}
+
+ /**
+ * Returns true if this ContactListFilter contains at least one Google account.
+ * (see {@link #isGoogleAccountType)
+ */
+ public boolean isSyncable(List<AccountWithDataSet> accounts) {
+ // TODO(samchen): Check FILTER_TYPE_CUSTOM
+ if (isGoogleAccountType() && filterType == ContactListFilter.FILTER_TYPE_ACCOUNT) {
+ return true;
+ }
+ if (filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS
+ || filterType == ContactListFilter.FILTER_TYPE_DEFAULT) {
+ if (accounts != null && accounts.size() > 0) {
+ // If we're showing all contacts and there is any Google account on the device then
+ // we're syncable.
+ for (AccountWithDataSet account : accounts) {
+ if (GoogleAccountType.ACCOUNT_TYPE.equals(account.type)
+ && account.dataSet == null) {
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Returns the Google accounts (see {@link #isGoogleAccountType) for this ContactListFilter.
+ */
+ public List<Account> getSyncableAccounts(List<AccountWithDataSet> accounts) {
+ final List<Account> syncableAccounts = new ArrayList<>();
+ // TODO(samchen): Check FILTER_TYPE_CUSTOM
+ if (isGoogleAccountType() && filterType == ContactListFilter.FILTER_TYPE_ACCOUNT) {
+ syncableAccounts.add(new Account(accountName, accountType));
+ } else if (filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS
+ || filterType == ContactListFilter.FILTER_TYPE_DEFAULT) {
+ if (accounts != null && accounts.size() > 0) {
+ for (AccountWithDataSet account : accounts) {
+ if (GoogleAccountType.ACCOUNT_TYPE.equals(account.type)
+ && account.dataSet == null) {
+ syncableAccounts.add(new Account(account.name, account.type));
+ }
+ }
+ }
+ }
+ return syncableAccounts;
+ }
+
+ /**
+ * Returns true if this ContactListFilter is Google account type. (i.e. where
+ * accountType = "com.google" and dataSet = null)
+ */
+ public boolean isGoogleAccountType() {
+ return GoogleAccountType.ACCOUNT_TYPE.equals(accountType) && dataSet == null;
+ }
}
diff --git a/src/com/android/contacts/common/list/ContactListItemView.java b/src/com/android/contacts/common/list/ContactListItemView.java
index bb28858..1dc99ef 100644
--- a/src/com/android/contacts/common/list/ContactListItemView.java
+++ b/src/com/android/contacts/common/list/ContactListItemView.java
@@ -674,11 +674,13 @@
photoTop,
rightBound,
photoTop + mDeleteImageButtonSize);
+ rightBound -= mDeleteImageButtonSize;
} else {
mDeleteImageButton.layout(leftBound,
photoTop,
leftBound + mDeleteImageButtonSize,
photoTop + mDeleteImageButtonSize);
+ leftBound += mDeleteImageButtonSize;
}
}
diff --git a/src/com/android/contacts/common/model/AccountTypeManager.java b/src/com/android/contacts/common/model/AccountTypeManager.java
index 3ef3502..0ed99d6 100644
--- a/src/com/android/contacts/common/model/AccountTypeManager.java
+++ b/src/com/android/contacts/common/model/AccountTypeManager.java
@@ -501,7 +501,7 @@
boolean syncable =
ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY) > 0;
- if (syncable) {
+ if (syncable || GoogleAccountType.ACCOUNT_TYPE.equals(account.type)) {
List<AccountType> accountTypes = accountTypesByType.get(account.type);
if (accountTypes != null) {
// Add an account-with-data-set entry for each account type that is
diff --git a/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java b/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
index 0634df4..6093405 100644
--- a/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
@@ -17,6 +17,8 @@
package com.android.contacts.common.vcard;
import android.app.Activity;
+import android.app.Notification;
+import android.app.NotificationManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -27,9 +29,11 @@
import android.nfc.NfcAdapter;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.os.Handler;
import android.os.IBinder;
import android.provider.ContactsContract.RawContacts;
import android.util.Log;
+import android.widget.Toast;
import com.android.contacts.common.R;
import com.android.contacts.common.activity.RequestPermissionsActivity;
@@ -59,6 +63,12 @@
private NdefRecord mRecord;
private AccountWithDataSet mAccount;
+ private Handler mHandler = new Handler();
+
+ /**
+ * Notification id used when error happened before sending an import request to VCardServer.
+ */
+ private static final int FAILURE_NOTIFICATION_ID = 1;
/* package */ class ImportTask extends AsyncTask<VCardService, Void, ImportRequest> {
@Override
@@ -81,6 +91,10 @@
@Override
public void onPostExecute(ImportRequest request) {
+ if (request == null) {
+ // Finish the activity in case of error so it doesn't stay in view.
+ finish();
+ }
unbindService(NfcImportVCardActivity.this);
}
}
@@ -111,6 +125,8 @@
parser.addInterpreter(detector);
parser.parse(is);
} catch (VCardVersionException e2) {
+ Log.e(TAG, "vCard with unsupported version.");
+ showFailureNotification(R.string.fail_reason_not_supported);
return null;
}
} finally {
@@ -120,14 +136,16 @@
}
}
} catch (IOException e) {
- Log.e(TAG, "Failed reading vcard data", e);
+ Log.e(TAG, "Failed reading vCard data", e);
+ showFailureNotification(R.string.fail_reason_io_error);
return null;
} catch (VCardNestedException e) {
Log.w(TAG, "Nested Exception is found (it may be false-positive).");
// Go through without throwing the Exception, as we may be able to detect the
// version before it
} catch (VCardException e) {
- Log.e(TAG, "Error parsing vcard", e);
+ Log.e(TAG, "Error parsing vCard", e);
+ showFailureNotification(R.string.fail_reason_not_supported);
return null;
}
@@ -242,7 +260,8 @@
Log.i(TAG, "Late import failure -- ignoring");
return;
}
- // TODO: report failure
+ showFailureNotification(R.string.vcard_import_request_rejected_message);
+ finish();
}
@Override
@@ -269,4 +288,22 @@
public void onComplete() {
// do nothing
}
+
+ /* package */ void showFailureNotification(int reasonId) {
+ final NotificationManager notificationManager =
+ (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+ final Notification notification =
+ NotificationImportExportListener.constructImportFailureNotification(
+ this,
+ getString(reasonId));
+ notificationManager.notify(NotificationImportExportListener.FAILURE_NOTIFICATION_TAG,
+ FAILURE_NOTIFICATION_ID, notification);
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(NfcImportVCardActivity.this,
+ getString(R.string.vcard_import_failed), Toast.LENGTH_LONG).show();
+ }
+ });
+ }
}
diff --git a/src/com/android/contacts/editor/GroupMembershipView.java b/src/com/android/contacts/editor/GroupMembershipView.java
index d41991c..ba0c2c6 100644
--- a/src/com/android/contacts/editor/GroupMembershipView.java
+++ b/src/com/android/contacts/editor/GroupMembershipView.java
@@ -38,9 +38,9 @@
import com.android.contacts.GroupMetaDataLoader;
import com.android.contacts.R;
+import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.model.dataitem.DataKind;
-import com.android.contacts.interactions.GroupCreationDialogFragment;
-import com.android.contacts.interactions.GroupCreationDialogFragment.OnGroupCreatedListener;
+import com.android.contacts.group.GroupNameEditDialogFragment;
import com.android.contacts.common.model.RawContactDelta;
import com.android.contacts.common.model.ValuesDelta;
import com.android.contacts.common.model.RawContactModifier;
@@ -56,6 +56,8 @@
public class GroupMembershipView extends LinearLayout
implements OnClickListener, OnItemClickListener {
+ public static final String TAG_CREATE_GROUP_FRAGMENT = "createGroupDialog";
+
private static final int CREATE_NEW_GROUP_GROUP_ID = 133;
public static final class GroupSelectionItem {
@@ -449,17 +451,23 @@
UiClosables.closeQuietly(mPopup);
mPopup = null;
- GroupCreationDialogFragment.show(
+ final GroupNameEditDialogFragment dialog =
+ GroupNameEditDialogFragment.newInstanceForCreation(
+ new AccountWithDataSet(mAccountName, mAccountType, mDataSet), null);
+
+ // If the device is rotated after the dialog is shown, the listener will become null,
+ // so that the popup from GroupMembershipView will not be shown.
+ dialog.setListener(new GroupNameEditDialogFragment.Listener() {
+ @Override
+ public void onGroupNameEditStarted(String groupName) {
+ mCreatedNewGroup = true;
+ }
+ @Override
+ public void onGroupNameEditCancelled() { }
+ });
+ dialog.show(
((Activity) getContext()).getFragmentManager(),
- mAccountType,
- mAccountName,
- mDataSet,
- new OnGroupCreatedListener() {
- @Override
- public void onGroupCreated() {
- mCreatedNewGroup = true;
- }
- });
+ TAG_CREATE_GROUP_FRAGMENT);
}
}
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index 61c1061..947f35e 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -37,6 +37,7 @@
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
+import android.widget.CheckedTextView;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -44,10 +45,10 @@
import android.widget.TextView;
import com.android.contacts.R;
-import com.android.contacts.common.model.RawContactDelta;
import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.common.model.ValuesDelta;
+import com.android.contacts.common.model.RawContactDelta;
import com.android.contacts.common.model.RawContactModifier;
+import com.android.contacts.common.model.ValuesDelta;
import com.android.contacts.common.model.account.AccountType.EditType;
import com.android.contacts.common.model.dataitem.DataKind;
import com.android.contacts.util.DialogManager;
@@ -86,6 +87,7 @@
private DialogManager mDialogManager = null;
private EditorListener mListener;
protected int mMinLineItemHeight;
+ private int mSelectedLabelIndex;
/**
* A marker in the spinner adapter of the currently selected custom type.
@@ -292,6 +294,7 @@
*/
public void rebuildLabel() {
mEditTypeAdapter = new EditTypeAdapter(getContext());
+ mEditTypeAdapter.setSelectedIndex(mSelectedLabelIndex);
mLabel.setAdapter(mEditTypeAdapter);
if (mEditTypeAdapter.hasCustomSelection()) {
mLabel.setSelection(mEditTypeAdapter.getPosition(CUSTOM_SELECTION));
@@ -518,6 +521,7 @@
// User picked type, and we're sure it's ok to actually write the entry.
mType = selected;
mEntry.put(mKind.typeColumn, mType.rawValue);
+ mSelectedLabelIndex = position;
rebuildLabel();
requestFocusForFirstEditField();
onLabelRebuilt();
@@ -563,6 +567,7 @@
private boolean mHasCustomSelection;
private int mTextColorHintUnfocused;
private int mTextColorDark;
+ private int mSelectedIndex;
public EditTypeAdapter(Context context) {
super(context, 0);
@@ -609,8 +614,11 @@
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
- return createViewFromResource(
+ final CheckedTextView dropDownView = (CheckedTextView) createViewFromResource(
position, convertView, parent, android.R.layout.simple_spinner_dropdown_item);
+ dropDownView.setBackground(getContext().getDrawable(R.drawable.drawer_item_background));
+ dropDownView.setChecked(position == mSelectedIndex);
+ return dropDownView;
}
private TextView createViewFromResource(int position, View convertView, ViewGroup parent,
@@ -636,5 +644,9 @@
textView.setText(text);
return textView;
}
+
+ public void setSelectedIndex(int selectedIndex) {
+ mSelectedIndex = selectedIndex;
+ }
}
}
diff --git a/src/com/android/contacts/group/GroupNameEditDialogFragment.java b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
index 235a878..b2bfd0b 100644
--- a/src/com/android/contacts/group/GroupNameEditDialogFragment.java
+++ b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
@@ -17,11 +17,18 @@
import android.app.Dialog;
import android.app.DialogFragment;
-import android.app.FragmentManager;
+import android.app.LoaderManager;
import android.content.Context;
+import android.content.CursorLoader;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
+import android.content.Intent;
+import android.content.Loader;
+import android.database.Cursor;
+import android.net.Uri;
import android.os.Bundle;
+import android.provider.ContactsContract;
+import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AlertDialog;
import android.text.Editable;
import android.text.TextUtils;
@@ -33,60 +40,99 @@
import android.widget.EditText;
import android.widget.TextView;
+import com.android.contacts.ContactSaveService;
import com.android.contacts.R;
+import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.google.common.base.Strings;
+
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
/**
* Edits the name of a group.
*/
-public final class GroupNameEditDialogFragment extends DialogFragment {
+public final class GroupNameEditDialogFragment extends DialogFragment implements
+ LoaderManager.LoaderCallbacks<Cursor> {
- private static final String KEY_IS_INSERT = "isInsert";
private static final String KEY_GROUP_NAME = "groupName";
private static final String ARG_IS_INSERT = "isInsert";
private static final String ARG_GROUP_NAME = "groupName";
+ private static final String ARG_ACCOUNT = "account";
+ private static final String ARG_CALLBACK_ACTION = "callbackAction";
+ private static final String ARG_GROUP_ID = "groupId";
+
+ private static final long NO_GROUP_ID = -1;
+
/** Callbacks for hosts of the {@link GroupNameEditDialogFragment}. */
public interface Listener {
- void onGroupNameEdit(String groupName, boolean isInsert);
+ void onGroupNameEditStarted(String name);
void onGroupNameEditCancelled();
+
+ public static final Listener None = new Listener() {
+ @Override
+ public void onGroupNameEditStarted(String name) { }
+
+ @Override
+ public void onGroupNameEditCancelled() { }
+ };
}
private boolean mIsInsert;
private String mGroupName;
+ private long mGroupId;
+ private Listener mListener;
+ private AccountWithDataSet mAccount;
private EditText mGroupNameEditText;
+ private TextInputLayout mGroupNameTextLayout;
+ private Set<String> mExistingGroups = Collections.emptySet();
- public static void showInsertDialog(FragmentManager fragmentManager, String tag) {
- showDialog(fragmentManager, tag, /* isInsert */ true, /* groupName */ null);
+ public static GroupNameEditDialogFragment newInstanceForCreation(
+ AccountWithDataSet account, String callbackAction) {
+ return newInstance(account, callbackAction, NO_GROUP_ID, null);
}
- public static void showUpdateDialog(FragmentManager fragmentManager,
- String tag, String groupName) {
- showDialog(fragmentManager, tag, /* isInsert */ false, groupName);
+ public static GroupNameEditDialogFragment newInstanceForUpdate(
+ AccountWithDataSet account, String callbackAction, long groupId, String groupName) {
+ return newInstance(account, callbackAction, groupId, groupName);
}
- private static void showDialog(FragmentManager fragmentManager,
- String tag, boolean isInsert, String groupName) {
+ private static GroupNameEditDialogFragment newInstance(
+ AccountWithDataSet account, String callbackAction, long groupId, String groupName) {
+ if (account == null || account.name == null || account.type == null) {
+ throw new IllegalArgumentException("Invalid account");
+ }
+ final boolean isInsert = groupId == NO_GROUP_ID;
final Bundle args = new Bundle();
args.putBoolean(ARG_IS_INSERT, isInsert);
+ args.putLong(ARG_GROUP_ID, groupId);
args.putString(ARG_GROUP_NAME, groupName);
+ args.putParcelable(ARG_ACCOUNT, account);
+ args.putString(ARG_CALLBACK_ACTION, callbackAction);
final GroupNameEditDialogFragment dialog = new GroupNameEditDialogFragment();
dialog.setArguments(args);
- dialog.show(fragmentManager, tag);
+ return dialog;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ setStyle(STYLE_NORMAL, R.style.ContactsAlertDialogThemeAppCompat);
+ final Bundle args = getArguments();
if (savedInstanceState == null) {
- final Bundle args = getArguments();
- mIsInsert = args.getBoolean(KEY_IS_INSERT);
mGroupName = args.getString(KEY_GROUP_NAME);
} else {
- mIsInsert = savedInstanceState.getBoolean(ARG_IS_INSERT);
mGroupName = savedInstanceState.getString(ARG_GROUP_NAME);
}
+ mGroupId = args.getLong(ARG_GROUP_ID, NO_GROUP_ID);
+ mIsInsert = args.getBoolean(ARG_IS_INSERT, true);
+ mAccount = getArguments().getParcelable(ARG_ACCOUNT);
+
+ // There is only one loader so the id arg doesn't matter.
+ getLoaderManager().initLoader(0, null, this);
}
@Override
@@ -96,7 +142,7 @@
title.setText(mIsInsert
? R.string.group_name_dialog_insert_title
: R.string.group_name_dialog_update_title);
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
+ final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), getTheme())
.setCustomTitle(title)
.setView(R.layout.group_name_edit_dialog)
.setNegativeButton(android.R.string.cancel, new OnClickListener() {
@@ -107,12 +153,9 @@
dismiss();
}
})
- .setPositiveButton(android.R.string.ok, new OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- getListener().onGroupNameEdit(getGroupName(), mIsInsert);
- }
- });
+ // The Positive button listener is defined below in the OnShowListener to
+ // allow for input validation
+ .setPositiveButton(android.R.string.ok, null);
// Disable the create button when the name is empty
final AlertDialog alertDialog = builder.create();
@@ -122,6 +165,8 @@
@Override
public void onShow(DialogInterface dialog) {
mGroupNameEditText = (EditText) alertDialog.findViewById(android.R.id.text1);
+ mGroupNameTextLayout =
+ (TextInputLayout) alertDialog.findViewById(R.id.text_input_layout);
if (!TextUtils.isEmpty(mGroupName)) {
mGroupNameEditText.setText(mGroupName);
// Guard against already created group names that are longer than the max
@@ -134,6 +179,14 @@
final Button createButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
createButton.setEnabled(!TextUtils.isEmpty(getGroupName()));
+
+ // Override the click listener to prevent dismissal if creating a duplicate group.
+ createButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ maybePersistCurrentGroupName(v);
+ }
+ });
mGroupNameEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -145,6 +198,7 @@
@Override
public void afterTextChanged(Editable s) {
+ mGroupNameTextLayout.setError(null);
createButton.setEnabled(!TextUtils.isEmpty(s));
}
});
@@ -154,6 +208,56 @@
return alertDialog;
}
+ /**
+ * Sets the listener for the rename
+ *
+ * Setting a listener on a fragment is error prone since it will be lost if the fragment
+ * is recreated. This exists because it is used from a view class (GroupMembersView) which
+ * needs to modify it's state when this fragment updates the name.
+ *
+ * @param listener the listener. can be null
+ */
+ public void setListener(Listener listener) {
+ mListener = listener;
+ }
+
+ private boolean hasNameChanged() {
+ final String name = Strings.nullToEmpty(getGroupName());
+ final String originalName = getArguments().getString(ARG_GROUP_NAME);
+ return (mIsInsert && !name.isEmpty()) || !name.equals(originalName);
+ }
+
+ private void maybePersistCurrentGroupName(View button) {
+ if (!hasNameChanged()) {
+ dismiss();
+ return;
+ }
+ final String name = getGroupName();
+ // Note we don't check if the loader finished populating mExistingGroups. It's not the
+ // end of the world if the user ends up with a duplicate group and in practice it should
+ // never really happen (the query should complete much sooner than the user can edit the
+ // label)
+ if (mExistingGroups.contains(name)) {
+ mGroupNameTextLayout.setError(
+ getString(R.string.groupExistsErrorMessage));
+ button.setEnabled(false);
+ return;
+ }
+ final String callbackAction = getArguments().getString(ARG_CALLBACK_ACTION);
+ final Intent serviceIntent;
+ if (mIsInsert) {
+ serviceIntent = ContactSaveService.createNewGroupIntent(getActivity(),
+ new AccountWithDataSet(mAccount.name, mAccount.type, mAccount.dataSet),
+ name, null, getActivity().getClass(), callbackAction);
+ } else {
+ serviceIntent = ContactSaveService.createGroupRenameIntent(getActivity(), mGroupId,
+ name, getActivity().getClass(), callbackAction);
+ }
+ ContactSaveService.startService(getActivity(), serviceIntent);
+ getListener().onGroupNameEditStarted(name);
+ dismiss();
+ }
+
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
@@ -163,10 +267,61 @@
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
- outState.putBoolean(KEY_IS_INSERT, mIsInsert);
outState.putString(KEY_GROUP_NAME, getGroupName());
}
+ @Override
+ public Loader<Cursor> onCreateLoader(int id, Bundle args) {
+ // Only a single loader so id is ignored.
+ return new CursorLoader(getActivity(), GroupNameQuery.URI,
+ GroupNameQuery.PROJECTION, GroupNameQuery.getSelection(mAccount),
+ GroupNameQuery.getSelectionArgs(mAccount), null);
+ }
+
+ @Override
+ public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
+ mExistingGroups = new HashSet<>();
+ while (data.moveToNext()) {
+ mExistingGroups.add(data.getString(GroupNameQuery.TITLE));
+ }
+ }
+
+ @Override
+ public void onLoaderReset(Loader<Cursor> loader) {
+ }
+
+ /**
+ * Defines the structure of the query performed by the CursorLoader created by
+ * GroupNameEditDialogFragment
+ */
+ private static class GroupNameQuery {
+
+ public static final int TITLE = 0;
+ public static final Uri URI = ContactsContract.Groups.CONTENT_URI;
+ public static final String[] PROJECTION = new String[] { ContactsContract.Groups.TITLE };
+
+ public static String getSelection(AccountWithDataSet account) {
+ final StringBuilder builder = new StringBuilder();
+ builder.append(ContactsContract.Groups.ACCOUNT_NAME).append("=? AND ")
+ .append(ContactsContract.Groups.ACCOUNT_TYPE).append("=?");
+ if (account.dataSet != null) {
+ builder.append(" AND ").append(ContactsContract.Groups.DATA_SET).append("=?");
+ }
+ return builder.toString();
+ }
+
+ public static String[] getSelectionArgs(AccountWithDataSet account) {
+ final int len = account.dataSet == null ? 2 : 3;
+ final String[] args = new String[len];
+ args[0] = account.name;
+ args[1] = account.type;
+ if (account.dataSet != null) {
+ args[2] = account.dataSet;
+ }
+ return args;
+ }
+ }
+
private void showInputMethod(View view) {
final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
@@ -184,11 +339,13 @@
}
private Listener getListener() {
- if (!(getActivity() instanceof Listener)) {
- throw new ClassCastException(getActivity() + " must implement " +
- Listener.class.getName());
+ if (mListener != null) {
+ return mListener;
+ } else if (getActivity() instanceof Listener) {
+ return (Listener) getActivity();
+ } else {
+ return Listener.None;
}
- return (Listener) getActivity();
}
private String getGroupName() {
diff --git a/src/com/android/contacts/group/GroupsFragment.java b/src/com/android/contacts/group/GroupsFragment.java
index be1b44a..508c184 100644
--- a/src/com/android/contacts/group/GroupsFragment.java
+++ b/src/com/android/contacts/group/GroupsFragment.java
@@ -18,7 +18,6 @@
import android.app.Fragment;
import android.app.LoaderManager;
-import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
diff --git a/src/com/android/contacts/interactions/GroupCreationDialogFragment.java b/src/com/android/contacts/interactions/GroupCreationDialogFragment.java
deleted file mode 100644
index e998688..0000000
--- a/src/com/android/contacts/interactions/GroupCreationDialogFragment.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2010 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.
- */
-package com.android.contacts.interactions;
-
-import android.app.Activity;
-import android.app.FragmentManager;
-import android.content.Intent;
-import android.os.Bundle;
-import android.widget.EditText;
-
-import com.android.contacts.ContactSaveService;
-import com.android.contacts.R;
-import com.android.contacts.activities.ContactEditorBaseActivity;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-
-/**
- * A dialog for creating a new group.
- */
-public class GroupCreationDialogFragment extends GroupNameDialogFragment {
- private static final String ARG_ACCOUNT_TYPE = "accountType";
- private static final String ARG_ACCOUNT_NAME = "accountName";
- private static final String ARG_DATA_SET = "dataSet";
-
- public static final String FRAGMENT_TAG = "createGroupDialog";
-
- private final OnGroupCreatedListener mListener;
-
- public interface OnGroupCreatedListener {
- public void onGroupCreated();
- }
-
- public static void show(
- FragmentManager fragmentManager, String accountType, String accountName,
- String dataSet, OnGroupCreatedListener listener) {
- GroupCreationDialogFragment dialog = new GroupCreationDialogFragment(listener);
- Bundle args = new Bundle();
- args.putString(ARG_ACCOUNT_TYPE, accountType);
- args.putString(ARG_ACCOUNT_NAME, accountName);
- args.putString(ARG_DATA_SET, dataSet);
- dialog.setArguments(args);
- dialog.show(fragmentManager, FRAGMENT_TAG);
- }
-
- public GroupCreationDialogFragment() {
- super();
- mListener = null;
- }
-
- private GroupCreationDialogFragment(OnGroupCreatedListener listener) {
- super();
- mListener = listener;
- }
-
- public OnGroupCreatedListener getOnGroupCreatedListener() {
- return mListener;
- }
-
- @Override
- protected void initializeGroupLabelEditText(EditText editText) {
- }
-
- @Override
- protected int getTitleResourceId() {
- return R.string.create_group_dialog_title;
- }
-
- @Override
- protected void onCompleted(String groupLabel) {
- Bundle arguments = getArguments();
- String accountType = arguments.getString(ARG_ACCOUNT_TYPE);
- String accountName = arguments.getString(ARG_ACCOUNT_NAME);
- String dataSet = arguments.getString(ARG_DATA_SET);
-
- // Indicate to the listener that a new group will be created.
- // If the device is rotated, mListener will become null, so that the
- // popup from GroupMembershipView will not be shown.
- if (mListener != null) {
- mListener.onGroupCreated();
- }
-
- Activity activity = getActivity();
- activity.startService(ContactSaveService.createNewGroupIntent(activity,
- new AccountWithDataSet(accountName, accountType, dataSet), groupLabel,
- null /* no new members to add */,
- activity.getClass(), ContactEditorBaseActivity.ACTION_EDIT));
- }
-}
diff --git a/src/com/android/contacts/interactions/GroupNameDialogFragment.java b/src/com/android/contacts/interactions/GroupNameDialogFragment.java
deleted file mode 100644
index 5efccfc..0000000
--- a/src/com/android/contacts/interactions/GroupNameDialogFragment.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 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.
- */
-package com.android.contacts.interactions;
-
-import android.app.AlertDialog;
-import android.app.Dialog;
-import android.app.DialogFragment;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnShowListener;
-import android.os.Bundle;
-import android.text.Editable;
-import android.text.InputFilter;
-import android.text.InputType;
-import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.EditText;
-
-import com.android.contacts.R;
-
-/**
- * A common superclass for creating and renaming groups.
- */
-// TODO: consolidate it with GroupNameEditDialogFragment
-public abstract class GroupNameDialogFragment extends DialogFragment {
- protected abstract int getTitleResourceId();
- protected abstract void initializeGroupLabelEditText(EditText editText);
- protected abstract void onCompleted(String groupLabel);
-
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- final LayoutInflater layoutInflater = LayoutInflater.from(builder.getContext());
- final View view = layoutInflater.inflate(R.layout.group_name_dialog, null);
- final EditText editText = (EditText) view.findViewById(R.id.group_label);
- final int maxLength = getResources().getInteger(R.integer.group_name_max_length);
- editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(maxLength) });
- editText.setInputType(InputType.TYPE_CLASS_TEXT);
- initializeGroupLabelEditText(editText);
-
- builder.setTitle(getTitleResourceId());
- builder.setView(view);
- editText.requestFocus();
- builder.setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int whichButton) {
- onCompleted(editText.getText().toString().trim());
- }
- }
- );
-
- builder.setNegativeButton(android.R.string.cancel, null);
- final AlertDialog dialog = builder.create();
-
- dialog.setOnShowListener(new OnShowListener() {
- @Override
- public void onShow(DialogInterface dialogInterface) {
- updateOkButtonState(dialog, editText);
- }
- });
- editText.addTextChangedListener(new TextWatcher() {
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- }
-
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- updateOkButtonState(dialog, editText);
- }
- });
- dialog.getWindow().setSoftInputMode(
- WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
- return dialog;
- }
-
- /* package */ void updateOkButtonState(AlertDialog dialog, EditText editText) {
- final Button okButton = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
- okButton.setEnabled(!TextUtils.isEmpty(editText.getText().toString().trim()));
- }
-}
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index 2060068..da33b55 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -92,7 +92,7 @@
private boolean mSelectionVerified;
private int mLastSelectedPosition = -1;
private boolean mRefreshingContactUri;
- private ContactListFilter mFilter;
+ protected ContactListFilter mFilter;
private String mPersistentSelectionPrefix = PERSISTENT_SELECTION_PREFIX;
protected OnContactBrowserActionListener mListener;
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index afaafb7..32b64e1 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -15,11 +15,16 @@
*/
package com.android.contacts.list;
+import android.accounts.Account;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.net.Uri;
+import android.os.Bundle;
+import android.provider.ContactsContract;
+import android.support.v4.widget.SwipeRefreshLayout;
import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
import android.view.Gravity;
@@ -35,12 +40,18 @@
import com.android.contacts.R;
import com.android.contacts.activities.PeopleActivity;
+import com.android.contacts.common.Experiments;
import com.android.contacts.common.list.ContactListAdapter;
import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.list.DefaultContactListAdapter;
import com.android.contacts.common.list.FavoritesAndContactsLoader;
+import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.commonbind.experiments.Flags;
+import com.android.contacts.util.SyncUtil;
+
+import java.util.List;
/**
* Fragment containing a contact list used for browsing (as compared to
@@ -53,6 +64,7 @@
private View mEmptyHomeView;
private View mAccountFilterContainer;
private TextView mSearchProgressText;
+ private SwipeRefreshLayout mSwipeRefreshLayout;
private FeatureHighlightCallback mCallback;
public interface FeatureHighlightCallback {
@@ -91,7 +103,9 @@
private void bindListHeader(int numberOfContacts) {
final ContactListFilter filter = getFilter();
- if (!isSearchMode() && numberOfContacts <= 0) {
+ // If the phone has at least one Google account whose sync status is unsyncable or pending
+ // or active, we have to make mAccountFilterContainer visible.
+ if (!isSearchMode() && numberOfContacts <= 0 && shouldShowEmptyView(filter)) {
if (filter != null && filter.isContactsFilterType()) {
makeViewVisible(mEmptyHomeView);
} else {
@@ -114,6 +128,38 @@
}
}
+ /**
+ * If at least one Google account is unsyncable or its sync status is pending or active, we
+ * should not show empty view even if the number of contacts is 0. We should show sync status
+ * with empty list instead.
+ */
+ private boolean shouldShowEmptyView(ContactListFilter filter) {
+ if (filter == null) {
+ return true;
+ }
+ // TODO(samchen) : Check ContactListFilter.FILTER_TYPE_CUSTOM
+ if (ContactListFilter.FILTER_TYPE_DEFAULT == filter.filterType
+ || ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS == filter.filterType) {
+ final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(getContext())
+ .getAccounts(/* contactsWritableOnly */ true);
+ final List<Account> syncableAccounts = filter.getSyncableAccounts(accounts);
+
+ if (syncableAccounts != null && syncableAccounts.size() > 0) {
+ for (Account account : syncableAccounts) {
+ if (SyncUtil.isSyncStatusPendingOrActive(account)
+ || SyncUtil.isUnsyncableGoogleAccount(account)) {
+ return false;
+ }
+ }
+ }
+ } else if (ContactListFilter.FILTER_TYPE_ACCOUNT == filter.filterType) {
+ final Account account = new Account(filter.accountName, filter.accountType);
+ return !(SyncUtil.isSyncStatusPendingOrActive(account)
+ || SyncUtil.isUnsyncableGoogleAccount(account));
+ }
+ return true;
+ }
+
// Show the view that's specified by id and hide the other two.
private void makeViewVisible(View view) {
mEmptyAccountView.setVisibility(view == mEmptyAccountView ? View.VISIBLE : View.GONE);
@@ -215,6 +261,10 @@
protected void onCreateView(LayoutInflater inflater, ViewGroup container) {
super.onCreateView(inflater, container);
+ if (Flags.getInstance(getActivity()).getBoolean(Experiments.PULL_TO_REFRESH)) {
+ initSwipeRefreshLayout();
+
+ }
// Putting the header view inside a container will allow us to make
// it invisible later. See checkHeaderViewVisibility()
FrameLayout headerContainer = new FrameLayout(inflater.getContext());
@@ -227,6 +277,55 @@
mSearchProgressText = (TextView) mSearchHeaderView.findViewById(R.id.totalContactsText);
}
+ private void initSwipeRefreshLayout() {
+ mSwipeRefreshLayout = (SwipeRefreshLayout) mView.findViewById(R.id.swipe_refresh);
+ if (mSwipeRefreshLayout == null) {
+ return;
+ }
+
+ mSwipeRefreshLayout.setEnabled(true);
+ // Request sync contacts
+ mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ syncContacts(mFilter);
+ }
+ });
+ mSwipeRefreshLayout.setColorSchemeResources(
+ R.color.swipe_refresh_color1,
+ R.color.swipe_refresh_color2,
+ R.color.swipe_refresh_color3,
+ R.color.swipe_refresh_color4);
+ mSwipeRefreshLayout.setDistanceToTriggerSync(
+ (int) getResources().getDimension(R.dimen.pull_to_refresh_distance));
+ }
+
+ /**
+ * Request sync for the Google accounts (not include Google+ accounts) specified by the given
+ * filter.
+ */
+ private void syncContacts(ContactListFilter filter) {
+ if (filter == null) {
+ return;
+ }
+ final Bundle bundle = new Bundle();
+ bundle.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
+ bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
+
+ final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(
+ getActivity()).getAccounts(/* contactsWritableOnly */ true);
+ final List<Account> syncableAccounts = filter.getSyncableAccounts(accounts);
+ if (syncableAccounts != null && syncableAccounts.size() > 0) {
+ for (Account account : syncableAccounts) {
+ // We can prioritize Contacts sync if sync is not initialized yet.
+ if (!SyncUtil.isSyncStatusPendingOrActive(account)
+ || SyncUtil.isUnsyncableGoogleAccount(account)) {
+ ContentResolver.requestSync(account, ContactsContract.AUTHORITY, bundle);
+ }
+ }
+ }
+ }
+
@Override
protected void setSearchMode(boolean flag) {
super.setSearchMode(flag);
@@ -275,4 +374,8 @@
}
}
}
-}
\ No newline at end of file
+
+ public SwipeRefreshLayout getSwipeRefreshLayout() {
+ return mSwipeRefreshLayout;
+ }
+}
diff --git a/src/com/android/contacts/util/SyncUtil.java b/src/com/android/contacts/util/SyncUtil.java
new file mode 100644
index 0000000..cef2223
--- /dev/null
+++ b/src/com/android/contacts/util/SyncUtil.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+package com.android.contacts.util;
+
+import android.accounts.Account;
+import android.content.ContentResolver;
+import android.provider.ContactsContract;
+
+import com.android.contacts.common.model.account.GoogleAccountType;
+
+import java.util.List;
+
+/**
+ * Utilities related to sync.
+ */
+public final class SyncUtil {
+ private static final String TAG = "SyncUtil";
+
+ private SyncUtil() {
+ }
+
+ public static final boolean isSyncStatusPendingOrActive(Account account) {
+ if (account == null) {
+ return false;
+ }
+ return ContentResolver.isSyncPending(account, ContactsContract.AUTHORITY)
+ || ContentResolver.isSyncActive(account, ContactsContract.AUTHORITY);
+ }
+
+ /**
+ * Returns true if the given Google account is not syncable.
+ */
+ public static final boolean isUnsyncableGoogleAccount(Account account) {
+ if (account == null || !GoogleAccountType.ACCOUNT_TYPE.equals(account.type)) {
+ return false;
+ }
+ return ContentResolver.getIsSyncable(account, ContactsContract.AUTHORITY) <= 0;
+ }
+}
diff --git a/tests/src/com/android/contacts/util/SyncUtilTests.java b/tests/src/com/android/contacts/util/SyncUtilTests.java
new file mode 100644
index 0000000..372a652
--- /dev/null
+++ b/tests/src/com/android/contacts/util/SyncUtilTests.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+package com.android.contacts.util;
+
+import android.accounts.Account;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Tests for SyncUtil.
+ */
+@SmallTest
+public class SyncUtilTests extends AndroidTestCase {
+ private static final String TAG = "SyncUtilTests";
+
+ private static final String GOOGLE_TYPE = "com.google";
+ private static final String NOT_GOOGLE_TYPE = "com.abc";
+ private static final String ACCOUNT_NAME = "ACCOUNT_NAME";
+
+ private final Account mGoogleAccount;
+ private final Account mOtherAccount;
+
+ public SyncUtilTests() {
+ mGoogleAccount = new Account(ACCOUNT_NAME, GOOGLE_TYPE);
+ mOtherAccount = new Account(ACCOUNT_NAME, NOT_GOOGLE_TYPE);
+ }
+
+ public void testIsUnsyncableGoogleAccount() throws Exception {
+ // The account names of mGoogleAccount and mOtherAccount are not valid, so both accounts
+ // are not syncable.
+ assertTrue(SyncUtil.isUnsyncableGoogleAccount(mGoogleAccount));
+ assertFalse(SyncUtil.isUnsyncableGoogleAccount(mOtherAccount));
+ assertFalse(SyncUtil.isUnsyncableGoogleAccount(null));
+ }
+}