[automerger skipped] No longer export CallSubjectDialog am: 1f6d68c796 am: 0ad38d53f3 am: 71cb36c1b8 am: fbddb2190e -s ours
am skip reason: Merged-In I8c0c2bdddb172aba5a41e3fff0413eb48a5f4455 with SHA-1 af44f5ac3f is already in history
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Contacts/+/17008934
Change-Id: I8708aa0927d7fa865096353fa10d619ef4c5e9df
diff --git a/Android.bp b/Android.bp
index 08288f8..27c5b2f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,3 +1,34 @@
+package {
+ default_applicable_licenses: ["packages_apps_Contacts_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+ name: "packages_apps_Contacts_license",
+ visibility: [":__subpackages__"],
+ license_kinds: [
+ "SPDX-license-identifier-Apache-2.0",
+ "SPDX-license-identifier-BSD",
+ "SPDX-license-identifier-CC-BY",
+ ],
+ license_text: [
+ "NOTICE",
+ ],
+}
+
android_app {
name: "Contacts",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index f4e5f6b..7662a2e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,12 +16,12 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.contacts"
- android:versionCode="10731"
- android:versionName="1.7.31">
+ android:versionCode="10733"
+ android:versionName="1.7.33">
<uses-sdk
android:minSdkVersion="21"
- android:targetSdkVersion="29"/>
+ android:targetSdkVersion="30"/>
<original-package android:name="com.android.contacts"/>
@@ -74,6 +74,7 @@
android:launchMode="singleTop"
android:resizeableActivity="true"
android:theme="@style/LaunchScreenTheme"
+ android:exported="true"
android:visibleToInstantApps="true"
>
<intent-filter>
@@ -184,6 +185,7 @@
android:theme="@style/ContactPickerTheme"
android:uiOptions="splitActionBarWhenNarrow"
android:windowSoftInputMode="adjustResize"
+ android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.app.shortcuts.new_config"
android:value="true" />
@@ -286,6 +288,7 @@
<activity
android:name=".activities.ShowOrCreateActivity"
+ android:exported="true"
android:theme="@android:style/Theme.Material.Light.Dialog.NoActionBar">
<intent-filter>
@@ -303,6 +306,7 @@
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/Theme.QuickContact"
+ android:exported="true"
android:windowSoftInputMode="stateUnchanged">
<intent-filter>
@@ -331,7 +335,8 @@
<!-- Responsible for creating notification channels when boot is completed or when app is
re-installed -->
- <receiver android:name=".interactions.OnBootOrUpgradeReceiver">
+ <receiver android:name=".interactions.OnBootOrUpgradeReceiver"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
@@ -342,6 +347,7 @@
android:name="ContactShortcut"
android:icon="@drawable/logo_quick_contacts_color_44in48dp"
android:label="@string/shortcutContact"
+ android:exported="true"
android:targetActivity=".activities.ContactSelectionActivity">
<intent-filter>
@@ -355,6 +361,7 @@
android:name="alias.DialShortcut"
android:icon="@drawable/logo_quick_contacts_dialer_color_44in48dp"
android:label="@string/shortcutDialContact"
+ android:exported="true"
android:targetActivity=".activities.ContactSelectionActivity">
<intent-filter>
@@ -370,6 +377,7 @@
android:name="alias.MessageShortcut"
android:icon="@drawable/logo_quick_contacts_mail_color_44in48dp"
android:label="@string/shortcutMessageContact"
+ android:exported="true"
android:targetActivity=".activities.ContactSelectionActivity">
<intent-filter>
@@ -389,6 +397,7 @@
<!-- Edit or create a contact with only the most important fields displayed initially. -->
<activity
android:name=".activities.ContactEditorActivity"
+ android:exported="true"
android:theme="@style/EditorActivityTheme">
<intent-filter>
@@ -418,6 +427,7 @@
<activity
android:name=".activities.ContactEditorSpringBoardActivity"
+ android:exported="true"
android:theme="@style/TransparentThemeAppCompat">
<intent-filter>
@@ -430,7 +440,8 @@
</intent-filter>
</activity>
- <activity android:name=".test.FragmentTestActivity">
+ <activity android:name=".test.FragmentTestActivity"
+ android:exported="true">
<intent-filter>
<category android:name="android.intent.category.TEST"/>
</intent-filter>
@@ -456,6 +467,7 @@
<activity
android:name=".activities.AttachPhotoActivity"
android:label="@string/attach_photo_dialog_title"
+ android:exported="true"
android:taskAffinity="">
<intent-filter>
<action android:name="android.intent.action.ATTACH_DATA"/>
@@ -468,6 +480,7 @@
<activity
android:name=".vcard.ImportVCardActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
+ android:exported="true"
android:theme="@style/BackgroundOnlyTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
@@ -484,6 +497,7 @@
android:name=".vcard.NfcImportVCardActivity"
android:permission="android.permission.DISPATCH_NFC_MESSAGE"
android:configChanges="orientation|screenSize|keyboardHidden"
+ android:exported="true"
android:theme="@style/BackgroundOnlyTheme">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
@@ -529,6 +543,7 @@
are set lower, so that the user does not see a disambig dialog -->
<activity
android:name="com.android.contacts.NonPhoneActivity"
+ android:exported="true"
android:theme="@style/NonPhoneActivityTheme">
<intent-filter android:priority="-1">
<action android:name="android.intent.action.MAIN"/>
@@ -601,4 +616,95 @@
android:value="true"/>
</application>
+
+ <!-- Allows the contacts app to see the activities and services needed
+ to detect accounts and show actions in QuickContact. -->
+ <queries>
+ <!-- ContactsProvider2 -->
+ <package android:name="com.android.providers.contacts"/>
+
+ <!-- quickcontact actions and verbs -->
+ <intent>
+ <action android:name="android.intent.action.SENDTO" />
+ <data android:scheme="imto" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.SENDTO" />
+ <data android:scheme="xmpp" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.SENDTO" />
+ <data android:scheme="mailto" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.SENDTO" />
+ <data android:scheme="smsto" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.VIEW"/>
+ <data android:scheme="geo"/>
+ </intent>
+ <!-- About card -->
+ <intent>
+ <!-- View CalendarContract Uris -->
+ <action android:name="android.intent.action.VIEW"/>
+ <data android:scheme="content" android:host="com.android.calendar"/>
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.VIEW"/>
+ <data android:scheme="https"/>
+ </intent>
+
+ <!-- Account loading -->
+ <intent>
+ <action android:name="android.accounts.AccountAuthenticator"/>
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.VIEW" />
+ <data android:scheme="content" android:host="com.android.contacts"
+ android:mimeType="vnd.android.cursor.item/*" />
+ </intent>
+
+ <!-- calling -->
+ <package android:name="com.android.dialer"/>
+ <intent>
+ <action android:name="android.intent.action.CALL" />
+ <data android:scheme="tel" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.DIAL" />
+ <data android:scheme="tel" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.CALL" />
+ <data android:scheme="sip" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.DIAL" />
+ <data android:scheme="sip" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.CALL" />
+ <data android:scheme="voicemail" />
+ </intent>
+ <intent>
+ <action android:name="android.intent.action.DIAL" />
+ <data android:scheme="voicemail" />
+ </intent>
+
+ <!-- vcard export -->
+ <intent>
+ <action android:name="android.intent.action.CREATE_DOCUMENT" />
+ <data android:mimeType="text/x-vcard" />
+ <category android:name="android.intent.category.OPENABLE" />
+ </intent>
+
+ <!-- edit contact photo -->
+ <intent>
+ <action android:name="com.android.camera.action.CROP" />
+ <data android:mimeType="image/*" />
+ </intent>
+
+ </queries>
+
</manifest>
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..d97975c
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,3 @@
+third_party {
+ license_type: NOTICE
+}
diff --git a/lint-baseline.xml b/lint-baseline.xml
new file mode 100644
index 0000000..764546f
--- /dev/null
+++ b/lint-baseline.xml
@@ -0,0 +1,576 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.ContactsContract.SimContacts#getSimAccounts`"
+ errorLine1=" ContactsContract.SimContacts.getSimAccounts(mContext.getContentResolver());"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/model/AccountTypeManager.java"
+ line="541"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.ContactsContract.SimAccount#getAccountName`"
+ errorLine1=" simAccountWithDataSets.add(new AccountWithDataSet(simAccount.getAccountName(),"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/model/AccountTypeManager.java"
+ line="543"
+ column="82"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.ContactsContract.SimAccount#getAccountType`"
+ errorLine1=" simAccount.getAccountType(), null));"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/model/AccountTypeManager.java"
+ line="544"
+ column="40"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast from `PhoneAccountHandle` to `Parcelable` requires API level 23 (current min is 21)"
+ errorLine1=" arguments.putParcelable(ARG_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/dialog/CallSubjectDialog.java"
+ line="249"
+ column="59"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast from `PhoneAccountHandle` to `Parcelable` requires API level 23 (current min is 21)"
+ errorLine1=" intent.putExtra(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="87"
+ column="72"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#getCallCapablePhoneAccounts`"
+ errorLine1=" List<PhoneAccountHandle> accountHandles = telecommMgr.getCallCapablePhoneAccounts();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="164"
+ column="67"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#getPhoneAccount`"
+ errorLine1=" PhoneAccount account = telecommMgr.getPhoneAccount(accountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="166"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#hasCapabilities`"
+ errorLine1=" if (account.hasCapabilities(PhoneAccount.CAPABILITY_VIDEO_CALLING)) {"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="168"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#hasCapabilities`"
+ errorLine1=" if (account.hasCapabilities(PhoneAccountSdkCompat"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="175"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#getCallCapablePhoneAccounts`"
+ errorLine1=" List<PhoneAccountHandle> accountHandles = telecommMgr.getCallCapablePhoneAccounts();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="211"
+ column="67"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#getPhoneAccount`"
+ errorLine1=" PhoneAccount account = telecommMgr.getPhoneAccount(accountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="213"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#hasCapabilities`"
+ errorLine1=" if (account != null && account.hasCapabilities(PhoneAccount.CAPABILITY_CALL_SUBJECT)) {"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/CallUtil.java"
+ line="214"
+ column="48"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.ContentProviderOperation#isInsert`"
+ errorLine1=" return cpoWrapper.getOperation().isInsert();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/CompatUtils.java"
+ line="48"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.ContentProviderOperation#isUpdate`"
+ errorLine1=" return cpoWrapper.getOperation().isUpdate();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/CompatUtils.java"
+ line="58"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.ContentProviderOperation#isDelete`"
+ errorLine1=" return cpoWrapper.getOperation().isDelete();"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/CompatUtils.java"
+ line="68"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.content.ContentProviderOperation#isAssertQuery`"
+ errorLine1=" return cpoWrapper.getOperation().isAssertQuery();"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/CompatUtils.java"
+ line="77"
+ column="46"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.widget.QuickContactBadge#setPrioritizedMimeType`"
+ errorLine1=" quickContact.setPrioritizedMimeType(Phone.CONTENT_ITEM_TYPE);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/list/ContactEntryListAdapter.java"
+ line="721"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.ContactsContract.SimContacts#getSimAccounts`"
+ errorLine1=" ContactsContract.SimContacts.getSimAccounts("
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java"
+ line="74"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.ContactsContract.SimAccount#getAccountType`"
+ errorLine1=" simAccount.getAccountType())) {"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java"
+ line="77"
+ column="36"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 24 (current min is 21): `android.provider.ContactsContract.Directory#ENTERPRISE_CONTENT_URI`"
+ errorLine1=" public static final Uri ENTERPRISE_CONTENT_URI = Directory.ENTERPRISE_CONTENT_URI;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/DirectorySdkCompat.java"
+ line="26"
+ column="54"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 24 (current min is 21): `android.provider.BlockedNumberContract#canCurrentUserBlockNumbers`"
+ errorLine1=" && BlockedNumberContract.canCurrentUserBlockNumbers(getContext());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/preference/DisplayOptionsPreferenceFragment.java"
+ line="300"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 28 (current min is 21): `android.content.pm.PackageInfo#getLongVersionCode`"
+ errorLine1=" sCachedVersionCode = Long.toString(info.getLongVersionCode());"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/util/HelpUtils.java"
+ line="125"
+ column="57"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.graphics.drawable.AdaptiveIconDrawable#getExtraInsetFraction`"
+ errorLine1=" return 1 / (1 + (2 * AdaptiveIconDrawable.getExtraInsetFraction()));"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/lettertiles/LetterTileDrawable.java"
+ line="293"
+ column="51"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#getIcon`"
+ errorLine1=" return phoneAccount.getIcon();"
+ errorLine2=" ~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneAccountCompat.java"
+ line="45"
+ column="33"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.graphics.drawable.Icon#loadDrawable`"
+ errorLine1=" return accountIcon.loadDrawable(context);"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneAccountCompat.java"
+ line="84"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.telecom.PhoneAccount`"
+ errorLine1=" return (Drawable) PhoneAccount.class.getMethod("createIconDrawable", Context.class)"
+ errorLine2=" ~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneAccountCompat.java"
+ line="91"
+ column="31"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.PhoneNumberUtils#createTtsSpannable`"
+ errorLine1=" return PhoneNumberUtils.createTtsSpannable(phoneNumber);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneNumberUtilsCompat.java"
+ line="85"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.PhoneNumberUtils#createTtsSpan`"
+ errorLine1=" return PhoneNumberUtils.createTtsSpan(phoneNumber);"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneNumberUtilsCompat.java"
+ line="93"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.PhoneNumberUtils#addTtsSpan`"
+ errorLine1=" PhoneNumberUtils.addTtsSpan(s, start, endExclusive);"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/PhoneNumberUtilsCompat.java"
+ line="118"
+ column="30"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 23 (current min is 21): `android.provider.ContactsContract.ProviderStatus#CONTENT_URI`"
+ errorLine1=" .registerContentObserver(ProviderStatus.CONTENT_URI, false, this);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/list/ProviderStatusWatcher.java"
+ line="132"
+ column="42"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 23 (current min is 21): `android.provider.ContactsContract.ProviderStatus#CONTENT_URI`"
+ errorLine1=" Cursor cursor = mContext.getContentResolver().query(ProviderStatus.CONTENT_URI,"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/list/ProviderStatusWatcher.java"
+ line="219"
+ column="69"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Field requires API level 23 (current min is 21): `android.provider.ContactsContract.ProviderStatus#CONTENT_URI`"
+ errorLine1=" if (!ProviderStatus.CONTENT_URI.equals(uri)) return;"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/list/ProviderStatusWatcher.java"
+ line="270"
+ column="14"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 22 (current min is 21): `android.app.Activity#getReferrer`"
+ errorLine1=" if (mReferrer == null && CompatUtils.isLollipopMr1Compatible() && getReferrer() != null) {"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/quickcontact/QuickContactActivity.java"
+ line="652"
+ column="75"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 22 (current min is 21): `android.app.Activity#getReferrer`"
+ errorLine1=" mReferrer = getReferrer().getAuthority();"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/quickcontact/QuickContactActivity.java"
+ line="653"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Class requires API level 23 (current min is 21): `android.telecom.PhoneAccountHandle`"
+ errorLine1=" (PhoneAccountHandle) resultData.getParcelable("
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="130"
+ column="26"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Cast from `PhoneAccountHandle` to `Parcelable` requires API level 23 (current min is 21)"
+ errorLine1=" selectedAccountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="171"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#getPhoneAccount`"
+ errorLine1=" PhoneAccount account = mTelecomManager.getPhoneAccount(accountHandle);"
+ errorLine2=" ~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="247"
+ column="52"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#getLabel`"
+ errorLine1=" holder.labelTextView.setText(account.getLabel());"
+ errorLine2=" ~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="251"
+ column="50"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#getAddress`"
+ errorLine1=" if (account.getAddress() == null ||"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="252"
+ column="25"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#getAddress`"
+ errorLine1=" TextUtils.isEmpty(account.getAddress().getSchemeSpecificPart())) {"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="253"
+ column="47"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.PhoneAccount#getAddress`"
+ errorLine1=" account.getAddress().getSchemeSpecificPart()));"
+ errorLine2=" ~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/widget/SelectPhoneAccountDialogFragment.java"
+ line="259"
+ column="41"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level R (current min is 21): `android.telephony.TelephonyManager#getSubscriptionId`"
+ errorLine1=" return new SimCard(telephony.getSimSerialNumber(), telephony.getSubscriptionId(),"
+ errorLine2=" ~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/model/SimCard.java"
+ line="244"
+ column="74"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 31 (current min is 21): `android.provider.SimPhonebookContract.SimRecords#getContentUri`"
+ errorLine1=" SimRecords.getContentUri("
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/database/SimContactDaoImpl.java"
+ line="130"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 26 (current min is 21): `android.content.ContentResolver#query`"
+ errorLine1=" final Cursor cursor = mResolver.query(uri,"
+ errorLine2=" ~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/database/SimContactDaoImpl.java"
+ line="265"
+ column="45"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telecom.TelecomManager#placeCall`"
+ errorLine1=" telecomManager.placeCall(intent.getData(), intent.getExtras());"
+ errorLine2=" ~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/telecom/TelecomManagerCompat.java"
+ line="43"
+ column="28"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 22 (current min is 21): `android.telephony.TelephonyManager#isVoiceCapable`"
+ errorLine1=" return telephonyManager.isVoiceCapable();"
+ errorLine2=" ~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyManagerCompat.java"
+ line="49"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.TelephonyManager#getPhoneCount`"
+ errorLine1=" return telephonyManager.getPhoneCount();"
+ errorLine2=" ~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyManagerCompat.java"
+ line="71"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.TelephonyManager#getDeviceId`"
+ errorLine1=" return telephonyManager.getDeviceId(slotId);"
+ errorLine2=" ~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyManagerCompat.java"
+ line="93"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.TelephonyManager#isTtyModeSupported`"
+ errorLine1=" return telephonyManager.isTtyModeSupported();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyManagerCompat.java"
+ line="111"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.telephony.TelephonyManager#isHearingAidCompatibilitySupported`"
+ errorLine1=" return telephonyManager.isHearingAidCompatibilitySupported();"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyManagerCompat.java"
+ line="131"
+ column="37"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="Call requires API level 23 (current min is 21): `android.provider.Telephony.Threads#getOrCreateThreadId`"
+ errorLine1=" return Telephony.Threads.getOrCreateThreadId(context, recipient);"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/src/com/android/contacts/compat/TelephonyThreadsCompat.java"
+ line="51"
+ column="38"/>
+ </issue>
+
+ <issue
+ id="NewApi"
+ message="`android:contentInsetStartWithNavigation` requires API level 24 (current min is 21)"
+ errorLine1=" <item name="android:contentInsetStartWithNavigation">72dp</item>"
+ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+ <location
+ file="packages/apps/Contacts/res/values/styles.xml"
+ line="215"
+ column="15"/>
+ </issue>
+
+</issues>
diff --git a/proguard.flags b/proguard.flags
index 782aa7e..9543f9d 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -57,7 +57,6 @@
-keep class com.android.contacts.model.BuilderWrapper { *; }
-keep class com.android.contacts.model.Contact { *; }
-keep class com.android.contacts.model.ContactLoader { *; }
--keep class com.android.contacts.model.Cp2DeviceLocalAccountLocator { *; }
-keep class com.android.contacts.model.CPOWrapper { *; }
-keep class com.android.contacts.model.dataitem.DataItem { *; }
-keep class com.android.contacts.model.dataitem.DataKind { *; }
diff --git a/res/layout-land/contact_editor_fragment.xml b/res/layout-land/contact_editor_fragment.xml
index 6f026aa..e68d7a3 100644
--- a/res/layout-land/contact_editor_fragment.xml
+++ b/res/layout-land/contact_editor_fragment.xml
@@ -31,7 +31,7 @@
<include layout="@layout/photo_editor_view" />
- <!-- Dummy view so the first input field is not initially focused. b/21644158 -->
+ <!-- Placeholder view so the first input field is not initially focused. b/21644158 -->
<View
android:layout_width="0dp"
android:layout_height="0dp"
diff --git a/res/layout/contact_editor_fragment.xml b/res/layout/contact_editor_fragment.xml
index 03a84e1..694e1f6 100644
--- a/res/layout/contact_editor_fragment.xml
+++ b/res/layout/contact_editor_fragment.xml
@@ -38,7 +38,7 @@
<include layout="@layout/photo_editor_view" />
- <!-- Dummy view so the first input field is not initially focused. b/21644158 -->
+ <!-- Placeholder view so the first input field is not initially focused. b/21644158 -->
<View
android:layout_width="0dp"
android:layout_height="0dp"
diff --git a/res/layout/menu_item_action_view.xml b/res/layout/menu_item_action_view.xml
index 62eb758..1f8066e 100644
--- a/res/layout/menu_item_action_view.xml
+++ b/res/layout/menu_item_action_view.xml
@@ -15,7 +15,8 @@
limitations under the License.
-->
-<!-- A dummy action view to attach extra hidden content description to menuItem for Talkback. -->
+<!-- A placeholder action view to attach extra hidden content description to
+ menuItem for Talkback. -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
@@ -24,4 +25,4 @@
<View
android:layout_width="1dp"
android:layout_height= "1dp" />
-</LinearLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index af96fb9..2c30f00 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Instellings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Instellings"</string>
<string name="menu_help" msgid="287801702920372292">"Hulp en terugvoer"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Foonnommer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Voeg by kontakte"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Maak toe"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Teksboodskap"</string>
<string name="postal_address" msgid="5031809899673855074">"Adres"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Maatskappy"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departement"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titel"</string>
<string name="label_notes" msgid="7134226125644463585">"Notas"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Gepasmaak"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 9c49977..388ce56 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ቅንብሮች"</string>
<string name="menu_settings" msgid="3524924670246877187">"ቅንብሮች"</string>
<string name="menu_help" msgid="287801702920372292">"እገዛ እና ግብረመልስ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>፣ <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ስልክ ቁጥር:"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"ወደ ዕውቂያዎች አክል"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ዝጋ"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"የጽሑፍ መልዕክት"</string>
<string name="postal_address" msgid="5031809899673855074">"አድራሻ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ኩባንያ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"መምሪያ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"አርዕስት"</string>
<string name="label_notes" msgid="7134226125644463585">"ማስታወሻዎች"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ብጁ"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 99b7a86..b7bc19a 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -180,7 +180,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"الإعدادات"</string>
<string name="menu_settings" msgid="3524924670246877187">"الإعدادات"</string>
<string name="menu_help" msgid="287801702920372292">"المساعدة والتعليقات"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>، <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"رقم الهاتف"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"إضافة إلى جهات الاتصال"</string>
<string name="non_phone_close" msgid="2792373584950696532">"إغلاق"</string>
@@ -340,6 +341,7 @@
<string name="sms" msgid="4246338112764847384">"رسالة نصية"</string>
<string name="postal_address" msgid="5031809899673855074">"العنوان"</string>
<string name="ghostData_company" msgid="3873500610390675876">"الشركة"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"القسم"</string>
<string name="ghostData_title" msgid="8584897460662904533">"المسمى الوظيفي"</string>
<string name="label_notes" msgid="7134226125644463585">"ملاحظات"</string>
<string name="label_custom_field" msgid="4160584225306364924">"مخصص"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 26fad72..ec760b2 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ছেটিংবোৰ"</string>
<string name="menu_settings" msgid="3524924670246877187">"ছেটিংবোৰ"</string>
<string name="menu_help" msgid="287801702920372292">"সহায় আৰু মতামত"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ফ\'ন নম্বৰ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"সর্ম্পক সূচীত যোগ কৰক"</string>
<string name="non_phone_close" msgid="2792373584950696532">"বন্ধ কৰক"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"পাঠ বাৰ্তা"</string>
<string name="postal_address" msgid="5031809899673855074">"ঠিকনা"</string>
<string name="ghostData_company" msgid="3873500610390675876">"কোম্পানী"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"বিভাগ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"শিৰোনাম"</string>
<string name="label_notes" msgid="7134226125644463585">"টোকাবোৰ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"নিজৰ উপযোগিতা অনুসৰি"</string>
@@ -423,7 +425,7 @@
<string name="contacts_export_will_start_message" msgid="6428126265599715944">"সম্পৰ্কসমূহক সোনকালে ৰপ্তানি কৰা হ\'ব।"</string>
<string name="vcard_export_request_rejected_message" msgid="6455336845734884740">"ভি-কাৰ্ড ৰপ্তানি কৰা অনুৰোধ অগ্ৰাহ্য় কৰা হ’ল। পিছত আকৌ চেষ্টা কৰক।"</string>
<string name="vcard_unknown_filename" msgid="8320954544777782497">"সম্পৰ্ক"</string>
- <string name="caching_vcard_message" msgid="1879339732783666517">"ভি-কাৰ্ড (বোৰ)ক ডিভাইচৰ অস্থায়ী সঞ্চয়াগাৰত কেচ কৰিথকা হৈছে। আচল আমদানি কৰা কাৰ্য সোনকালে আৰম্ভ হ\'ব।"</string>
+ <string name="caching_vcard_message" msgid="1879339732783666517">"ভি-কাৰ্ড(বোৰ)ক ডিভাইচৰ অস্থায়ী ষ্ট’ৰেজত কেশ্ব কৰি থকা হৈছে। আচল ইমপ’ৰ্ট কৰা কাৰ্য সোনকালে আৰম্ভ হ’ব।"</string>
<string name="vcard_import_failed" msgid="37313715326741013">"vCard আমদানি কৰিব পৰা নগ\'ল।"</string>
<string name="nfc_vcard_file_name" msgid="2113518216329123152">"NFCৰ জৰিয়তে সম্পৰ্ক পোৱা গ\'ল"</string>
<string name="caching_vcard_title" msgid="6333926052524937628">"কেচ কৰিথকা হৈছে"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index b104b36..779d752 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ayarlar"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ayarlar"</string>
<string name="menu_help" msgid="287801702920372292">"Kömək & əks əlaqə"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g>, <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefon nömrəsi"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Kontaktlara əlavə edin"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Qapadın"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mətn mesajı"</string>
<string name="postal_address" msgid="5031809899673855074">"Ünvan:"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Şirkət"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Şöbə"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Başlıq"</string>
<string name="label_notes" msgid="7134226125644463585">"Qeydlər"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Fərdi"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index 8f981d6..595bc60 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Podešavanja"</string>
<string name="menu_settings" msgid="3524924670246877187">"Podešavanja"</string>
<string name="menu_help" msgid="287801702920372292">"Pomoć i povratne informacije"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Broj telefona"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Dodaj u kontakte"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zatvori"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"Tekstualna poruka"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Preduzeće"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Odsek"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Naslov"</string>
<string name="label_notes" msgid="7134226125644463585">"Beleške"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Prilagođeno"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 9082031..336346b 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Налады"</string>
<string name="menu_settings" msgid="3524924670246877187">"Налады"</string>
<string name="menu_help" msgid="287801702920372292">"Даведка і водгукі"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Нумар тэлефона"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Дадаць у кантакты"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Закрыць"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Тэкставае паведамленне"</string>
<string name="postal_address" msgid="5031809899673855074">"Адрас"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Кампанія"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Аддзел"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Пасада"</string>
<string name="label_notes" msgid="7134226125644463585">"Нататкі"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Карыстальніцкі"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index be177bc..966b89c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Настройки"</string>
<string name="menu_settings" msgid="3524924670246877187">"Настройки"</string>
<string name="menu_help" msgid="287801702920372292">"Помощ и отзиви"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Телефонен номер"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Добавяне към контактите"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Затваряне"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Текстово съобщение"</string>
<string name="postal_address" msgid="5031809899673855074">"Адрес"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Фирма"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Отдел"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Длъжност"</string>
<string name="label_notes" msgid="7134226125644463585">"Бележки"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Персонализирано"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index a49dc8b..186d9dc 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"সেটিংস"</string>
<string name="menu_settings" msgid="3524924670246877187">"সেটিংস"</string>
<string name="menu_help" msgid="287801702920372292">"সহায়তা ও প্রতিক্রিয়া"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ফোন নম্বর"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"পরিচিতিগুলিতে যোগ করুন"</string>
<string name="non_phone_close" msgid="2792373584950696532">"বন্ধ"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"পাঠ্য বার্তা"</string>
<string name="postal_address" msgid="5031809899673855074">"ঠিকানা"</string>
<string name="ghostData_company" msgid="3873500610390675876">"কোম্পানি"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"বিভাগ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"শীর্ষক"</string>
<string name="label_notes" msgid="7134226125644463585">"নোটগুলি"</string>
<string name="label_custom_field" msgid="4160584225306364924">"কাস্টম"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index f43d7c0..fe40e4c 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Postavke"</string>
<string name="menu_settings" msgid="3524924670246877187">"Postavke"</string>
<string name="menu_help" msgid="287801702920372292">"Pomoć i povratne informacije"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Broj telefona"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Dodaj u kontakte"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zatvori"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Kompanija"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Odjel"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Pozicija"</string>
<string name="label_notes" msgid="7134226125644463585">"Bilješke"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Prilagođeno"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 3ec77e3..cb6316f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Configuració"</string>
<string name="menu_settings" msgid="3524924670246877187">"Configuració"</string>
<string name="menu_help" msgid="287801702920372292">"Ajuda i suggeriments"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de telèfon"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Afegeix als contactes"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Tanca"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Missatge de text"</string>
<string name="postal_address" msgid="5031809899673855074">"Adreça"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departament"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Títol"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalitzat"</string>
@@ -505,7 +507,7 @@
<string name="single_sim_display_label" msgid="264062966309455515">"SIM"</string>
<string name="show_more_content_description" msgid="6298277298495491712">"Mostra\'n més"</string>
<string name="importing_sim_finished_title" msgid="6436721150882268416">"Importació de la targeta SIM completada"</string>
- <string name="importing_sim_failed_title" msgid="1046154274170241788">"Ha fallat la importació"</string>
+ <string name="importing_sim_failed_title" msgid="1046154274170241788">"La importació ha fallat"</string>
<string name="importing_sim_failed_message" msgid="55568522164349044">"No s\'han pogut importar els contactes de la targeta SIM"</string>
<string name="importing_sim_in_progress_title" msgid="7647907413920018595">"S\'estan important els contactes de la SIM"</string>
<string name="contacts_default_notification_channel" msgid="5116916969874075866">"Notificacions"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index ddfe5b4..8f7d22d 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Nastavení"</string>
<string name="menu_settings" msgid="3524924670246877187">"Nastavení"</string>
<string name="menu_help" msgid="287801702920372292">"Nápověda a zpětná vazba"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonní číslo"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Přidat do kontaktů"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zavřít"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Textová zpráva"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Společnost"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Oddělení"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Název"</string>
<string name="label_notes" msgid="7134226125644463585">"Poznámky"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Vlastní"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 29bdbd0..cbe5a89 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Indstillinger"</string>
<string name="menu_settings" msgid="3524924670246877187">"Indstillinger"</string>
<string name="menu_help" msgid="287801702920372292">"Hjælp og feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonnummer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Føj til kontakter"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Luk"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Sms"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresse"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Virksomhed"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Afdeling"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titel"</string>
<string name="label_notes" msgid="7134226125644463585">"Noter"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Tilpasset"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index c2c2f58..c3c5e02 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Einstellungen"</string>
<string name="menu_settings" msgid="3524924670246877187">"Einstellungen"</string>
<string name="menu_help" msgid="287801702920372292">"Hilfe & Feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonnummer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Zu Kontakten hinzufügen"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Schließen"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresse"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Unternehmen"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Abteilung"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titel"</string>
<string name="label_notes" msgid="7134226125644463585">"Notizen"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Benutzerdefiniert"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 4e6d591..ea36a6d 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ρυθμίσεις"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ρυθμίσεις"</string>
<string name="menu_help" msgid="287801702920372292">"Βοήθεια και σχόλια"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Αριθμός τηλεφώνου"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Προσθήκη στις επαφές"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Κλείσιμο"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Μήνυμα κειμένου"</string>
<string name="postal_address" msgid="5031809899673855074">"Διεύθυνση"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Εταιρεία"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Τμήμα"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Τίτλος"</string>
<string name="label_notes" msgid="7134226125644463585">"Σημειώσεις"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Προσαρμοσμένο"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index ead8268..3baa6d9 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Settings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Settings"</string>
<string name="menu_help" msgid="287801702920372292">"Help & feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Phone number"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Add to contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Close"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Company"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Department"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Title"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index ead8268..3baa6d9 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Settings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Settings"</string>
<string name="menu_help" msgid="287801702920372292">"Help & feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Phone number"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Add to contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Close"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Company"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Department"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Title"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index ead8268..3baa6d9 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Settings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Settings"</string>
<string name="menu_help" msgid="287801702920372292">"Help & feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Phone number"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Add to contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Close"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Company"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Department"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Title"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index ead8268..3baa6d9 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Settings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Settings"</string>
<string name="menu_help" msgid="287801702920372292">"Help & feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Phone number"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Add to contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Close"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Company"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Department"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Title"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 302a89a..1014707 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Settings"</string>
<string name="menu_settings" msgid="3524924670246877187">"Settings"</string>
<string name="menu_help" msgid="287801702920372292">"Help & feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Phone number"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Add to contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Close"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Company"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Department"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Title"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 21fc88f..6e394ef 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Configuración"</string>
<string name="menu_settings" msgid="3524924670246877187">"Configuración"</string>
<string name="menu_help" msgid="287801702920372292">"Ayuda y comentarios"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Núm. de tel."</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Agregar a contactos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Cerrar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensaje de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Dirección"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Título"</string>
<string name="label_notes" msgid="7134226125644463585">"Notas"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 9902e26..8001dc8 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ajustes"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ajustes"</string>
<string name="menu_help" msgid="287801702920372292">"Ayuda y comentarios"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de teléfono"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Añadir a contactos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Cerrar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensaje de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Dirección"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Cargo"</string>
<string name="label_notes" msgid="7134226125644463585">"Notas"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index baecc4b..c7174c7 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Seaded"</string>
<string name="menu_settings" msgid="3524924670246877187">"Seaded"</string>
<string name="menu_help" msgid="287801702920372292">"Abi ja tagasiside"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefoninumber"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Lisa kontaktidesse"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Sule"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Tekstsõnum"</string>
<string name="postal_address" msgid="5031809899673855074">"Aadress"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Ettevõte"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Osakond"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Pealkiri"</string>
<string name="label_notes" msgid="7134226125644463585">"Märkused"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Kohandatud"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 4967f6d..a20d96e 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ezarpenak"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ezarpenak"</string>
<string name="menu_help" msgid="287801702920372292">"Laguntza eta iritziak"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefono-zenbakia"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Gehitu kontaktuetan"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Itxi"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Testu-mezua"</string>
<string name="postal_address" msgid="5031809899673855074">"Helbidea"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Enpresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Saila"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Lanpostua"</string>
<string name="label_notes" msgid="7134226125644463585">"Oharrak"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Pertsonalizatua"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 041404e..824d903 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"تنظیمات"</string>
<string name="menu_settings" msgid="3524924670246877187">"تنظیمات"</string>
<string name="menu_help" msgid="287801702920372292">"راهنما و بازخورد"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>، <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="SECOND">%2$s</xliff:g> • <xliff:g id="FIRST">%1$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"شماره تلفن"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"افزودن به مخاطبین"</string>
<string name="non_phone_close" msgid="2792373584950696532">"بستن"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"پیام نوشتاری"</string>
<string name="postal_address" msgid="5031809899673855074">"آدرس"</string>
<string name="ghostData_company" msgid="3873500610390675876">"شرکت"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"بخش"</string>
<string name="ghostData_title" msgid="8584897460662904533">"عنوان"</string>
<string name="label_notes" msgid="7134226125644463585">"یادداشتها"</string>
<string name="label_custom_field" msgid="4160584225306364924">"سفارشی"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 1d85767..92c9cb0 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Asetukset"</string>
<string name="menu_settings" msgid="3524924670246877187">"Asetukset"</string>
<string name="menu_help" msgid="287801702920372292">"Ohje ja palaute"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Puhelinnumero"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Lisää yhteystietoihin"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Sulje"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Tekstiviesti"</string>
<string name="postal_address" msgid="5031809899673855074">"Osoite"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Yritys"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Osasto"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Nimi"</string>
<string name="label_notes" msgid="7134226125644463585">"Muistiinpanot"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Muokattu"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 1711751..e92919f 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Paramètres"</string>
<string name="menu_settings" msgid="3524924670246877187">"Paramètres"</string>
<string name="menu_help" msgid="287801702920372292">"Aide et commentaires"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numéro de téléphone"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Ajouter aux contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Fermer"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Message texte"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresse"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Entreprise"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Service"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titre"</string>
<string name="label_notes" msgid="7134226125644463585">"Remarques"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personnalisé"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f7ee599..36e6a86 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Paramètres"</string>
<string name="menu_settings" msgid="3524924670246877187">"Paramètres"</string>
<string name="menu_help" msgid="287801702920372292">"Aide et commentaires"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numéro de téléphone"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Ajouter aux contacts"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Fermer"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresse"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Entreprise"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Service"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titre"</string>
<string name="label_notes" msgid="7134226125644463585">"Notes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personnalisé"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 690f2e7..dc62e2d 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Configuración"</string>
<string name="menu_settings" msgid="3524924670246877187">"Configuración"</string>
<string name="menu_help" msgid="287801702920372292">"Axuda e comentarios"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de teléfono"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Engadir a contactos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Pechar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensaxe de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Enderezo"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Cargo"</string>
<string name="label_notes" msgid="7134226125644463585">"Notas"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 9b2e77f..6ca308f 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"સેટિંગ"</string>
<string name="menu_settings" msgid="3524924670246877187">"સેટિંગ"</string>
<string name="menu_help" msgid="287801702920372292">"સહાય અને પ્રતિસાદ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ફોન નંબર"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"સંપર્કોમાં ઉમેરો"</string>
<string name="non_phone_close" msgid="2792373584950696532">"બંધ કરો"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ટેક્સ્ટ સંદેશ"</string>
<string name="postal_address" msgid="5031809899673855074">"સરનામું"</string>
<string name="ghostData_company" msgid="3873500610390675876">"કંપની"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"વિભાગ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"શીર્ષક"</string>
<string name="label_notes" msgid="7134226125644463585">"નોંધ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"કસ્ટમ"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 9d5b7dc..0a0ad87 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"सेटिंग"</string>
<string name="menu_settings" msgid="3524924670246877187">"सेटिंग"</string>
<string name="menu_help" msgid="287801702920372292">"सहायता और फ़ीडबैक"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"फ़ोन नंबर"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"संपर्कों में जोड़ें"</string>
<string name="non_phone_close" msgid="2792373584950696532">"बंद करें"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"लेख संदेश"</string>
<string name="postal_address" msgid="5031809899673855074">"पता"</string>
<string name="ghostData_company" msgid="3873500610390675876">"कंपनी"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"डिपार्टमेंट"</string>
<string name="ghostData_title" msgid="8584897460662904533">"शीर्षक"</string>
<string name="label_notes" msgid="7134226125644463585">"नोट"</string>
<string name="label_custom_field" msgid="4160584225306364924">"पसंद के मुताबिक"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0e39456..78b88bb 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Postavke"</string>
<string name="menu_settings" msgid="3524924670246877187">"Postavke"</string>
<string name="menu_help" msgid="287801702920372292">"Pomoć i povratne informacije"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Broj telefona"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Dodaj kontaktima"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zatvori"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"Tekstualna poruka"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Tvrtka"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Odjel"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Naslov"</string>
<string name="label_notes" msgid="7134226125644463585">"Bilješke"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Prilagođeno"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index b948140..f5030f9 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Beállítások"</string>
<string name="menu_settings" msgid="3524924670246877187">"Beállítások"</string>
<string name="menu_help" msgid="287801702920372292">"Súgó és visszajelzés"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonszám"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Hozzáadása a névjegyekhez"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Bezárás"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Szöveges üzenet"</string>
<string name="postal_address" msgid="5031809899673855074">"Cím"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Cég"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Részleg"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Beosztás"</string>
<string name="label_notes" msgid="7134226125644463585">"Jegyzetek"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Egyéni"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index c33f758..6d45f64 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Կարգավորումներ"</string>
<string name="menu_settings" msgid="3524924670246877187">"Կարգավորումներ"</string>
<string name="menu_help" msgid="287801702920372292">"Օգնություն և կարծիք"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Հեռախոսահամար"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Ավելացնել կոնտակտներում"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Փակել"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Տեքստային հաղորդագրություն"</string>
<string name="postal_address" msgid="5031809899673855074">"Հասցե"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Ընկերություն"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Բաժին"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Պաշտոն"</string>
<string name="label_notes" msgid="7134226125644463585">"Գրառումներ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Հատուկ"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index fb1903a..f59ff31 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Setelan"</string>
<string name="menu_settings" msgid="3524924670246877187">"Setelan"</string>
<string name="menu_help" msgid="287801702920372292">"Bantuan & masukan"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Nomor telepon"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Tambahkan ke kontak"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Tutup"</string>
@@ -289,7 +290,7 @@
<string name="clearFrequentsConfirmation" msgid="2120741757522063938">"Anda akan menghapus daftar yang sering dihubungi pada aplikasi Kontak dan Ponsel, serta memaksa aplikasi email untuk mempelajari preferensi penanganan dari awal."</string>
<string name="clearFrequentsProgress_title" msgid="8271935295080659743">"Menghapus yang sering dihubungi..."</string>
<string name="status_available" msgid="8081626460682959098">"Ada"</string>
- <string name="status_away" msgid="2677693194455091315">"Tidak di Tempat"</string>
+ <string name="status_away" msgid="2677693194455091315">"Pergi"</string>
<string name="status_busy" msgid="2759339190187696727">"Sibuk"</string>
<string name="local_invisible_directory" msgid="5936234374879813300">"Lainnya"</string>
<string name="directory_search_label" msgid="2602118204885565153">"Direktori"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Pesan teks"</string>
<string name="postal_address" msgid="5031809899673855074">"Alamat"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Perusahaan"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departemen"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Jabatan"</string>
<string name="label_notes" msgid="7134226125644463585">"Catatan"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Khusus"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index d2986bd..64427df 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Stillingar"</string>
<string name="menu_settings" msgid="3524924670246877187">"Stillingar"</string>
<string name="menu_help" msgid="287801702920372292">"Hjálp og ábendingar"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Símanúmer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Bæta við tengiliði"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Loka"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Senda SMS-skilaboð"</string>
<string name="postal_address" msgid="5031809899673855074">"Heimilisfang"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Fyrirtæki"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Deild"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titill"</string>
<string name="label_notes" msgid="7134226125644463585">"Glósur"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Sérsniðið"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 4396eec..e3ae680 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -66,16 +66,16 @@
<string name="contacts_deleted_two_named_toast" msgid="6908761620236434380">"<xliff:g id="NAME_0">%1$s</xliff:g> e <xliff:g id="NAME_1">%2$s</xliff:g> eliminati"</string>
<string name="contacts_deleted_many_named_toast" msgid="4879197068250337298">"<xliff:g id="NAME_0">%1$s</xliff:g>, <xliff:g id="NAME_1">%2$s</xliff:g>, <xliff:g id="NAME_2">%3$s</xliff:g>… eliminati"</string>
<plurals name="contacts_deleted_toast" formatted="false" msgid="198534700386623765">
+ <item quantity="one">Contacts deleted</item>
<item quantity="other">Contatti eliminati</item>
- <item quantity="one">Contatto eliminato</item>
</plurals>
<plurals name="contacts_count" formatted="false" msgid="8804860300387044572">
+ <item quantity="one"><xliff:g id="COUNT_1">%d</xliff:g> contacts</item>
<item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> contatti</item>
- <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> contatto</item>
</plurals>
<plurals name="contacts_count_with_account" formatted="false" msgid="1025146902085751375">
+ <item quantity="one"><xliff:g id="COUNT_2">%1$d</xliff:g> contacts · <xliff:g id="ACCOUNT_3">%2$s</xliff:g></item>
<item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> contatti · <xliff:g id="ACCOUNT_3">%2$s</xliff:g></item>
- <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> contatto · <xliff:g id="ACCOUNT_1">%2$s</xliff:g></item>
</plurals>
<string name="title_from_google" msgid="2554633992366572820">"Di Google"</string>
<string name="title_from_other_accounts" msgid="7813596336566711843">"Da <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
@@ -137,8 +137,8 @@
<string name="menu_add_contact" msgid="5822356185421997656">"Aggiungi ai contatti"</string>
<string name="menu_add_contacts" msgid="7114262784903366463">"Aggiungi"</string>
<plurals name="title_share_via" formatted="false" msgid="3868648642107664607">
+ <item quantity="one">Share contacts via</item>
<item quantity="other">Condividi contatti tramite</item>
- <item quantity="one">Condividi contatto tramite</item>
</plurals>
<string name="dialog_new_group_account" msgid="4326402875327788728">"Scegli account"</string>
<string name="group_name_dialog_insert_title" msgid="5495572488613178283">"Crea etichetta"</string>
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Impostazioni"</string>
<string name="menu_settings" msgid="3524924670246877187">"Impostazioni"</string>
<string name="menu_help" msgid="287801702920372292">"Guida e feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numero di telefono"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Aggiungi a contatti"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Chiudi"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Messaggio di testo"</string>
<string name="postal_address" msgid="5031809899673855074">"Indirizzo"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Società"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Reparto"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titolo"</string>
<string name="label_notes" msgid="7134226125644463585">"Note"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizzato"</string>
@@ -379,12 +381,12 @@
<string name="import_from_sim" msgid="7825280799813847991">"Scheda SIM"</string>
<string name="import_from_sim_summary_fmt" msgid="4234771828377985321">"SIM <xliff:g id="SIM_NAME">%1$s</xliff:g>"</string>
<plurals name="import_from_sim_secondary_contact_count_fmt" formatted="false" msgid="8737770002554878728">
+ <item quantity="one">%1$d contacts</item>
<item quantity="other">%1$d contatti</item>
- <item quantity="one">1 contatto</item>
</plurals>
<plurals name="import_from_sim_secondary_template" formatted="false" msgid="6698670511061586532">
+ <item quantity="one"><xliff:g id="COUNT_2">^1</xliff:g> contacts • <xliff:g id="PHONE_NUMBER_3">^2</xliff:g></item>
<item quantity="other"><xliff:g id="COUNT_2">^1</xliff:g> contatti • <xliff:g id="PHONE_NUMBER_3">^2</xliff:g></item>
- <item quantity="one"><xliff:g id="COUNT_0">^1</xliff:g> contatto • <xliff:g id="PHONE_NUMBER_1">^2</xliff:g></item>
</plurals>
<string name="import_from_vcf_file" msgid="6776403212804361301">"File .vcf"</string>
<string name="nothing_to_import_message" msgid="2594519620375509783">"Niente da importare"</string>
@@ -489,8 +491,8 @@
<string name="sim_import_empty_message" msgid="7238368542566545854">"Nessun contatto presente nella SIM"</string>
<string name="sim_import_contact_exists_toast" msgid="8423212007841229749">"Contatto già esistente nell\'elenco"</string>
<plurals name="sim_import_success_toast_fmt" formatted="false" msgid="422539156156042210">
+ <item quantity="one"><xliff:g id="COUNT">%d</xliff:g> SIM contacts imported</item>
<item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contatti della SIM importati</item>
- <item quantity="one">1 contatto della SIM importato</item>
</plurals>
<string name="sim_import_failed_toast" msgid="358117391138073786">"Impossibile importare i contatti della SIM"</string>
<string name="sim_import_title" msgid="8202961146093040684">"Importa da SIM"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 191024d..8c4793b 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"הגדרות"</string>
<string name="menu_settings" msgid="3524924670246877187">"הגדרות"</string>
<string name="menu_help" msgid="287801702920372292">"עזרה ומשוב"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"מספר טלפון"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"הוסף לאנשי הקשר"</string>
<string name="non_phone_close" msgid="2792373584950696532">"סגור"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"הודעת טקסט"</string>
<string name="postal_address" msgid="5031809899673855074">"כתובת"</string>
<string name="ghostData_company" msgid="3873500610390675876">"חברה"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"מחלקה"</string>
<string name="ghostData_title" msgid="8584897460662904533">"שם"</string>
<string name="label_notes" msgid="7134226125644463585">"הערות"</string>
<string name="label_custom_field" msgid="4160584225306364924">"מותאם אישית"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 7293c44..30221ef 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"設定"</string>
<string name="menu_settings" msgid="3524924670246877187">"設定"</string>
<string name="menu_help" msgid="287801702920372292">"ヘルプとフィードバック"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>、<xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"電話番号"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"連絡先に追加"</string>
<string name="non_phone_close" msgid="2792373584950696532">"閉じる"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"テキストメッセージ"</string>
<string name="postal_address" msgid="5031809899673855074">"住所"</string>
<string name="ghostData_company" msgid="3873500610390675876">"会社"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"部署"</string>
<string name="ghostData_title" msgid="8584897460662904533">"役職"</string>
<string name="label_notes" msgid="7134226125644463585">"メモ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"カスタム"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index cfde2ab..a3f008e 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"პარამეტრები"</string>
<string name="menu_settings" msgid="3524924670246877187">"პარამეტრები"</string>
<string name="menu_help" msgid="287801702920372292">"დახმარება/უკუკავშირი"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ტელეფონის ნომერი"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"კონტაქტებში დამატება"</string>
<string name="non_phone_close" msgid="2792373584950696532">"დახურვა"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ტექსტური შეტყობინება"</string>
<string name="postal_address" msgid="5031809899673855074">"მისამართი"</string>
<string name="ghostData_company" msgid="3873500610390675876">"კომპანია"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"განყოფილება"</string>
<string name="ghostData_title" msgid="8584897460662904533">"სათაური"</string>
<string name="label_notes" msgid="7134226125644463585">"შენიშვნები"</string>
<string name="label_custom_field" msgid="4160584225306364924">"მორგებული"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 5b899ea..d4f59c6 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Параметрлер"</string>
<string name="menu_settings" msgid="3524924670246877187">"Параметрлер"</string>
<string name="menu_help" msgid="287801702920372292">"Анықтама және пікір"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Телефон нөмірі"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Контактілерге қосу"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Жабу"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Мәтіндік хабар"</string>
<string name="postal_address" msgid="5031809899673855074">"Мекенжай"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компания"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Бөлім"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Атауы"</string>
<string name="label_notes" msgid="7134226125644463585">"Ескертпелер"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Арнаулы"</string>
@@ -503,7 +505,7 @@
<string name="turn_auto_sync_on_dialog_confirm_btn" msgid="5575717918836806519">"Қосу"</string>
<string name="connection_error_message" msgid="7446131881946138093">"Байланыс жоқ"</string>
<string name="single_sim_display_label" msgid="264062966309455515">"SIM"</string>
- <string name="show_more_content_description" msgid="6298277298495491712">"Тағы көрсету"</string>
+ <string name="show_more_content_description" msgid="6298277298495491712">"Тағы"</string>
<string name="importing_sim_finished_title" msgid="6436721150882268416">"SIM картасын импорттау аяқталды"</string>
<string name="importing_sim_failed_title" msgid="1046154274170241788">"Импорттау мүмкін болмады"</string>
<string name="importing_sim_failed_message" msgid="55568522164349044">"Контактілерді SIM картасынан импорттау мүмкін болмады"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index f37834a..1d875e1 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ការកំណត់"</string>
<string name="menu_settings" msgid="3524924670246877187">"ការកំណត់"</string>
<string name="menu_help" msgid="287801702920372292">"ជំនួយ និង មតិស្ថាបនា"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"លេខទូរសព្ទ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"បញ្ចូលទៅក្នុងទំនាក់ទំនង"</string>
<string name="non_phone_close" msgid="2792373584950696532">"បិទ"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"សារអត្ថបទ"</string>
<string name="postal_address" msgid="5031809899673855074">"អាសយដ្ឋាន"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ក្រុមហ៊ុន"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ផ្នែក"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ចំណងជើង"</string>
<string name="label_notes" msgid="7134226125644463585">"ចំណាំ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ផ្ទាល់ខ្លួន"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 87d629c..f867e39 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="menu_settings" msgid="3524924670246877187">"ಸೆಟ್ಟಿಂಗ್ಗಳು"</string>
<string name="menu_help" msgid="287801702920372292">"ಸಹಾಯ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ಫೋನ್ ಸಂಖ್ಯೆ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"ಸಂಪರ್ಕಗಳಿಗೆ ಸೇರಿಸು"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ಮುಚ್ಚು"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ಪಠ್ಯ ಸಂದೇಶ"</string>
<string name="postal_address" msgid="5031809899673855074">"ವಿಳಾಸ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ಕಂಪನಿ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ವಿಭಾಗ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ಶೀರ್ಷಿಕೆ"</string>
<string name="label_notes" msgid="7134226125644463585">"ಟಿಪ್ಪಣಿಗಳು"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ಕಸ್ಟಮ್"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 3641817..f265a5e 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"설정"</string>
<string name="menu_settings" msgid="3524924670246877187">"설정"</string>
<string name="menu_help" msgid="287801702920372292">"고객센터"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"전화번호"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"주소록에 추가"</string>
<string name="non_phone_close" msgid="2792373584950696532">"닫기"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"문자 메시지"</string>
<string name="postal_address" msgid="5031809899673855074">"주소"</string>
<string name="ghostData_company" msgid="3873500610390675876">"회사"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"부서"</string>
<string name="ghostData_title" msgid="8584897460662904533">"직함"</string>
<string name="label_notes" msgid="7134226125644463585">"메모"</string>
<string name="label_custom_field" msgid="4160584225306364924">"맞춤"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 71a9e8e..d56f205 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Жөндөөлөр"</string>
<string name="menu_settings" msgid="3524924670246877187">"Жөндөөлөр"</string>
<string name="menu_help" msgid="287801702920372292">"Жардам жана пикир билдирүү"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g> , <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Телефон номери"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Байланыштарга кошуу"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Жабуу"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS билдирүү жөнөтүү"</string>
<string name="postal_address" msgid="5031809899673855074">"Почта дареги"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компания"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Бөлүм"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Аталышы"</string>
<string name="label_notes" msgid="7134226125644463585">"Эскертүүлөр"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Өздүк"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 27c9e53..fb89778 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ການຕັ້ງຄ່າ"</string>
<string name="menu_settings" msgid="3524924670246877187">"ການຕັ້ງຄ່າ"</string>
<string name="menu_help" msgid="287801702920372292">"ຊ່ວຍເຫຼືອ ແລະ ຄຳຕິຊົມ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ເບີໂທລະສັບ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"ເພີ່ມໃສ່ລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ປິດ"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ຂໍ້ຄວາມ"</string>
<string name="postal_address" msgid="5031809899673855074">"ທີ່ຢູ່"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ບໍລິສັດ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ພະແນກ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ຕຳແໜ່ງໜ້າທີ່"</string>
<string name="label_notes" msgid="7134226125644463585">"ໝາຍເຫດ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ກຳນົດເອງ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 4aa209a..d1a5c15 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Nustatymai"</string>
<string name="menu_settings" msgid="3524924670246877187">"Nustatymai"</string>
<string name="menu_help" msgid="287801702920372292">"Pagalba ir atsiliepimai"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"„<xliff:g id="COMPANY_0">%2$s</xliff:g>“, „<xliff:g id="COMPANY_1">%1$s</xliff:g>“"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"„<xliff:g id="FIRST">%1$s</xliff:g>“ • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"„<xliff:g id="COMPANY">%1$s</xliff:g>“ • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefono numeris"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Pridėti prie kontaktų"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Uždaryti"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Teksto pranešimas"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresas"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Įmonė"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Skyrius"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Pareigos"</string>
<string name="label_notes" msgid="7134226125644463585">"Pastabos"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Tinkintas"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 89fdbb8..2f5e9d3 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Iestatījumi"</string>
<string name="menu_settings" msgid="3524924670246877187">"Iestatījumi"</string>
<string name="menu_help" msgid="287801702920372292">"Palīdzība un atsauksmes"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Tālruņa numurs"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Piev. kontaktpersonām"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Aizvērt"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"Īsziņa"</string>
<string name="postal_address" msgid="5031809899673855074">"Adrese"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Uzņēmums"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Nodaļa"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Nosaukums"</string>
<string name="label_notes" msgid="7134226125644463585">"Piezīmes"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Pielāgota"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index c082cb3..b5d0c38 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Поставки"</string>
<string name="menu_settings" msgid="3524924670246877187">"Поставки"</string>
<string name="menu_help" msgid="287801702920372292">"Помош и повратни информации"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Телефонски број"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Додај во контакти"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Затвори"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS-порака"</string>
<string name="postal_address" msgid="5031809899673855074">"Адреса"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компанија"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Оддел"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Наслов"</string>
<string name="label_notes" msgid="7134226125644463585">"Белешки"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Приспособено"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index b674f5c..3c0570f 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ക്രമീകരണം"</string>
<string name="menu_settings" msgid="3524924670246877187">"ക്രമീകരണം"</string>
<string name="menu_help" msgid="287801702920372292">"സഹായവും ഫീഡ്ബാക്കും"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ഫോൺ നമ്പർ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"കോൺടാക്റ്റുകളിൽ ചേർക്കുക"</string>
<string name="non_phone_close" msgid="2792373584950696532">"അടയ്ക്കുക"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"വാചക സന്ദേശം"</string>
<string name="postal_address" msgid="5031809899673855074">"വിലാസം"</string>
<string name="ghostData_company" msgid="3873500610390675876">"കമ്പനി"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ഡിപ്പാർട്ട്മെന്റ്"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ശീർഷകം"</string>
<string name="label_notes" msgid="7134226125644463585">"കുറിപ്പുകള്"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ഇഷ്ടാനുസൃതം"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index c1fdab5..8ebb52a 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Тохиргоо"</string>
<string name="menu_settings" msgid="3524924670246877187">"Тохиргоо"</string>
<string name="menu_help" msgid="287801702920372292">"Тусламж, санал хүсэлт"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Утасны дугаар"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Харилцагчдад нэмэх"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Хаах"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Мессеж"</string>
<string name="postal_address" msgid="5031809899673855074">"Хаяг"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компани"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Хэлтэс"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Гарчиг"</string>
<string name="label_notes" msgid="7134226125644463585">"Тэмдэглэл"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Тусгай"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index e7fbe18..f2f7dc0 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"सेटिंग्ज"</string>
<string name="menu_settings" msgid="3524924670246877187">"सेटिंग्ज"</string>
<string name="menu_help" msgid="287801702920372292">"मदत आणि अभिप्राय"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"फोन नंबर"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"संपर्कांमध्ये जोडा"</string>
<string name="non_phone_close" msgid="2792373584950696532">"बंद करा"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"मजकूर संदेश"</string>
<string name="postal_address" msgid="5031809899673855074">"पत्ता"</string>
<string name="ghostData_company" msgid="3873500610390675876">"कंपनी"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"विभाग"</string>
<string name="ghostData_title" msgid="8584897460662904533">"शीर्षक"</string>
<string name="label_notes" msgid="7134226125644463585">"टिपा"</string>
<string name="label_custom_field" msgid="4160584225306364924">"सानुकूल"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index dffb9f4..5dd3959 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Tetapan"</string>
<string name="menu_settings" msgid="3524924670246877187">"Tetapan"</string>
<string name="menu_help" msgid="287801702920372292">"Bantuan & maklum balas"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Nombor telefon"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Tambah ke kenalan"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Tutup"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mesej teks"</string>
<string name="postal_address" msgid="5031809899673855074">"Alamat"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Syarikat"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Jabatan"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Tajuk"</string>
<string name="label_notes" msgid="7134226125644463585">"Nota"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Tersuai"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 4061d17..3d0be10 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ဆက်တင်များ"</string>
<string name="menu_settings" msgid="3524924670246877187">"ဆက်တင်များ"</string>
<string name="menu_help" msgid="287801702920372292">"အကူအညီနှင့် အကြံပြုချက်"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ဖုန်းနံပါတ်"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"လိပ်စာများထဲသို့ ထည့်ပါ"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ပိတ်ရန်"</string>
@@ -239,7 +240,7 @@
<string name="menu_title_filters" msgid="349866121417914494">"အကောင့်များ"</string>
<string name="hamburger_feature_highlight_header" msgid="1786641424099282909">"အကြံပြုချက်များ"</string>
<string name="hamburger_feature_highlight_body" msgid="782935036630531528">"သင်၏အဆက်အသွယ်များကို စနစ်တကျနှင့် အသုံးဝင်စွာ ထားလိုက်ပါ"</string>
- <string name="undo" msgid="2446931036220975026">"တစ်ဆင့်နောက်ပြန်ရန်"</string>
+ <string name="undo" msgid="2446931036220975026">"နောက်ပြန်ရန်"</string>
<string name="call_custom" msgid="2844900154492073207">"<xliff:g id="CUSTOM_LABEL">%s</xliff:g> ထံ ဖုန်းခေါ်ရန်"</string>
<string name="call_home" msgid="2443904771140750492">"အိမ်ဖုန်းနံပါတ်ကို ခေါ်ရန်"</string>
<string name="call_mobile" msgid="6504312789160309832">"မိုဘိုင်းနံပါတ်ကို ခေါ်ရန်"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"စာသားမက်ဆေ့ဂျ်"</string>
<string name="postal_address" msgid="5031809899673855074">"လိပ်စာ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ကုမ္ပဏီ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ဌာန"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ခေါင်းစဉ်"</string>
<string name="label_notes" msgid="7134226125644463585">"မှတ်စုများ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"စိတ်ကြိုက်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 1493a1d..9cf7425 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Innstillinger"</string>
<string name="menu_settings" msgid="3524924670246877187">"Innstillinger"</string>
<string name="menu_help" msgid="287801702920372292">"Hjelp og tilbakemelding"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonnummer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Legg til i kontakter"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Lukk"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Tekstmelding"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresse"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Firma"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Avdeling"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Tittel"</string>
<string name="label_notes" msgid="7134226125644463585">"Notater"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Spesialtilpasset"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 172a0b3..c670886 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"सेटिङहरू"</string>
<string name="menu_settings" msgid="3524924670246877187">"सेटिङहरू"</string>
<string name="menu_help" msgid="287801702920372292">"मद्दत & प्रतिक्रिया"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g> , <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"फोन नम्बर"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"सम्पर्कहरूमा जोड्नुहोस्"</string>
<string name="non_phone_close" msgid="2792373584950696532">"बन्द गर्नुहोस्"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"टेक्स्ट म्यासेज"</string>
<string name="postal_address" msgid="5031809899673855074">"ठेगाना"</string>
<string name="ghostData_company" msgid="3873500610390675876">"कम्पनी"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"विभाग"</string>
<string name="ghostData_title" msgid="8584897460662904533">"शीर्षक"</string>
<string name="label_notes" msgid="7134226125644463585">"टिप्पणीहरू"</string>
<string name="label_custom_field" msgid="4160584225306364924">"आफू अनुकूल"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 2f5ed8f..2e8c809 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Instellingen"</string>
<string name="menu_settings" msgid="3524924670246877187">"Instellingen"</string>
<string name="menu_help" msgid="287801702920372292">"Hulp en feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefoonnummer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Toevoegen aan contacten"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Sluiten"</string>
@@ -191,7 +192,7 @@
<string name="contact_editor_prompt_multiple_accounts" msgid="1543322760761168351">"Kies een standaardaccount voor nieuwe contacten"</string>
<string name="contact_editor_title_new_contact" msgid="7534775011591770343">"Nieuw contact maken"</string>
<string name="contact_editor_title_existing_contact" msgid="3647774955741654029">"Contact bewerken"</string>
- <string name="contact_editor_title_read_only_contact" msgid="5494810291515292596">"Alleen weergeven"</string>
+ <string name="contact_editor_title_read_only_contact" msgid="5494810291515292596">"Alleen bekijken"</string>
<string name="contact_editor_pick_raw_contact_to_edit_dialog_title" msgid="4478782370280424187">"Contact kiezen om te bewerken"</string>
<string name="contact_editor_pick_linked_contact_dialog_title" msgid="3332134735168016293">"Gelinkte contacten"</string>
<string name="contact_editor_add_linked_contact" msgid="2895453741206196138">"Toevoegen"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Sms"</string>
<string name="postal_address" msgid="5031809899673855074">"Adres"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Bedrijf"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Afdeling"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titel"</string>
<string name="label_notes" msgid="7134226125644463585">"Opmerkingen"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Aangepast"</string>
@@ -341,9 +343,9 @@
<string name="postal_region" msgid="6130239447563491435">"Staat"</string>
<string name="postal_postcode" msgid="33077708757232659">"Postcode"</string>
<string name="postal_country" msgid="6642804283917549861">"Land"</string>
- <string name="map_home" msgid="2169053372466501148">"Woonadres weergeven"</string>
- <string name="map_work" msgid="8296916987749726461">"Werkadres weergeven"</string>
- <string name="map_other" msgid="4009931029322619674">"Adres weergeven"</string>
+ <string name="map_home" msgid="2169053372466501148">"Woonadres bekijken"</string>
+ <string name="map_work" msgid="8296916987749726461">"Werkadres bekijken"</string>
+ <string name="map_other" msgid="4009931029322619674">"Adres bekijken"</string>
<string name="map_custom" msgid="7797812861927817335">"Adres voor <xliff:g id="CUSTOM_LABEL">%s</xliff:g> bekijken"</string>
<string name="chat_aim" msgid="2044861410748519265">"Chatten via AIM"</string>
<string name="chat_msn" msgid="4733206223124506247">"Chatten via Windows Live"</string>
@@ -355,9 +357,9 @@
<string name="chat_jabber" msgid="1097960594943864847">"Chatten via Jabber"</string>
<string name="chat" msgid="8390862712584830532">"Chat"</string>
<string name="description_minus_button" msgid="1305985971158054217">"verwijderen"</string>
- <string name="expand_name_fields_description" msgid="6059558159338959487">"Meer naamvelden weergeven"</string>
+ <string name="expand_name_fields_description" msgid="6059558159338959487">"Meer naamvelden tonen"</string>
<string name="collapse_name_fields_description" msgid="7950435675716414477">"Naamvelden samenvouwen"</string>
- <string name="expand_phonetic_name_fields_description" msgid="7414340689396399173">"Meer fonetische naamvelden weergeven"</string>
+ <string name="expand_phonetic_name_fields_description" msgid="7414340689396399173">"Meer fonetische naamvelden tonen"</string>
<string name="collapse_phonetic_name_fields_description" msgid="4614902922362144094">"Fonetische naamvelden samenvouwen"</string>
<string name="expand_fields_description" msgid="8604448646798943909">"Uitvouwen"</string>
<string name="collapse_fields_description" msgid="3213872920491992960">"Samenvouwen"</string>
@@ -431,7 +433,7 @@
<string name="export_to_vcf_file" msgid="3096479544575798192">"Exporteren naar VCF"</string>
<string name="display_options_sort_list_by" msgid="4333658089057400431">"Sorteren op"</string>
<string name="display_options_phonetic_name_fields" msgid="1857564544755287298">"Fonetische naam"</string>
- <string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"Altijd weergeven"</string>
+ <string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"Altijd tonen"</string>
<string name="editor_options_hide_phonetic_names_if_empty" msgid="2693314301550366143">"Verbergen indien leeg"</string>
<string name="display_options_sort_by_given_name" msgid="893781924536349248">"Voornaam"</string>
<string name="display_options_sort_by_family_name" msgid="1282763552330910876">"Achternaam"</string>
@@ -482,7 +484,7 @@
<string name="description_search_video_call" msgid="1768558141309418755">"Videogesprek starten"</string>
<string name="description_delete_contact" msgid="8110643050235441400">"Verwijderen"</string>
<string name="description_no_name_header" msgid="8596201864512339003">"Weglatingsteken"</string>
- <string name="dynamic_shortcut_disabled_message" msgid="8770462908102469878">"Deze snelkoppeling is uitgeschakeld"</string>
+ <string name="dynamic_shortcut_disabled_message" msgid="8770462908102469878">"Deze snelkoppeling staat uit"</string>
<string name="dynamic_shortcut_contact_removed_message" msgid="8331735243566193974">"Contact is verwijderd"</string>
<string name="sim_import_button_text" msgid="2845608246304396009">"Importeren"</string>
<string name="sim_import_title_none_selected" msgid="3527680774575468781">"Contacten selecteren"</string>
@@ -495,12 +497,12 @@
<string name="sim_import_failed_toast" msgid="358117391138073786">"Kan contacten op simkaart niet importeren"</string>
<string name="sim_import_title" msgid="8202961146093040684">"Importeren van simkaart"</string>
<string name="sim_import_cancel_content_description" msgid="4746065462808862682">"Annuleren"</string>
- <string name="auto_sync_off" msgid="7039314601316227882">"Automatisch synchroniseren is uitgeschakeld. Tik om in te schakelen."</string>
+ <string name="auto_sync_off" msgid="7039314601316227882">"Automatisch synchroniseren staat uit. Tik om aan te zetten."</string>
<string name="dismiss_sync_alert" msgid="4057176963960104786">"Sluiten"</string>
- <string name="account_sync_off" msgid="6187683798342006021">"Accountsynchronisatie is uitgeschakeld. Tik om in te schakelen."</string>
- <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"Automatisch synchroniseren inschakelen?"</string>
+ <string name="account_sync_off" msgid="6187683798342006021">"Accountsynchronisatie staat uit. Tik om aan te zetten."</string>
+ <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"Automatisch synchroniseren aanzetten?"</string>
<string name="turn_auto_sync_on_dialog_body" msgid="5386810641905184682">"Wijzigingen die je aanbrengt in alle apps en accounts, niet alleen in Google Contacten, worden gesynchroniseerd tussen internet en je apparaten."</string>
- <string name="turn_auto_sync_on_dialog_confirm_btn" msgid="5575717918836806519">"Inschakelen"</string>
+ <string name="turn_auto_sync_on_dialog_confirm_btn" msgid="5575717918836806519">"Aanzetten"</string>
<string name="connection_error_message" msgid="7446131881946138093">"Geen verbinding"</string>
<string name="single_sim_display_label" msgid="264062966309455515">"Simkaart"</string>
<string name="show_more_content_description" msgid="6298277298495491712">"Meer tonen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index aa34808..79742dc 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -27,7 +27,7 @@
<string name="contactPickerActivityTitle" msgid="1842634991247618890">"ଜଣେ ଯୋଗାଯୋଗଙ୍କୁ ବାଛନ୍ତୁ"</string>
<string name="groupMemberPickerActivityTitle" msgid="8745419913947478380">"ଚୟନ କରନ୍ତୁ"</string>
<string name="header_entry_contact_list_adapter_header_title" msgid="4098233078586958762">"ନୂଆ ଯୋଗାଯୋଗ ତିଆରି କରନ୍ତୁ"</string>
- <string name="searchHint" msgid="1487501532610025473">"ଯୋଗାଯୋଗଙ୍କୁ ଖୋଜନ୍ତୁ"</string>
+ <string name="searchHint" msgid="1487501532610025473">"ଯୋଗାଯୋଗଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ"</string>
<string name="menu_addStar" msgid="4903812703386825130">"ପସନ୍ଦଦାର୍ରେ ଯୋଡ଼ନ୍ତୁ"</string>
<string name="menu_removeStar" msgid="3707373931808303701">"ପସନ୍ଦଦାର୍ରୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
<string name="description_action_menu_remove_star" msgid="4044390281910122890">"ପସନ୍ଦଦାର୍ରୁ କାଢ଼ିଦିଆଗଲା"</string>
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ସେଟିଙ୍ଗ"</string>
<string name="menu_settings" msgid="3524924670246877187">"ସେଟିଙ୍ଗ"</string>
<string name="menu_help" msgid="287801702920372292">"ସହାୟତା ଓ ମତାମତ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ଫୋନ୍ ନମ୍ଵର୍"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"ଯୋଗାଯୋଗରେ ଯୋଡ଼ନ୍ତୁ"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ବନ୍ଦ କରନ୍ତୁ"</string>
@@ -182,7 +183,7 @@
<string name="cancel_confirmation_dialog_cancel_editing_button" msgid="8280294641821133477">"ଖାରଜ କରନ୍ତୁ"</string>
<string name="cancel_confirmation_dialog_keep_editing_button" msgid="7117943783437253341">"ବାତିଲ୍ କରନ୍ତୁ"</string>
<string name="leave_customize_confirmation_dialog_message" msgid="5330853530872707231">"କଷ୍ଟମାଇଜ୍ କରିବା ଖାରଜ କରିବେ?"</string>
- <string name="enter_contact_name" msgid="521859148893732679">"ଯୋଗାଯୋଗଙ୍କୁ ଖୋଜନ୍ତୁ"</string>
+ <string name="enter_contact_name" msgid="521859148893732679">"ଯୋଗାଯୋଗଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ"</string>
<string name="title_edit_group" msgid="4246193439931854759">"ଯୋଗାଯୋଗଙ୍କୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
<string name="local_profile_title" msgid="1613784248702623410">"ମୋ ସ୍ଥାନୀୟ ପ୍ରୋଫାଇଲ୍"</string>
<string name="external_profile_title" msgid="2706282819025406927">"ମୋ <xliff:g id="EXTERNAL_SOURCE">%1$s</xliff:g> ପ୍ରୋଫାଇଲ୍"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"ଠିକଣା"</string>
<string name="ghostData_company" msgid="3873500610390675876">"କମ୍ପାନୀ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ବିଭାଗ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ଟାଇଟଲ୍"</string>
<string name="label_notes" msgid="7134226125644463585">"ନୋଟ୍"</string>
<string name="label_custom_field" msgid="4160584225306364924">"କଷ୍ଟମ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 6001028..a6f0d39 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ਸੈਟਿੰਗਾਂ"</string>
<string name="menu_settings" msgid="3524924670246877187">"ਸੈਟਿੰਗਾਂ"</string>
<string name="menu_help" msgid="287801702920372292">"ਮਦਦ ਅਤੇ ਵਿਚਾਰ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ਫ਼ੋਨ ਨੰਬਰ"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"ਸੰਪਰਕਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ਬੰਦ ਕਰੋ"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ਲਿਖਤ ਸੁਨੇਹਾ"</string>
<string name="postal_address" msgid="5031809899673855074">"ਪਤਾ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"ਕੰਪਨੀ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"ਵਿਭਾਗ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ਸਿਰਲੇਖ"</string>
<string name="label_notes" msgid="7134226125644463585">"ਨੋਟ-ਕਥਨ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"ਵਿਉਂਤਬੱਧ"</string>
@@ -369,10 +371,10 @@
<string name="list_filter_single" msgid="6003845379327432129">"ਸੰਪਰਕ"</string>
<string name="display_ungrouped" msgid="4823012484407759332">"ਹੋਰ ਸਾਰੇ ਸੰਪਰਕ"</string>
<string name="display_all_contacts" msgid="1281067776483704512">"ਸਾਰੇ ਸੰਪਰਕ"</string>
- <string name="menu_sync_remove" msgid="7523335046562082188">"ਸਮਕਾਲੀਕਰਨ ਸਮੂਹ ਹਟਾਓ"</string>
- <string name="dialog_sync_add" msgid="8012361965908515959">"ਸਮਕਾਲੀਕਰਨ ਸਮੂਹ ਸ਼ਾਮਲ ਕਰੋ"</string>
- <string name="display_more_groups" msgid="8398232980355188133">"ਹੋਰ ਸਮੂਹ…"</string>
- <string name="display_warn_remove_ungrouped" msgid="522866344738506017">"ਸਮਕਾਲੀਕਰਨ ਵਿੱਚੋਂ \"<xliff:g id="GROUP">%s</xliff:g>\" ਨੂੰ ਹਟਾਉਣ ਨਾਲ ਸਮਕਾਲੀਕਰਨ ਤੋਂ ਕੋਈ ਵੀ ਅਣ-ਸਮੂਹਬੱਧ ਕੀਤੇ ਸੰਪਰਕ ਵੀ ਹਟ ਜਾਣਗੇ।"</string>
+ <string name="menu_sync_remove" msgid="7523335046562082188">"ਸਿੰਕ ਸਮੂਹ ਹਟਾਓ"</string>
+ <string name="dialog_sync_add" msgid="8012361965908515959">"ਸਿੰਕ ਸਮੂਹ ਸ਼ਾਮਲ ਕਰੋ"</string>
+ <string name="display_more_groups" msgid="8398232980355188133">"ਹੋਰ ਗਰੁੱਪ…"</string>
+ <string name="display_warn_remove_ungrouped" msgid="522866344738506017">"ਸਿੰਕ ਵਿੱਚੋਂ \"<xliff:g id="GROUP">%s</xliff:g>\" ਨੂੰ ਹਟਾਉਣ ਨਾਲ ਸਿੰਕ ਤੋਂ ਕੋਈ ਵੀ ਅਣ-ਸਮੂਹਬੱਧ ਕੀਤੇ ਸੰਪਰਕ ਵੀ ਹਟ ਜਾਣਗੇ।"</string>
<string name="savingDisplayGroups" msgid="6779839417901711381">"ਡਿਸਪਲੇ ਵਿਕਲਪਾਂ ਨੂੰ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
<string name="listCustomView" msgid="5782275477737032610">"ਵਿਸ਼ੇਸ਼-ਵਿਉਂਤਬੱਧ ਕੀਤਾ ਦ੍ਰਿਸ਼"</string>
<string name="dialog_new_contact_account" msgid="5652018124788855057">"ਆਯਾਤ ਕੀਤੇ ਸੰਪਰਕਾਂ ਨੂੰ ਇਸ ਵਿੱਚ ਰੱਖਿਅਤ ਕਰੋ:"</string>
@@ -462,7 +464,7 @@
<string name="contact_status_update_attribution" msgid="5051874518046969847">"<xliff:g id="SOURCE">%1$s</xliff:g> ਦੇ ਰਾਹੀਂ"</string>
<string name="contact_status_update_attribution_with_date" msgid="2195847657702455703">"<xliff:g id="SOURCE">%2$s</xliff:g> ਦੇ ਰਾਹੀਂ <xliff:g id="DATE">%1$s</xliff:g>"</string>
<string name="action_menu_back_from_search" msgid="683765774264585732">"ਖੋਜ ਕਰਨਾ ਬੰਦ ਕਰੋ"</string>
- <string name="description_clear_search" msgid="1852934085825794095">"ਖੋਜ ਹਟਾਓ"</string>
+ <string name="description_clear_search" msgid="1852934085825794095">"ਖੋਜ ਕਲੀਅਰ ਕਰੋ"</string>
<string name="select_account_dialog_title" msgid="5047523441152129207">"ਖਾਤਾ"</string>
<string name="set_default_account" msgid="9194321110211682396">"ਕਾਲਾਂ ਲਈ ਹਮੇਸ਼ਾ ਇਹ ਵਰਤੋ"</string>
<string name="call_with_a_note" msgid="2463785820399287281">"ਕਿਸੇ ਨੋਟ-ਕਥਨ ਦੇ ਨਾਲ ਕਾਲ ਕਰੋ"</string>
@@ -495,10 +497,10 @@
<string name="sim_import_failed_toast" msgid="358117391138073786">"SIM ਸੰਪਰਕਾਂ ਨੂੰ ਆਯਾਤ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
<string name="sim_import_title" msgid="8202961146093040684">"SIM ਤੋਂ ਆਯਾਤ ਕਰੋ"</string>
<string name="sim_import_cancel_content_description" msgid="4746065462808862682">"ਰੱਦ ਕਰੋ"</string>
- <string name="auto_sync_off" msgid="7039314601316227882">"ਸਵੈ-ਸਮਕਾਲੀਕਰਨ ਬੰਦ ਹੈ। ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="auto_sync_off" msgid="7039314601316227882">"ਸਵੈ-ਸਿੰਕ ਬੰਦ ਹੈ। ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
<string name="dismiss_sync_alert" msgid="4057176963960104786">"ਖਾਰਜ ਕਰੋ"</string>
- <string name="account_sync_off" msgid="6187683798342006021">"ਖਾਤਾ ਸਮਕਾਲੀਕਰਨ ਬੰਦ ਹੈ। ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
- <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"ਕੀ ਸਵੈ-ਸਮਕਾਲੀਕਰਨ ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string>
+ <string name="account_sync_off" msgid="6187683798342006021">"ਖਾਤਾ ਸਿੰਕ ਬੰਦ ਹੈ। ਚਾਲੂ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ।"</string>
+ <string name="turn_auto_sync_on_dialog_title" msgid="3812155064863594938">"ਕੀ ਸਵੈ-ਸਿੰਕ ਚਾਲੂ ਕਰਨਾ ਹੈ?"</string>
<string name="turn_auto_sync_on_dialog_body" msgid="5386810641905184682">"ਨਾ ਸਿਰਫ਼ Google ਸੰਪਰਕਾਂ ਲਈ, ਬਲਕਿ ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਖਾਤਿਆਂ ਲਈ ਕੀਤੀਆਂ ਗਈਆਂ ਤੁਹਾਡੀਆਂ ਤਬਦੀਲੀਆਂ ਨੂੰ ਵੈੱਬ ਅਤੇ ਤੁਹਾਡੀਆਂ ਡੀਵਾਈਸਾਂ ਵਿਚਕਾਰ ਅੱਪ ਟੂ ਡੇਟ ਰੱਖਿਆ ਜਾਵੇਗਾ।"</string>
<string name="turn_auto_sync_on_dialog_confirm_btn" msgid="5575717918836806519">"ਚਾਲੂ ਕਰੋ"</string>
<string name="connection_error_message" msgid="7446131881946138093">"ਕੋਈ ਕਨੈਕਸ਼ਨ ਨਹੀਂ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 9d054ef..59dfb02 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ustawienia"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ustawienia"</string>
<string name="menu_help" msgid="287801702920372292">"Pomoc i opinie"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numer telefonu"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Dodaj do kontaktów"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zamknij"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Adres"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Firma"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Dział"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Stanowisko"</string>
<string name="label_notes" msgid="7134226125644463585">"Notatki"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Niestandardowe"</string>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 19a543e..d2d09f6 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Configurações"</string>
<string name="menu_settings" msgid="3524924670246877187">"Configurações"</string>
<string name="menu_help" msgid="287801702920372292">"Ajuda e feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de telefone"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Adicionar aos contatos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Fechar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensagem de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Endereço"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Título"</string>
<string name="label_notes" msgid="7134226125644463585">"Observações"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
@@ -343,7 +345,7 @@
<string name="postal_country" msgid="6642804283917549861">"País"</string>
<string name="map_home" msgid="2169053372466501148">"Ver endereço residencial"</string>
<string name="map_work" msgid="8296916987749726461">"Ver endereço do trabalho"</string>
- <string name="map_other" msgid="4009931029322619674">"Visualizar endereço"</string>
+ <string name="map_other" msgid="4009931029322619674">"Ver endereço"</string>
<string name="map_custom" msgid="7797812861927817335">"Ver endereço de <xliff:g id="CUSTOM_LABEL">%s</xliff:g>"</string>
<string name="chat_aim" msgid="2044861410748519265">"Bater papo usando o AIM"</string>
<string name="chat_msn" msgid="4733206223124506247">"Bater papo usando o Windows Live"</string>
@@ -429,7 +431,7 @@
<string name="caching_vcard_title" msgid="6333926052524937628">"Armazenando em cache"</string>
<string name="progress_notifier_message" msgid="8522060892889599746">"Importando <xliff:g id="CURRENT_NUMBER">%1$s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%2$s</xliff:g>: <xliff:g id="NAME">%3$s</xliff:g>"</string>
<string name="export_to_vcf_file" msgid="3096479544575798192">"Exportar p/ arquivo .vcf"</string>
- <string name="display_options_sort_list_by" msgid="4333658089057400431">"Classificar por"</string>
+ <string name="display_options_sort_list_by" msgid="4333658089057400431">"Ordenar por"</string>
<string name="display_options_phonetic_name_fields" msgid="1857564544755287298">"Nome fonético"</string>
<string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"Mostrar sempre"</string>
<string name="editor_options_hide_phonetic_names_if_empty" msgid="2693314301550366143">"Ocultar se vazio"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index a1be30f..8bf1c35 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -66,16 +66,16 @@
<string name="contacts_deleted_two_named_toast" msgid="6908761620236434380">"Contactos <xliff:g id="NAME_0">%1$s</xliff:g> e <xliff:g id="NAME_1">%2$s</xliff:g> eliminados"</string>
<string name="contacts_deleted_many_named_toast" msgid="4879197068250337298">"<xliff:g id="NAME_0">%1$s</xliff:g>, <xliff:g id="NAME_1">%2$s</xliff:g>, <xliff:g id="NAME_2">%3$s</xliff:g>… foram eliminados"</string>
<plurals name="contacts_deleted_toast" formatted="false" msgid="198534700386623765">
- <item quantity="other">Contactos eliminados</item>
<item quantity="one">Contacto eliminado</item>
+ <item quantity="other">Contactos eliminados</item>
</plurals>
<plurals name="contacts_count" formatted="false" msgid="8804860300387044572">
- <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> contactos</item>
<item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> contacto</item>
+ <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> contactos</item>
</plurals>
<plurals name="contacts_count_with_account" formatted="false" msgid="1025146902085751375">
- <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> contactos · <xliff:g id="ACCOUNT_3">%2$s</xliff:g></item>
<item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> contacto · <xliff:g id="ACCOUNT_1">%2$s</xliff:g></item>
+ <item quantity="other"><xliff:g id="COUNT_2">%1$d</xliff:g> contactos · <xliff:g id="ACCOUNT_3">%2$s</xliff:g></item>
</plurals>
<string name="title_from_google" msgid="2554633992366572820">"Da Google"</string>
<string name="title_from_other_accounts" msgid="7813596336566711843">"Da conta <xliff:g id="ACCOUNT">%s</xliff:g>"</string>
@@ -137,8 +137,8 @@
<string name="menu_add_contact" msgid="5822356185421997656">"Adicionar aos contactos"</string>
<string name="menu_add_contacts" msgid="7114262784903366463">"Adicionar"</string>
<plurals name="title_share_via" formatted="false" msgid="3868648642107664607">
- <item quantity="other">Partilhar contactos através de</item>
<item quantity="one">Partilhar contacto através de</item>
+ <item quantity="other">Partilhar contactos através de</item>
</plurals>
<string name="dialog_new_group_account" msgid="4326402875327788728">"Selecionar conta"</string>
<string name="group_name_dialog_insert_title" msgid="5495572488613178283">"Criar etiqueta"</string>
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Definições"</string>
<string name="menu_settings" msgid="3524924670246877187">"Definições"</string>
<string name="menu_help" msgid="287801702920372292">"Ajuda e comentários"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de telefone"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Adicionar aos contactos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Fechar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensagem de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Endereço"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Título"</string>
<string name="label_notes" msgid="7134226125644463585">"Notas"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
@@ -379,12 +381,12 @@
<string name="import_from_sim" msgid="7825280799813847991">"Cartão SIM"</string>
<string name="import_from_sim_summary_fmt" msgid="4234771828377985321">"SIM <xliff:g id="SIM_NAME">%1$s</xliff:g>"</string>
<plurals name="import_from_sim_secondary_contact_count_fmt" formatted="false" msgid="8737770002554878728">
- <item quantity="other">%1$d contactos</item>
<item quantity="one">1 contacto</item>
+ <item quantity="other">%1$d contactos</item>
</plurals>
<plurals name="import_from_sim_secondary_template" formatted="false" msgid="6698670511061586532">
- <item quantity="other"><xliff:g id="COUNT_2">^1</xliff:g> contactos • <xliff:g id="PHONE_NUMBER_3">^2</xliff:g></item>
<item quantity="one"><xliff:g id="COUNT_0">^1</xliff:g> contacto • <xliff:g id="PHONE_NUMBER_1">^2</xliff:g></item>
+ <item quantity="other"><xliff:g id="COUNT_2">^1</xliff:g> contactos • <xliff:g id="PHONE_NUMBER_3">^2</xliff:g></item>
</plurals>
<string name="import_from_vcf_file" msgid="6776403212804361301">"Ficheiro .vcf"</string>
<string name="nothing_to_import_message" msgid="2594519620375509783">"Nada para importar"</string>
@@ -489,8 +491,8 @@
<string name="sim_import_empty_message" msgid="7238368542566545854">"Sem contactos no cartão SIM"</string>
<string name="sim_import_contact_exists_toast" msgid="8423212007841229749">"O contacto já existe na sua lista"</string>
<plurals name="sim_import_success_toast_fmt" formatted="false" msgid="422539156156042210">
- <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos do cartão SIM importados</item>
<item quantity="one">1 contacto do cartão SIM importado</item>
+ <item quantity="other"><xliff:g id="COUNT">%d</xliff:g> contactos do cartão SIM importados</item>
</plurals>
<string name="sim_import_failed_toast" msgid="358117391138073786">"Ocorreu uma falha ao importar os contactos do cartão SIM"</string>
<string name="sim_import_title" msgid="8202961146093040684">"Importar do cartão SIM"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 19a543e..d2d09f6 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Configurações"</string>
<string name="menu_settings" msgid="3524924670246877187">"Configurações"</string>
<string name="menu_help" msgid="287801702920372292">"Ajuda e feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Número de telefone"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Adicionar aos contatos"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Fechar"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mensagem de texto"</string>
<string name="postal_address" msgid="5031809899673855074">"Endereço"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Empresa"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Título"</string>
<string name="label_notes" msgid="7134226125644463585">"Observações"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizado"</string>
@@ -343,7 +345,7 @@
<string name="postal_country" msgid="6642804283917549861">"País"</string>
<string name="map_home" msgid="2169053372466501148">"Ver endereço residencial"</string>
<string name="map_work" msgid="8296916987749726461">"Ver endereço do trabalho"</string>
- <string name="map_other" msgid="4009931029322619674">"Visualizar endereço"</string>
+ <string name="map_other" msgid="4009931029322619674">"Ver endereço"</string>
<string name="map_custom" msgid="7797812861927817335">"Ver endereço de <xliff:g id="CUSTOM_LABEL">%s</xliff:g>"</string>
<string name="chat_aim" msgid="2044861410748519265">"Bater papo usando o AIM"</string>
<string name="chat_msn" msgid="4733206223124506247">"Bater papo usando o Windows Live"</string>
@@ -429,7 +431,7 @@
<string name="caching_vcard_title" msgid="6333926052524937628">"Armazenando em cache"</string>
<string name="progress_notifier_message" msgid="8522060892889599746">"Importando <xliff:g id="CURRENT_NUMBER">%1$s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%2$s</xliff:g>: <xliff:g id="NAME">%3$s</xliff:g>"</string>
<string name="export_to_vcf_file" msgid="3096479544575798192">"Exportar p/ arquivo .vcf"</string>
- <string name="display_options_sort_list_by" msgid="4333658089057400431">"Classificar por"</string>
+ <string name="display_options_sort_list_by" msgid="4333658089057400431">"Ordenar por"</string>
<string name="display_options_phonetic_name_fields" msgid="1857564544755287298">"Nome fonético"</string>
<string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"Mostrar sempre"</string>
<string name="editor_options_hide_phonetic_names_if_empty" msgid="2693314301550366143">"Ocultar se vazio"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index f5dcd99..a721949 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Setări"</string>
<string name="menu_settings" msgid="3524924670246877187">"Setări"</string>
<string name="menu_help" msgid="287801702920372292">"Ajutor și feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Număr de telefon"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Adăugați în agendă"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Închideți"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"Mesaj text"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresă"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Companie"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departament"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titlu"</string>
<string name="label_notes" msgid="7134226125644463585">"Note"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Personalizat"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 57e6862..a795ee8 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Настройки"</string>
<string name="menu_settings" msgid="3524924670246877187">"Настройки"</string>
<string name="menu_help" msgid="287801702920372292">"Справка/отзыв"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Номер телефона"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Добавить в контакты"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Скрыть"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Текстовое сообщение"</string>
<string name="postal_address" msgid="5031809899673855074">"Адрес"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компания"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Отдел"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Должность"</string>
<string name="label_notes" msgid="7134226125644463585">"Примечания"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Другое"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 57a5f4b..7e95776 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"සැකසීම්"</string>
<string name="menu_settings" msgid="3524924670246877187">"සැකසීම්"</string>
<string name="menu_help" msgid="287801702920372292">"උදවු සහ ප්රතිපෝෂණ"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"දුරකථන අංකය"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"සම්බන්ධතා වලට එක් කරන්න"</string>
<string name="non_phone_close" msgid="2792373584950696532">"වසන්න"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"කෙටි පණිවුඩ"</string>
<string name="postal_address" msgid="5031809899673855074">"ලිපිනය"</string>
<string name="ghostData_company" msgid="3873500610390675876">"සමාගම"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"දෙපාර්තමේන්තුව"</string>
<string name="ghostData_title" msgid="8584897460662904533">"මාතෘකාව"</string>
<string name="label_notes" msgid="7134226125644463585">"සටහන්"</string>
<string name="label_custom_field" msgid="4160584225306364924">"අභිරුචි"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 3e22d5c..3de78d4 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Nastavenia"</string>
<string name="menu_settings" msgid="3524924670246877187">"Nastavenia"</string>
<string name="menu_help" msgid="287801702920372292">"Pomocník a spätná väzba"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefónne číslo"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Pridať medzi kontakty"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zavrieť"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Textová správa"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Firma"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Oddelenie"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titul"</string>
<string name="label_notes" msgid="7134226125644463585">"Poznámky"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Vlastný"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 636a2b6..343053c 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Nastavitve"</string>
<string name="menu_settings" msgid="3524924670246877187">"Nastavitve"</string>
<string name="menu_help" msgid="287801702920372292">"Pomoč in povr. informacije"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonska številka"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Dodaj v stike"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Zapri"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Naslov"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Podjetje"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Oddelek"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Naslov"</string>
<string name="label_notes" msgid="7134226125644463585">"Opombe"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Po meri"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index af9a6ff..f3c4308 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -133,12 +133,12 @@
<string name="quickcontact_add_phone_number" msgid="1683577288080727862">"Shto një numër telefoni"</string>
<string name="quickcontact_add_email" msgid="1442894568471116797">"Shto një email"</string>
<string name="missing_app" msgid="5674389915738964148">"Nuk u gjet asnjë aplikacion për të menaxhuar këtë veprim"</string>
- <string name="menu_share" msgid="6343022811796001773">"Shpërnda"</string>
+ <string name="menu_share" msgid="6343022811796001773">"Shpërndaj"</string>
<string name="menu_add_contact" msgid="5822356185421997656">"Shto te kontaktet"</string>
<string name="menu_add_contacts" msgid="7114262784903366463">"Shto"</string>
<plurals name="title_share_via" formatted="false" msgid="3868648642107664607">
- <item quantity="other">Shpërnda kontaktet nëpërmjet</item>
- <item quantity="one">Shpërnda kontaktin nëpërmjet</item>
+ <item quantity="other">Shpërndaj kontaktet nëpërmjet</item>
+ <item quantity="one">Shpërndaj kontaktin nëpërmjet</item>
</plurals>
<string name="dialog_new_group_account" msgid="4326402875327788728">"Zgjidh llogarinë"</string>
<string name="group_name_dialog_insert_title" msgid="5495572488613178283">"Krijo etiketë"</string>
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Cilësimet"</string>
<string name="menu_settings" msgid="3524924670246877187">"Cilësimet"</string>
<string name="menu_help" msgid="287801702920372292">"Ndihmë dhe komente"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numri i telefonit"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Shto te kontaktet"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Mbyll"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Mesazhi me tekst"</string>
<string name="postal_address" msgid="5031809899673855074">"Adresa"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Kompania"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamenti"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titulli"</string>
<string name="label_notes" msgid="7134226125644463585">"Shënimet"</string>
<string name="label_custom_field" msgid="4160584225306364924">"E personalizuar"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 1438160..3304dca 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -168,7 +168,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Подешавања"</string>
<string name="menu_settings" msgid="3524924670246877187">"Подешавања"</string>
<string name="menu_help" msgid="287801702920372292">"Помоћ и повратне информације"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Број телефона"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Додај у контакте"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Затвори"</string>
@@ -328,6 +329,7 @@
<string name="sms" msgid="4246338112764847384">"Текстуална порука"</string>
<string name="postal_address" msgid="5031809899673855074">"Адреса"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Предузеће"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Одсек"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Наслов"</string>
<string name="label_notes" msgid="7134226125644463585">"Белешке"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Прилагођено"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index d54e359..1afd097 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Inställningar"</string>
<string name="menu_settings" msgid="3524924670246877187">"Inställningar"</string>
<string name="menu_help" msgid="287801702920372292">"Hjälp och feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefonnummer"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Lägg till i Kontakter"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Stäng"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Textmeddelande"</string>
<string name="postal_address" msgid="5031809899673855074">"Adress"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Företag"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Avdelning"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Titel"</string>
<string name="label_notes" msgid="7134226125644463585">"Anteckningar"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Anpassat"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index b6ff4ea..02299f6 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Mipangilio"</string>
<string name="menu_settings" msgid="3524924670246877187">"Mipangilio"</string>
<string name="menu_help" msgid="287801702920372292">"Usaidizi na maoni"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Nambari ya simu"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Ongeza kwa anwani"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Funga"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Ujumbe wa maandishi"</string>
<string name="postal_address" msgid="5031809899673855074">"Anwani"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Kampuni"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Idara"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Jina la heshima"</string>
<string name="label_notes" msgid="7134226125644463585">"Kidokezo"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Maalum"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 92f6706..46ccf6f 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"அமைப்பு"</string>
<string name="menu_settings" msgid="3524924670246877187">"அமைப்பு"</string>
<string name="menu_help" msgid="287801702920372292">"உதவி & கருத்து"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"மொபைல் எண்"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"தொடர்புகளில் சேர்"</string>
<string name="non_phone_close" msgid="2792373584950696532">"மூடு"</string>
@@ -198,7 +199,7 @@
<string name="contact_editor_unlink_contacts" msgid="8399419729744305687">"இணைப்பை நீக்கு"</string>
<string name="add_account" msgid="3071396624500839020">"கணக்கைச் சேர்"</string>
<string name="add_new_account" msgid="573368229646104110">"புதிய கணக்கைச் சேர்"</string>
- <string name="menu_export_database" msgid="1658249125751926885">"தரவுத்தள கோப்புகளை ஏற்றுமதி செய்"</string>
+ <string name="menu_export_database" msgid="1658249125751926885">"தரவுத்தள ஃபைல்களை ஏற்றுமதி செய்"</string>
<string name="action_menu_add_new_contact_button" msgid="1201339383074001291">"புதிய தொடர்பை உருவாக்கும்"</string>
<string name="expanding_entry_card_view_see_more" msgid="6636033205952561590">"மேலும் காட்டு"</string>
<string name="expanding_entry_card_view_see_less" msgid="6399603072579278030">"குறைவாகக் காட்டு"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"உரைச் செய்தி"</string>
<string name="postal_address" msgid="5031809899673855074">"முகவரி"</string>
<string name="ghostData_company" msgid="3873500610390675876">"நிறுவனம்"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"பிரிவு"</string>
<string name="ghostData_title" msgid="8584897460662904533">"தலைப்பு"</string>
<string name="label_notes" msgid="7134226125644463585">"குறிப்புகள்"</string>
<string name="label_custom_field" msgid="4160584225306364924">"பிரத்தியேகம்"</string>
@@ -428,7 +430,7 @@
<string name="nfc_vcard_file_name" msgid="2113518216329123152">"NFC வழியாக தொடர்பு பெறப்பட்டது"</string>
<string name="caching_vcard_title" msgid="6333926052524937628">"தற்காலிகமாகச் சேமித்தல்"</string>
<string name="progress_notifier_message" msgid="8522060892889599746">"<xliff:g id="CURRENT_NUMBER">%1$s</xliff:g>/<xliff:g id="TOTAL_NUMBER">%2$s</xliff:g> ஐ இறக்குமதி செய்கிறது: <xliff:g id="NAME">%3$s</xliff:g>"</string>
- <string name="export_to_vcf_file" msgid="3096479544575798192">".vcf கோப்பிற்கு ஏற்று"</string>
+ <string name="export_to_vcf_file" msgid="3096479544575798192">".vcf ஃபைலிற்கு ஏற்று"</string>
<string name="display_options_sort_list_by" msgid="4333658089057400431">"இதன்படி வரிசைப்படுத்து:"</string>
<string name="display_options_phonetic_name_fields" msgid="1857564544755287298">"ஒலிப்புமுறைப் பெயர்"</string>
<string name="editor_options_always_show_phonetic_names" msgid="3612488836474257715">"எப்போதும் காட்டு"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 67c1b3d..632eb1b 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -32,7 +32,7 @@
<string name="menu_removeStar" msgid="3707373931808303701">"ఇష్టమైనవాటి నుండి తీసివేయి"</string>
<string name="description_action_menu_remove_star" msgid="4044390281910122890">"ఇష్టమైనవి నుండి తీసివేయబడింది"</string>
<string name="description_action_menu_add_star" msgid="7316521132809388851">"ఇష్టమైనవికి జోడించబడింది"</string>
- <string name="menu_editContact" msgid="5039663761025630208">"సవరించు"</string>
+ <string name="menu_editContact" msgid="5039663761025630208">"ఎడిట్"</string>
<string name="menu_deleteContact" msgid="15161764025276217">"తొలగించు"</string>
<string name="menu_change_photo" msgid="4911246106907208055">"ఫోటోను మార్చు"</string>
<string name="menu_create_contact_shortcut" msgid="8983436328557825860">"షార్ట్కట్ను సృష్టించు"</string>
@@ -122,7 +122,7 @@
<string name="groupExistsErrorMessage" msgid="912222525098791136">"ఈ లేబుల్ ఇప్పటికే ఉంది"</string>
<string name="groupSomeContactsNoEmailsToast" msgid="2142963883699535155">"కొన్ని కాంటాక్ట్లకు ఈమెయిల్లు లేవు."</string>
<string name="groupSomeContactsNoPhonesToast" msgid="2454029254458875746">"కొన్ని కాంటాక్ట్లకు ఫోన్ నంబర్లు లేవు."</string>
- <string name="menu_sendEmailOption" msgid="8600335923636486825">"ఇమెయిల్ను పంపు"</string>
+ <string name="menu_sendEmailOption" msgid="8600335923636486825">"ఈమెయిల్ను పంపు"</string>
<string name="menu_sendMessageOption" msgid="8051852013078110910">"మెసేజ్ను పంపు"</string>
<string name="pickerSelectContactsActivityTitle" msgid="8265907544009447967">"కాంటాక్ట్లను ఎంచుకోండి"</string>
<string name="send_to_selection" msgid="3655197947726443720">"పంపు"</string>
@@ -131,7 +131,7 @@
<string name="search_settings_description" msgid="5630675648560839920">"మీ కాంటాక్ట్ల పేర్లు"</string>
<string name="quickcontact_transparent_view_description" msgid="7783027850792852265">"మునుపటి స్క్రీన్కి తిరిగి రావడానికి క్లిక్ చేయండి"</string>
<string name="quickcontact_add_phone_number" msgid="1683577288080727862">"ఫోన్ నంబర్ను జోడించండి"</string>
- <string name="quickcontact_add_email" msgid="1442894568471116797">"ఇమెయిల్ జోడించండి"</string>
+ <string name="quickcontact_add_email" msgid="1442894568471116797">"ఈమెయిల్ జోడించండి"</string>
<string name="missing_app" msgid="5674389915738964148">"ఈ చర్యను నిర్వహించడానికి యాప్ ఏదీ కనుగొనబడలేదు."</string>
<string name="menu_share" msgid="6343022811796001773">"షేర్ చేయి"</string>
<string name="menu_add_contact" msgid="5822356185421997656">"కాంటాక్ట్లకు జోడించండి"</string>
@@ -163,8 +163,9 @@
<string name="contact_directory_description" msgid="1773630547110881835">"డైరెక్టరీ <xliff:g id="TYPE">%1$s</xliff:g>"</string>
<string name="activity_title_settings" msgid="4004290638426915162">"సెట్టింగ్లు"</string>
<string name="menu_settings" msgid="3524924670246877187">"సెట్టింగ్లు"</string>
- <string name="menu_help" msgid="287801702920372292">"సహాయం & అభిప్రాయం"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="menu_help" msgid="287801702920372292">"సహాయం & ఫీడ్బ్యాక్"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"ఫోన్ నంబర్"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"కాంటాక్ట్లకు జోడించండి"</string>
<string name="non_phone_close" msgid="2792373584950696532">"మూసివేయి"</string>
@@ -213,7 +214,7 @@
<string name="header_event_entry" msgid="70962228694476731">"ఈవెంట్"</string>
<string name="header_relation_entry" msgid="993618132732521944">"సంబంధం"</string>
<string name="header_name_entry" msgid="2516776099121101578">"పేరు"</string>
- <string name="header_email_entry" msgid="8653569770962542178">"ఇమెయిల్"</string>
+ <string name="header_email_entry" msgid="8653569770962542178">"ఈమెయిల్"</string>
<string name="header_phone_entry" msgid="7092868248113091293">"ఫోన్"</string>
<string name="content_description_directions" msgid="860179347986211929">"లొకేషన్ను వెళ్లడానికి దిశలు"</string>
<string name="editor_more_fields" msgid="6158558083947445518">"మరిన్ని ఫీల్డ్లు"</string>
@@ -315,7 +316,7 @@
<string name="name_phonetic_middle" msgid="6528822054594516485">"ఫొనెటిక్ మధ్య పేరు"</string>
<string name="name_phonetic_family" msgid="1690852801039809448">"ఫొనెటిక్ చివరి పేరు"</string>
<string name="phoneLabelsGroup" msgid="2746758650001801885">"ఫోన్"</string>
- <string name="emailLabelsGroup" msgid="3360719560200449554">"ఇమెయిల్"</string>
+ <string name="emailLabelsGroup" msgid="3360719560200449554">"ఈమెయిల్"</string>
<string name="postalLabelsGroup" msgid="7534317297587527570">"అడ్రస్"</string>
<string name="imLabelsGroup" msgid="2113398976789806432">"IM"</string>
<string name="organizationLabelsGroup" msgid="2342482097897299099">"సంస్థ"</string>
@@ -324,18 +325,19 @@
<string name="sms" msgid="4246338112764847384">"వచన మెసేజ్"</string>
<string name="postal_address" msgid="5031809899673855074">"అడ్రస్"</string>
<string name="ghostData_company" msgid="3873500610390675876">"కంపెనీ"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"విభాగం"</string>
<string name="ghostData_title" msgid="8584897460662904533">"శీర్షిక"</string>
<string name="label_notes" msgid="7134226125644463585">"గమనికలు"</string>
<string name="label_custom_field" msgid="4160584225306364924">"అనుకూలం"</string>
<string name="label_sip_address" msgid="8876347942587537552">"SIP"</string>
<string name="websiteLabelsGroup" msgid="114754928100220315">"వెబ్సైట్"</string>
<string name="groupsLabel" msgid="5622154133880646122">"లేబుళ్లు"</string>
- <string name="email_home" msgid="1102791500866910269">"ఇంటికి ఇమెయిల్ చేయండి"</string>
- <string name="email_mobile" msgid="6461172430397598705">"మొబైల్కు ఇమెయిల్ చేయండి"</string>
- <string name="email_work" msgid="24992619164533704">"కార్యాలయానికి ఇమెయిల్ చేయండి"</string>
- <string name="email_other" msgid="9200478615023952240">"ఇమెయిల్ చేయండి"</string>
- <string name="email_custom" msgid="4614140345586842953">"<xliff:g id="CUSTOM_LABEL">%s</xliff:g>కి ఇమెయిల్ పంపు"</string>
- <string name="email" msgid="7367975425670798827">"ఇమెయిల్ చేయండి"</string>
+ <string name="email_home" msgid="1102791500866910269">"ఇంటికి ఈమెయిల్ చేయండి"</string>
+ <string name="email_mobile" msgid="6461172430397598705">"మొబైల్కు ఈమెయిల్ చేయండి"</string>
+ <string name="email_work" msgid="24992619164533704">"కార్యాలయానికి ఈమెయిల్ చేయండి"</string>
+ <string name="email_other" msgid="9200478615023952240">"ఈమెయిల్ చేయండి"</string>
+ <string name="email_custom" msgid="4614140345586842953">"<xliff:g id="CUSTOM_LABEL">%s</xliff:g>కి ఈమెయిల్ పంపు"</string>
+ <string name="email" msgid="7367975425670798827">"ఈమెయిల్ చేయండి"</string>
<string name="postal_street" msgid="43809570436400749">"వీధి"</string>
<string name="postal_city" msgid="3571927981675393150">"నగరం"</string>
<string name="postal_region" msgid="6130239447563491435">"రాష్ట్రం"</string>
@@ -371,7 +373,7 @@
<string name="display_all_contacts" msgid="1281067776483704512">"అన్ని కాంటాక్ట్లు"</string>
<string name="menu_sync_remove" msgid="7523335046562082188">"సింక్ సమూహాన్ని తీసివేయి"</string>
<string name="dialog_sync_add" msgid="8012361965908515959">"సింక్ సమూహాన్ని జోడించండి"</string>
- <string name="display_more_groups" msgid="8398232980355188133">"మరిన్ని సమూహాలు…"</string>
+ <string name="display_more_groups" msgid="8398232980355188133">"మరిన్ని గ్రూప్లు…"</string>
<string name="display_warn_remove_ungrouped" msgid="522866344738506017">"సింక్ నుండి \"<xliff:g id="GROUP">%s</xliff:g>\"ని తీసివేయడం వలన సింక్ నుండి గ్రూప్ చేయబడని కాంటాక్ట్లు కూడా తీసివేయబడతాయి."</string>
<string name="savingDisplayGroups" msgid="6779839417901711381">"ప్రదర్శన ఎంపికలను సేవ్ చేస్తోంది…"</string>
<string name="listCustomView" msgid="5782275477737032610">"అనుకూలీకృత వీక్షణ"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 48c3982..3bd11c0 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"การตั้งค่า"</string>
<string name="menu_settings" msgid="3524924670246877187">"การตั้งค่า"</string>
<string name="menu_help" msgid="287801702920372292">"ความช่วยเหลือและความคิดเห็น"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"หมายเลขโทรศัพท์"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"เพิ่มลงในสมุดโทรศัพท์"</string>
<string name="non_phone_close" msgid="2792373584950696532">"ปิด"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"ข้อความตัวอักษร"</string>
<string name="postal_address" msgid="5031809899673855074">"ที่อยู่"</string>
<string name="ghostData_company" msgid="3873500610390675876">"บริษัท"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"แผนก"</string>
<string name="ghostData_title" msgid="8584897460662904533">"ชื่อ"</string>
<string name="label_notes" msgid="7134226125644463585">"หมายเหตุ"</string>
<string name="label_custom_field" msgid="4160584225306364924">"กำหนดเอง"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 1340788..6422a7f 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Mga Setting"</string>
<string name="menu_settings" msgid="3524924670246877187">"Mga Setting"</string>
<string name="menu_help" msgid="287801702920372292">"Tulong at feedback"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Numero ng telepono"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Idagdag sa mga contact"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Isara"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Text message"</string>
<string name="postal_address" msgid="5031809899673855074">"Address"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Kumpanya"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Departamento"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Pamagat"</string>
<string name="label_notes" msgid="7134226125644463585">"Mga Tala"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Custom"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index e46ab4e..c588a0f 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Ayarlar"</string>
<string name="menu_settings" msgid="3524924670246877187">"Ayarlar"</string>
<string name="menu_help" msgid="287801702920372292">"Yardım ve geri bildirim"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefon numarası"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Kişilere ekle"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Kapat"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Kısa mesaj"</string>
<string name="postal_address" msgid="5031809899673855074">"Adres"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Şirket"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Bölüm"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Unvan"</string>
<string name="label_notes" msgid="7134226125644463585">"Notlar"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Özel"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index a81ffc0..220829c 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -172,7 +172,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Налаштування"</string>
<string name="menu_settings" msgid="3524924670246877187">"Налаштування"</string>
<string name="menu_help" msgid="287801702920372292">"Довідка й відгуки"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Номер телефону"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Додати до контактів"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Закрити"</string>
@@ -332,6 +333,7 @@
<string name="sms" msgid="4246338112764847384">"Текстове повідомлення"</string>
<string name="postal_address" msgid="5031809899673855074">"Адреса"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Компанія"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Відділ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Назва"</string>
<string name="label_notes" msgid="7134226125644463585">"Примітки"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Спеціальне"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 45406d2..567d7c5 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"ترتیبات"</string>
<string name="menu_settings" msgid="3524924670246877187">"ترتیبات"</string>
<string name="menu_help" msgid="287801702920372292">"مدد اور تاثرات"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>، <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"فون نمبر"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"رابطوں میں شامل کریں"</string>
<string name="non_phone_close" msgid="2792373584950696532">"بند کریں"</string>
@@ -269,7 +270,7 @@
<string name="sms_fax_work" msgid="8239716828120939345">"دفتر کے فیکس نمبر پر متن بھیجیں"</string>
<string name="sms_fax_home" msgid="6887675360794775735">"گھر کے فیکس نمبر پر متن بھیجیں"</string>
<string name="sms_pager" msgid="1052540072760129272">"پیجر نمبر پر متن بھیجیں"</string>
- <string name="sms_other" msgid="3584200156296349098">"متن بھیجیں"</string>
+ <string name="sms_other" msgid="3584200156296349098">"ٹیکسٹ بھیجیں"</string>
<string name="sms_callback" msgid="6932315941997609031">"کال بیک نمبر پر متن بھیجیں"</string>
<string name="sms_car" msgid="6051606941547979352">"کار کے نمبر پر متن بھیجیں"</string>
<string name="sms_company_main" msgid="4801585186677340070">"کمپنی کے اصل نمبر پر متن بھیجیں"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"متنی پیغام"</string>
<string name="postal_address" msgid="5031809899673855074">"پتہ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"کمپنی"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"محکمہ"</string>
<string name="ghostData_title" msgid="8584897460662904533">"عنوان"</string>
<string name="label_notes" msgid="7134226125644463585">"نوٹس"</string>
<string name="label_custom_field" msgid="4160584225306364924">"حسب ضرورت"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index fceeec3..02904c0 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Sozlamalar"</string>
<string name="menu_settings" msgid="3524924670246877187">"Sozlamalar"</string>
<string name="menu_help" msgid="287801702920372292">"Yordam/fikr-mulohaza"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Telefon raqami"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Kontaktlarga saqlash"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Yopish"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"SMS"</string>
<string name="postal_address" msgid="5031809899673855074">"Manzil"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Kompaniya"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Bo‘lim"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Lavozimi"</string>
<string name="label_notes" msgid="7134226125644463585">"Izohlar"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Maxsus"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 37872ae..51ae0fa 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Cài đặt"</string>
<string name="menu_settings" msgid="3524924670246877187">"Cài đặt"</string>
<string name="menu_help" msgid="287801702920372292">"Trợ giúp và phản hồi"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Số điện thoại"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Thêm vào danh bạ"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Đóng"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Tin nhắn văn bản"</string>
<string name="postal_address" msgid="5031809899673855074">"Địa chỉ"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Công ty"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Phòng"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Tiêu đề"</string>
<string name="label_notes" msgid="7134226125644463585">"Ghi chú"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Tùy chỉnh"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index cbc7e81..36c1c1e 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"设置"</string>
<string name="menu_settings" msgid="3524924670246877187">"设置"</string>
<string name="menu_help" msgid="287801702920372292">"帮助和反馈"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>,<xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"电话号码"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"添加到通讯录"</string>
<string name="non_phone_close" msgid="2792373584950696532">"关闭"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"短信"</string>
<string name="postal_address" msgid="5031809899673855074">"地址"</string>
<string name="ghostData_company" msgid="3873500610390675876">"公司"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"部门"</string>
<string name="ghostData_title" msgid="8584897460662904533">"职位"</string>
<string name="label_notes" msgid="7134226125644463585">"备注"</string>
<string name="label_custom_field" msgid="4160584225306364924">"自定义"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index cb34b4e..6f3773d 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"設定"</string>
<string name="menu_settings" msgid="3524924670246877187">"設定"</string>
<string name="menu_help" msgid="287801702920372292">"說明和意見反映"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>,<xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"電話號碼"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"加入通訊錄"</string>
<string name="non_phone_close" msgid="2792373584950696532">"關閉"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"短訊"</string>
<string name="postal_address" msgid="5031809899673855074">"地址"</string>
<string name="ghostData_company" msgid="3873500610390675876">"公司"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"部門"</string>
<string name="ghostData_title" msgid="8584897460662904533">"職位"</string>
<string name="label_notes" msgid="7134226125644463585">"備註"</string>
<string name="label_custom_field" msgid="4160584225306364924">"自訂"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index e22d44c..409dc41 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"設定"</string>
<string name="menu_settings" msgid="3524924670246877187">"設定"</string>
<string name="menu_help" msgid="287801702920372292">"說明與意見回饋"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_1">%1$s</xliff:g> <xliff:g id="COMPANY_0">%2$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="SECOND">%2$s</xliff:g> • <xliff:g id="FIRST">%1$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"電話號碼"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"新增至通訊錄"</string>
<string name="non_phone_close" msgid="2792373584950696532">"關閉"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"簡訊"</string>
<string name="postal_address" msgid="5031809899673855074">"地址"</string>
<string name="ghostData_company" msgid="3873500610390675876">"公司"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"部門"</string>
<string name="ghostData_title" msgid="8584897460662904533">"職稱"</string>
<string name="label_notes" msgid="7134226125644463585">"附註"</string>
<string name="label_custom_field" msgid="4160584225306364924">"自訂"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 17bbd84..a8ebfc8 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -164,7 +164,8 @@
<string name="activity_title_settings" msgid="4004290638426915162">"Izilungiselelo"</string>
<string name="menu_settings" msgid="3524924670246877187">"Izilungiselelo"</string>
<string name="menu_help" msgid="287801702920372292">"Usizo nempendulo"</string>
- <string name="organization_company_and_title" msgid="7197631449041284518">"<xliff:g id="COMPANY_0">%2$s</xliff:g>, <xliff:g id="COMPANY_1">%1$s</xliff:g>"</string>
+ <string name="organization_entry_two_field" msgid="6034934619269052455">"<xliff:g id="FIRST">%1$s</xliff:g> • <xliff:g id="SECOND">%2$s</xliff:g>"</string>
+ <string name="organization_entry_all_field" msgid="6724345890324437167">"<xliff:g id="COMPANY">%1$s</xliff:g> • <xliff:g id="DEPARTMENT">%2$s</xliff:g> • <xliff:g id="TITLE">%3$s</xliff:g>"</string>
<string name="non_phone_caption" msgid="7343449684187013327">"Inombolo yefoni"</string>
<string name="non_phone_add_to_contacts" msgid="5472784294274676663">"Yengeza kothintana nabo"</string>
<string name="non_phone_close" msgid="2792373584950696532">"Vala"</string>
@@ -324,6 +325,7 @@
<string name="sms" msgid="4246338112764847384">"Umlayezo wombhalo"</string>
<string name="postal_address" msgid="5031809899673855074">"Ikheli"</string>
<string name="ghostData_company" msgid="3873500610390675876">"Inkampani"</string>
+ <string name="ghostData_department" msgid="8610642449404163799">"Umnyango"</string>
<string name="ghostData_title" msgid="8584897460662904533">"Isihloko"</string>
<string name="label_notes" msgid="7134226125644463585">"Imibhalo"</string>
<string name="label_custom_field" msgid="4160584225306364924">"Ngokwezifiso"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 56c4aaa..faa1d96 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -452,9 +452,23 @@
<!-- Menu item for invoking contextual Help & Feedback [CHAR LIMIT=64] -->
<string name="menu_help">Help & feedback</string>
- <!-- Text used to show a organization that has both a company and title. This is used in the Detail-View
- of a Contact. This is mostly about the formatting of the two elements, so it should be kept small [CHAR LIMIT=79] -->
- <string name="organization_company_and_title"><xliff:g id="company" example="Technical Program Manager">%2$s</xliff:g>, <xliff:g id="company" example="Google Inc.">%1$s</xliff:g></string>
+ <!-- String used to build an organization entry containing any of the 2 fields <Company>,
+ <Department> or <Job Title>, example: Google • Developer. [CHAR LIMIT=NONE] -->
+ <string name="organization_entry_two_field">
+ <xliff:g id="first" example="Google">%1$s</xliff:g>
+ •
+ <xliff:g id="second" example="Developer">%2$s</xliff:g>
+ </string>
+
+ <!-- String used to build an organization entry containing all the field <Company>,
+ <Department> or <Job Title>, example: Google • Department • Developer. [CHAR LIMIT=NONE] -->
+ <string name="organization_entry_all_field">
+ <xliff:g id="company" example="Google">%1$s</xliff:g>
+ •
+ <xliff:g id="department" example="People">%2$s</xliff:g>
+ •
+ <xliff:g id="title" example="Developer">%3$s</xliff:g>
+ </string>
<!-- Title shown for the phone number when the number tries to call on a device that it not a phone [CHAR LIMIT=30] -->
<string name="non_phone_caption">Phone number</string>
@@ -923,6 +937,10 @@
<!-- Hint text for the organization name when editing a business/work contact. [CHAR LIMIT=64] -->
<string name="ghostData_company">Company</string>
+ <!-- Hint text for the organization department when editing a business/work contact.
+ [CHAR LIMIT=64] -->
+ <string name="ghostData_department">Department</string>
+
<!-- Hint text for the organization title when editing a business/work contact. [CHAR LIMIT=64] -->
<string name="ghostData_title">Title</string>
diff --git a/src/com/android/contacts/CallUtil.java b/src/com/android/contacts/CallUtil.java
index bba1faa..0f09df9 100644
--- a/src/com/android/contacts/CallUtil.java
+++ b/src/com/android/contacts/CallUtil.java
@@ -109,7 +109,7 @@
/**
* Return an Intent for making a phone call. A given Uri will be used as is (without any
- * sanity check).
+ * quick check).
*/
public static Intent getCallIntent(Uri uri) {
return new Intent(Intent.ACTION_CALL, uri);
diff --git a/src/com/android/contacts/ContactPhotoManager.java b/src/com/android/contacts/ContactPhotoManager.java
index e5f808d..1468ed7 100644
--- a/src/com/android/contacts/ContactPhotoManager.java
+++ b/src/com/android/contacts/ContactPhotoManager.java
@@ -602,8 +602,8 @@
private static final String[] COLUMNS = new String[] { Photo._ID, Photo.PHOTO };
/**
- * Dummy object used to indicate that a bitmap for a given key could not be stored in the
- * cache.
+ * Placeholder object used to indicate that a bitmap for a given key could not
+ * be stored in the cache.
*/
private static final BitmapHolder BITMAP_UNAVAILABLE;
diff --git a/src/com/android/contacts/SimImportFragment.java b/src/com/android/contacts/SimImportFragment.java
index cee1b1a..1d16df0 100644
--- a/src/com/android/contacts/SimImportFragment.java
+++ b/src/com/android/contacts/SimImportFragment.java
@@ -18,7 +18,6 @@
import android.app.Activity;
import android.app.Fragment;
import android.app.LoaderManager;
-import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.IntentFilter;
import android.content.Loader;
@@ -26,7 +25,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.android.material.snackbar.Snackbar;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+
import androidx.collection.ArrayMap;
import androidx.core.view.ViewCompat;
import androidx.core.widget.ContentLoadingProgressBar;
@@ -372,7 +371,7 @@
if (position < 0 || position >= getCount()) {
return View.NO_ID;
}
- return getItem(position).getId();
+ return getItem(position).getRecordNumber();
}
@Override
diff --git a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
index dea134b..8f0509b 100644
--- a/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorAccountsChangedActivity.java
@@ -141,7 +141,8 @@
mAccountListAdapter = new AccountsListAdapter(this, accounts);
accountListView.setAdapter(mAccountListAdapter);
accountListView.setOnItemClickListener(mAccountListItemClickListener);
- } else if (numAccounts == 1 && !accounts.get(0).getAccount().isNullAccount()) {
+ } else if (numAccounts == 1
+ && !accounts.get(0).getAccount().equals(AccountWithDataSet.getLocalAccount(this))) {
// If the user has 1 writable account we will just show the user a message with 2
// possible action buttons.
view = View.inflate(this,
diff --git a/src/com/android/contacts/database/SimContactDaoImpl.java b/src/com/android/contacts/database/SimContactDaoImpl.java
index 5ba6bd5..54106f0 100644
--- a/src/com/android/contacts/database/SimContactDaoImpl.java
+++ b/src/com/android/contacts/database/SimContactDaoImpl.java
@@ -26,20 +26,20 @@
import android.net.Uri;
import android.os.Build;
import android.os.RemoteException;
-import android.provider.BaseColumns;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;
-import androidx.annotation.VisibleForTesting;
-import androidx.collection.ArrayMap;
+import android.provider.SimPhonebookContract;
+import android.provider.SimPhonebookContract.SimRecords;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
-import android.text.TextUtils;
import android.util.SparseArray;
+import androidx.collection.ArrayMap;
+
import com.android.contacts.R;
import com.android.contacts.compat.CompatUtils;
import com.android.contacts.model.SimCard;
@@ -47,6 +47,7 @@
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.util.PermissionsUtil;
import com.android.contacts.util.SharedPreferenceUtil;
+
import com.google.common.base.Joiner;
import java.util.ArrayList;
@@ -75,14 +76,6 @@
// query parameter limit.
static final int QUERY_MAX_BATCH_SIZE = 100;
- @VisibleForTesting
- public static final Uri ICC_CONTENT_URI = Uri.parse("content://icc/adn");
-
- public static String _ID = BaseColumns._ID;
- public static String NAME = "name";
- public static String NUMBER = "number";
- public static String EMAILS = "emails";
-
private final Context mContext;
private final ContentResolver mResolver;
private final TelephonyManager mTelephonyManager;
@@ -128,18 +121,14 @@
if (sim.hasValidSubscriptionId()) {
return loadSimContacts(sim.getSubscriptionId());
}
- return loadSimContacts();
+ // Return an empty list.
+ return new ArrayList<>(0);
}
public ArrayList<SimContact> loadSimContacts(int subscriptionId) {
- return loadFrom(ICC_CONTENT_URI.buildUpon()
- .appendPath("subId")
- .appendPath(String.valueOf(subscriptionId))
- .build());
- }
-
- public ArrayList<SimContact> loadSimContacts() {
- return loadFrom(ICC_CONTENT_URI);
+ return loadFrom(
+ SimRecords.getContentUri(
+ subscriptionId, SimPhonebookContract.ElementaryFiles.EF_ADN));
}
@Override
@@ -273,7 +262,12 @@
private static final Object SIM_READ_LOCK = new Object();
private ArrayList<SimContact> loadFrom(Uri uri) {
synchronized (SIM_READ_LOCK) {
- final Cursor cursor = mResolver.query(uri, null, null, null, null);
+ final Cursor cursor = mResolver.query(uri,
+ new String[]{
+ SimRecords.RECORD_NUMBER,
+ SimRecords.NAME,
+ SimRecords.PHONE_NUMBER
+ }, null, null);
if (cursor == null) {
// Assume null means there are no SIM contacts.
return new ArrayList<>(0);
@@ -288,22 +282,20 @@
}
private ArrayList<SimContact> loadFromCursor(Cursor cursor) {
- final int colId = cursor.getColumnIndex(_ID);
- final int colName = cursor.getColumnIndex(NAME);
- final int colNumber = cursor.getColumnIndex(NUMBER);
- final int colEmails = cursor.getColumnIndex(EMAILS);
+ final int colRecordNumber = cursor.getColumnIndex(SimRecords.RECORD_NUMBER);
+ final int colName = cursor.getColumnIndex(SimRecords.NAME);
+ final int colNumber = cursor.getColumnIndex(SimRecords.PHONE_NUMBER);
final ArrayList<SimContact> result = new ArrayList<>();
while (cursor.moveToNext()) {
- final long id = cursor.getLong(colId);
+ final int recordNumber = cursor.getInt(colRecordNumber);
final String name = cursor.getString(colName);
final String number = cursor.getString(colNumber);
- final String emails = cursor.getString(colEmails);
- final SimContact contact = new SimContact(id, name, number, parseEmails(emails));
+ final SimContact contact = new SimContact(recordNumber, name, number, null);
// Only include contact if it has some useful data
- if (contact.hasName() || contact.hasPhone() || contact.hasEmails()) {
+ if (contact.hasName() || contact.hasPhone()) {
result.add(contact);
}
}
@@ -392,10 +384,6 @@
return ops;
}
- private String[] parseEmails(String emails) {
- return !TextUtils.isEmpty(emails) ? emails.split(",") : null;
- }
-
private boolean hasTelephony() {
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY);
}
diff --git a/src/com/android/contacts/detail/ContactDisplayUtils.java b/src/com/android/contacts/detail/ContactDisplayUtils.java
index ef9124a..198461f 100644
--- a/src/com/android/contacts/detail/ContactDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDisplayUtils.java
@@ -42,6 +42,7 @@
import com.android.contacts.preference.ContactsPreferences;
import com.android.contacts.util.MoreMath;
import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
import java.util.List;
@@ -111,40 +112,20 @@
}
/**
- * Returns the organization of the contact. If several organizations are given,
- * the first one is used. Returns null if not applicable.
+ * Returns the organization of the contact. If several organizations are given, the first one
+ * is used. Returns null if not applicable.
*/
public static String getCompany(Context context, Contact contactData) {
final boolean displayNameIsOrganization = contactData.getDisplayNameSource()
- == DisplayNameSources.ORGANIZATION;
+ == DisplayNameSources.ORGANIZATION;
for (RawContact rawContact : contactData.getRawContacts()) {
for (DataItem dataItem : Iterables.filter(
- rawContact.getDataItems(), OrganizationDataItem.class)) {
- OrganizationDataItem organization = (OrganizationDataItem) dataItem;
- final String company = organization.getCompany();
- final String title = organization.getTitle();
- final String combined;
- // We need to show company and title in a combined string. However, if the
- // DisplayName is already the organization, it mirrors company or (if company
- // is empty title). Make sure we don't show what's already shown as DisplayName
- if (TextUtils.isEmpty(company)) {
- combined = displayNameIsOrganization ? null : title;
- } else {
- if (TextUtils.isEmpty(title)) {
- combined = displayNameIsOrganization ? null : company;
- } else {
- if (displayNameIsOrganization) {
- combined = title;
- } else {
- combined = context.getString(
- R.string.organization_company_and_title,
- company, title);
- }
- }
- }
-
- if (!TextUtils.isEmpty(combined)) {
- return combined;
+ rawContact.getDataItems(), OrganizationDataItem.class)) {
+ String organization = getFormattedCompanyString(context,
+ (OrganizationDataItem) dataItem,
+ displayNameIsOrganization);
+ if (!TextUtils.isEmpty(organization)) {
+ return organization;
}
}
}
@@ -152,6 +133,41 @@
}
/**
+ * Return the formatted organization string from the given OrganizationDataItem
+ *
+ * This will combine the company, department and title in one formatted string. However, if the
+ * DisplayName is already the organization (company or title) and resulted combined string
+ * include either company or title only then we don't need to display the organization string,
+ * as it will already be shown in the DisplayName.
+ */
+ public static String getFormattedCompanyString(
+ Context context, OrganizationDataItem organization, boolean displayNameIsOrganization) {
+ List<String> text = Lists.newArrayList();
+ if (!TextUtils.isEmpty(organization.getCompany())) {
+ text.add(organization.getCompany());
+ }
+ if (!TextUtils.isEmpty(organization.getDepartment())) {
+ text.add(organization.getDepartment());
+ }
+ if (!TextUtils.isEmpty(organization.getTitle())) {
+ text.add(organization.getTitle());
+ }
+ if (text.size() == 3) {
+ return context.getString(
+ R.string.organization_entry_all_field, text.get(0), text.get(1),
+ text.get(2));
+ }
+ if (text.size() == 2) {
+ return context.getString(
+ R.string.organization_entry_two_field, text.get(0), text.get(1));
+ }
+ if (text.size() == 1 && !displayNameIsOrganization) {
+ return text.get(0);
+ }
+ return null;
+ }
+
+ /**
* Sets the starred state of this contact.
*/
public static void configureStarredMenuItem(MenuItem starredMenuItem, boolean isDirectoryEntry,
diff --git a/src/com/android/contacts/editor/ContactEditorUtils.java b/src/com/android/contacts/editor/ContactEditorUtils.java
index 517c2c7..0e9b5c9 100644
--- a/src/com/android/contacts/editor/ContactEditorUtils.java
+++ b/src/com/android/contacts/editor/ContactEditorUtils.java
@@ -38,9 +38,11 @@
public class ContactEditorUtils {
private static final String TAG = "ContactEditorUtils";
+ private final Context mContext;
private final ContactsPreferences mContactsPrefs;
private ContactEditorUtils(Context context) {
+ mContext = context;
mContactsPrefs = new ContactsPreferences(context);
}
@@ -122,7 +124,7 @@
public void maybeUpdateDefaultAccount(List<AccountWithDataSet> currentWritableAccounts) {
if (currentWritableAccounts.size() == 1) {
final AccountWithDataSet onlyAccount = currentWritableAccounts.get(0);
- if (!onlyAccount.isNullAccount()
+ if (!onlyAccount.equals(AccountWithDataSet.getLocalAccount(mContext))
&& !onlyAccount.equals(mContactsPrefs.getDefaultAccount())) {
mContactsPrefs.setDefaultAccount(onlyAccount);
}
diff --git a/src/com/android/contacts/editor/GroupMembershipView.java b/src/com/android/contacts/editor/GroupMembershipView.java
index f545e7b..fc28e33 100644
--- a/src/com/android/contacts/editor/GroupMembershipView.java
+++ b/src/com/android/contacts/editor/GroupMembershipView.java
@@ -267,8 +267,7 @@
}
private void updateView() {
- if (mGroupMetaData == null || mGroupMetaData.isClosed() || mAccountType == null
- || mAccountName == null) {
+ if (mGroupMetaData == null || mGroupMetaData.isClosed()) {
setVisibility(GONE);
return;
}
@@ -282,8 +281,9 @@
String accountName = mGroupMetaData.getString(GroupMetaDataLoader.ACCOUNT_NAME);
String accountType = mGroupMetaData.getString(GroupMetaDataLoader.ACCOUNT_TYPE);
String dataSet = mGroupMetaData.getString(GroupMetaDataLoader.DATA_SET);
- if (accountName.equals(mAccountName) && accountType.equals(mAccountType)
- && Objects.equal(dataSet, mDataSet)) {
+ if (TextUtils.equals(accountName, mAccountName)
+ && TextUtils.equals(accountType, mAccountType)
+ && TextUtils.equals(dataSet, mDataSet)) {
long groupId = mGroupMetaData.getLong(GroupMetaDataLoader.GROUP_ID);
if (!mGroupMetaData.isNull(GroupMetaDataLoader.FAVORITES)
&& mGroupMetaData.getInt(GroupMetaDataLoader.FAVORITES) != 0) {
@@ -355,8 +355,9 @@
String accountName = mGroupMetaData.getString(GroupMetaDataLoader.ACCOUNT_NAME);
String accountType = mGroupMetaData.getString(GroupMetaDataLoader.ACCOUNT_TYPE);
String dataSet = mGroupMetaData.getString(GroupMetaDataLoader.DATA_SET);
- if (accountName.equals(mAccountName) && accountType.equals(mAccountType)
- && Objects.equal(dataSet, mDataSet)) {
+ if (TextUtils.equals(accountName, mAccountName)
+ && TextUtils.equals(accountType, mAccountType)
+ && TextUtils.equals(dataSet, mDataSet)) {
long groupId = mGroupMetaData.getLong(GroupMetaDataLoader.GROUP_ID);
if (groupId != mFavoritesGroupId
&& (groupId != mDefaultGroupId || mDefaultGroupVisible)) {
diff --git a/src/com/android/contacts/group/GroupMetaData.java b/src/com/android/contacts/group/GroupMetaData.java
index 4a8cb0f..d9ddd11 100644
--- a/src/com/android/contacts/group/GroupMetaData.java
+++ b/src/com/android/contacts/group/GroupMetaData.java
@@ -114,10 +114,7 @@
/** Whether all metadata fields are set. */
public boolean isValid() {
- return uri != null
- && !TextUtils.isEmpty(accountName)
- && !TextUtils.isEmpty(groupName)
- && groupId > 0;
+ return uri != null && !TextUtils.isEmpty(groupName) && groupId > 0;
}
@Override
diff --git a/src/com/android/contacts/group/GroupNameEditDialogFragment.java b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
index 392bf24..b015b0d 100644
--- a/src/com/android/contacts/group/GroupNameEditDialogFragment.java
+++ b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
@@ -27,8 +27,6 @@
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract.Groups;
-import com.google.android.material.textfield.TextInputLayout;
-import androidx.appcompat.app.AlertDialog;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
@@ -39,10 +37,13 @@
import android.widget.EditText;
import android.widget.TextView;
+import androidx.appcompat.app.AlertDialog;
+
import com.android.contacts.ContactSaveService;
import com.android.contacts.R;
import com.android.contacts.model.account.AccountWithDataSet;
+import com.google.android.material.textfield.TextInputLayout;
import com.google.common.base.Strings;
import java.util.Collections;
@@ -69,14 +70,17 @@
/** Callbacks for hosts of the {@link GroupNameEditDialogFragment}. */
public interface Listener {
void onGroupNameEditCancelled();
+
void onGroupNameEditCompleted(String name);
public static final Listener None = new Listener() {
@Override
- public void onGroupNameEditCancelled() { }
+ public void onGroupNameEditCancelled() {
+ }
@Override
- public void onGroupNameEditCompleted(String name) { }
+ public void onGroupNameEditCompleted(String name) {
+ }
};
}
@@ -101,7 +105,7 @@
private static GroupNameEditDialogFragment newInstance(
AccountWithDataSet account, String callbackAction, long groupId, String groupName) {
- if (account == null || account.name == null || account.type == null) {
+ if (account == null) {
throw new IllegalArgumentException("Invalid account");
}
final boolean isInsert = groupId == NO_GROUP_ID;
@@ -279,7 +283,7 @@
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
// Only a single loader so id is ignored.
return new CursorLoader(getActivity(), Groups.CONTENT_SUMMARY_URI,
- new String[] { Groups.TITLE, Groups.SYSTEM_ID, Groups.ACCOUNT_TYPE,
+ new String[]{Groups.TITLE, Groups.SYSTEM_ID, Groups.ACCOUNT_TYPE,
Groups.SUMMARY_COUNT, Groups.GROUP_IS_READ_ONLY},
getSelection(), getSelectionArgs(), null);
}
@@ -353,24 +357,30 @@
private String getSelection() {
final StringBuilder builder = new StringBuilder();
- builder.append(Groups.ACCOUNT_NAME).append("=? AND ")
- .append(Groups.ACCOUNT_TYPE).append("=? AND ")
- .append(Groups.DELETED).append("=?");
- if (mAccount.dataSet != null) {
- builder.append(" AND ").append(Groups.DATA_SET).append("=?");
- }
+ builder.append(Groups.ACCOUNT_NAME).append(mAccount.name == null ? " IS NULL " : "=?")
+ .append(" AND ")
+ .append(Groups.ACCOUNT_TYPE).append(mAccount.type == null ? " IS NULL " : "=?")
+ .append(" AND ")
+ .append(Groups.DATA_SET).append(mAccount.dataSet == null ? " IS NULL " : "=?")
+ .append(" AND ")
+ .append(Groups.DELETED).append("=0");
return builder.toString();
}
private String[] getSelectionArgs() {
- final int len = mAccount.dataSet == null ? 3 : 4;
- final String[] args = new String[len];
- args[0] = mAccount.name;
- args[1] = mAccount.type;
- args[2] = "0"; // Not deleted
- if (mAccount.dataSet != null) {
- args[3] = mAccount.dataSet;
+ if (mAccount.isNullAccount()) {
+ return null;
+ } else if (mAccount.dataSet == null) {
+ return new String[]{
+ mAccount.name,
+ mAccount.type
+ };
+ } else {
+ return new String[]{
+ mAccount.name,
+ mAccount.type,
+ mAccount.dataSet
+ };
}
- return args;
}
}
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index 706f16b..dae4f4e 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -46,9 +46,7 @@
*/
public final class GroupUtil {
- public final static String ALL_GROUPS_SELECTION =
- Groups.ACCOUNT_TYPE + " NOT NULL AND " + Groups.ACCOUNT_NAME + " NOT NULL AND "
- + Groups.DELETED + "=0";
+ public final static String ALL_GROUPS_SELECTION = Groups.DELETED + "=0";
public final static String DEFAULT_SELECTION = ALL_GROUPS_SELECTION + " AND "
+ Groups.AUTO_ADD + "=0 AND " + Groups.FAVORITES + "=0";
diff --git a/src/com/android/contacts/list/ContactListFilter.java b/src/com/android/contacts/list/ContactListFilter.java
index 32e4b9c..091a0c2 100644
--- a/src/com/android/contacts/list/ContactListFilter.java
+++ b/src/com/android/contacts/list/ContactListFilter.java
@@ -45,6 +45,7 @@
public static final int FILTER_TYPE_SINGLE_CONTACT = -6;
public static final int FILTER_TYPE_GROUP_MEMBERS = -7;
public static final int FILTER_TYPE_DEVICE_CONTACTS = -8;
+ public static final int FILTER_TYPE_SIM_CONTACTS = -9;
public static final int FILTER_TYPE_ACCOUNT = 0;
@@ -104,6 +105,12 @@
account.type, account.name, account.dataSet, icon);
}
+ public static ContactListFilter createSimContactsFilter(Drawable icon,
+ AccountWithDataSet account) {
+ return new ContactListFilter(ContactListFilter.FILTER_TYPE_SIM_CONTACTS,
+ account.type, account.name, account.dataSet, icon);
+ }
+
/**
* Whether the given {@link ContactListFilter} has a filter type that should be displayed as
* the default contacts list view.
@@ -347,7 +354,8 @@
}
public AccountWithDataSet toAccountWithDataSet() {
- if (filterType == FILTER_TYPE_ACCOUNT || filterType == FILTER_TYPE_DEVICE_CONTACTS) {
+ if (filterType == FILTER_TYPE_ACCOUNT || filterType == FILTER_TYPE_DEVICE_CONTACTS
+ || filterType == FILTER_TYPE_SIM_CONTACTS) {
return new AccountWithDataSet(accountName, accountType, dataSet);
} else {
throw new IllegalStateException("Cannot create Account from filter type " +
diff --git a/src/com/android/contacts/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index 20c1a8f..0744f6d 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -90,7 +90,8 @@
final ContactListFilter filter = getFilter();
configureUri(loader, directoryId, filter);
if (filter != null
- && filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
+ && (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS
+ || filter.filterType == ContactListFilter.FILTER_TYPE_SIM_CONTACTS)) {
loader.setProjection(getDataProjectionForContacts(false));
} else {
loader.setProjection(getProjection(false));
@@ -140,7 +141,8 @@
} else {
uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, getSelectedContactId());
}
- } else if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
+ } else if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS
+ || filter.filterType == ContactListFilter.FILTER_TYPE_SIM_CONTACTS) {
uri = Data.CONTENT_URI;
}
}
@@ -209,7 +211,8 @@
case ContactListFilter.FILTER_TYPE_GROUP_MEMBERS: {
break;
}
- case ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS: {
+ case ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS:
+ case ContactListFilter.FILTER_TYPE_SIM_CONTACTS: {
if (filter.accountType != null) {
selection.append(ContactsContract.RawContacts.ACCOUNT_TYPE)
.append("=?");
diff --git a/src/com/android/contacts/list/GroupMemberPickerFragment.java b/src/com/android/contacts/list/GroupMemberPickerFragment.java
index e94d73b..68cb6ce 100644
--- a/src/com/android/contacts/list/GroupMemberPickerFragment.java
+++ b/src/com/android/contacts/list/GroupMemberPickerFragment.java
@@ -245,8 +245,12 @@
@Override
protected DefaultContactListAdapter createListAdapter() {
final DefaultContactListAdapter adapter = new DefaultContactListAdapter(getActivity());
- adapter.setFilter(ContactListFilter.createGroupMembersFilter(
- mAccountType, mAccountName, mAccountDataSet));
+ if (mAccountName == null && mAccountType == null && mAccountDataSet == null) {
+ adapter.setFilter(ContactListFilter.createDeviceContactsFilter(/*icon=*/null));
+ } else {
+ adapter.setFilter(ContactListFilter.createGroupMembersFilter(
+ mAccountType, mAccountName, mAccountDataSet));
+ }
adapter.setSectionHeaderDisplayEnabled(true);
adapter.setDisplayPhotos(true);
return adapter;
diff --git a/src/com/android/contacts/model/AccountTypeManager.java b/src/com/android/contacts/model/AccountTypeManager.java
index 196e67f..8e01358 100644
--- a/src/com/android/contacts/model/AccountTypeManager.java
+++ b/src/com/android/contacts/model/AccountTypeManager.java
@@ -27,17 +27,15 @@
import android.content.SharedPreferences;
import android.content.SyncStatusObserver;
import android.content.pm.PackageManager;
-import android.database.ContentObserver;
-import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.provider.ContactsContract;
-import androidx.core.content.ContextCompat;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
-import com.android.contacts.Experiments;
+import androidx.core.content.ContextCompat;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
+
import com.android.contacts.R;
import com.android.contacts.list.ContactListFilterController;
import com.android.contacts.model.account.AccountInfo;
@@ -47,12 +45,13 @@
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.model.account.FallbackAccountType;
import com.android.contacts.model.account.GoogleAccountType;
+import com.android.contacts.model.account.SimAccountType;
import com.android.contacts.model.dataitem.DataKind;
import com.android.contacts.util.concurrent.ContactsExecutors;
-import com.android.contactsbind.experiments.Flags;
-import com.google.common.base.Preconditions;
+
import com.google.common.base.Function;
import com.google.common.base.Objects;
+import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
import com.google.common.util.concurrent.FutureCallback;
@@ -95,6 +94,13 @@
return input != null && input.getType().areContactsWritable();
}
},
+ DRAWER_DISPLAYABLE {
+ @Override
+ public boolean apply(@Nullable AccountInfo input) {
+ return input != null && ((input.getType() instanceof SimAccountType)
+ || input.getType().areContactsWritable());
+ }
+ },
GROUPS_WRITABLE {
@Override
public boolean apply(@Nullable AccountInfo input) {
@@ -327,6 +333,10 @@
return AccountFilter.CONTACTS_WRITABLE;
}
+ public static Predicate<AccountInfo> drawerDisplayableFilter() {
+ return AccountFilter.DRAWER_DISPLAYABLE;
+ }
+
public static Predicate<AccountInfo> groupWritableFilter() {
return AccountFilter.GROUPS_WRITABLE;
}
@@ -345,9 +355,11 @@
private final AccountType mFallbackAccountType;
private ListenableFuture<List<AccountWithDataSet>> mLocalAccountsFuture;
+ private ListenableFuture<List<AccountWithDataSet>> mSimAccountsFuture;
private ListenableFuture<AccountTypeProvider> mAccountTypesFuture;
private List<AccountWithDataSet> mLocalAccounts = new ArrayList<>();
+ private List<AccountWithDataSet> mSimAccounts = new ArrayList<>();
private List<AccountWithDataSet> mAccountManagerAccounts = new ArrayList<>();
private final Handler mMainThreadHandler = new Handler(Looper.getMainLooper());
@@ -362,7 +374,7 @@
};
- private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
+ private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Don't use reloadAccountTypesIfNeeded when packages change in case a contacts.xml
@@ -371,12 +383,22 @@
}
};
+ private final BroadcastReceiver mSimBroadcastReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (ContactsContract.SimContacts.ACTION_SIM_ACCOUNTS_CHANGED.equals(
+ intent.getAction())) {
+ reloadSimAccounts();
+ }
+ }
+ };
+
/**
* Internal constructor that only performs initial parsing.
*/
public AccountTypeManagerImpl(Context context) {
mContext = context;
- mLocalAccountLocator = DeviceLocalAccountLocator.create(context);
+ mLocalAccountLocator = new DeviceLocalAccountLocator(context, AccountManager.get(context));
mTypeProvider = new AccountTypeProvider(context);
mFallbackAccountType = new FallbackAccountType(context);
@@ -401,30 +423,14 @@
filter = new IntentFilter(Intent.ACTION_LOCALE_CHANGED);
mContext.registerReceiver(mBroadcastReceiver, filter);
+ IntentFilter simFilter = new IntentFilter(
+ ContactsContract.SimContacts.ACTION_SIM_ACCOUNTS_CHANGED);
+ mContext.registerReceiver(mSimBroadcastReceiver, simFilter);
+
mAccountManager.addOnAccountsUpdatedListener(this, mMainThreadHandler, false);
ContentResolver.addStatusChangeListener(ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS, this);
- // Observe changes to RAW_CONTACTS so that we will update the list of "Device" accounts
- // if a new device contact is added or removed.
- mContext.getContentResolver().registerContentObserver(
- ContactsContract.RawContacts.CONTENT_URI, /* notifyDescendents */ true,
- new ContentObserver(mMainThreadHandler) {
- @Override
- public boolean deliverSelfNotifications() {
- return true;
- }
-
- @Override
- public void onChange(boolean selfChange) {
- reloadLocalAccounts();
- }
-
- @Override
- public void onChange(boolean selfChange, Uri uri) {
- reloadLocalAccounts();
- }
- });
loadAccountTypes();
}
@@ -463,6 +469,9 @@
if (mLocalAccountsFuture == null) {
reloadLocalAccounts();
}
+ if (mSimAccountsFuture == null) {
+ reloadSimAccounts();
+ }
}
private synchronized void loadAccountTypes() {
@@ -523,6 +532,28 @@
mMainThreadExecutor);
}
+ private synchronized void loadSimAccounts() {
+ mSimAccountsFuture = mExecutor.submit(new Callable<List<AccountWithDataSet>>() {
+ @Override
+ public List<AccountWithDataSet> call() throws Exception {
+ List<AccountWithDataSet> simAccountWithDataSets = new ArrayList<>();
+ List<ContactsContract.SimAccount> simAccounts =
+ ContactsContract.SimContacts.getSimAccounts(mContext.getContentResolver());
+ for (ContactsContract.SimAccount simAccount : simAccounts) {
+ simAccountWithDataSets.add(new AccountWithDataSet(simAccount.getAccountName(),
+ simAccount.getAccountType(), null));
+ }
+ return simAccountWithDataSets;
+ }
+ });
+ }
+
+ private synchronized void reloadSimAccounts() {
+ loadSimAccounts();
+ Futures.addCallback(mSimAccountsFuture, newAccountsUpdatedCallback(mSimAccounts),
+ mMainThreadExecutor);
+ }
+
@Override
public ListenableFuture<List<AccountInfo>> getAccountsAsync() {
return getAllAccountsAsyncInternal();
@@ -536,7 +567,8 @@
Futures.successfulAsList(
Futures.transform(mAccountTypesFuture, mAccountsExtractor,
MoreExecutors.directExecutor()),
- mLocalAccountsFuture));
+ mLocalAccountsFuture,
+ mSimAccountsFuture));
return Futures.transform(all, new Function<List<List<AccountWithDataSet>>,
List<AccountInfo>>() {
@@ -545,8 +577,9 @@
public List<AccountInfo> apply(@Nullable List<List<AccountWithDataSet>> input) {
// input.get(0) contains accounts from AccountManager
// input.get(1) contains device local accounts
- Preconditions.checkArgument(input.size() == 2,
- "List should have exactly 2 elements");
+ // input.get(2) contains SIM accounts
+ Preconditions.checkArgument(input.size() == 3,
+ "List should have exactly 3 elements");
final List<AccountInfo> result = new ArrayList<>();
for (AccountWithDataSet account : input.get(0)) {
@@ -558,6 +591,11 @@
result.add(
typeProvider.getTypeForAccount(account).wrapAccount(mContext, account));
}
+
+ for (AccountWithDataSet account : input.get(2)) {
+ result.add(
+ typeProvider.getTypeForAccount(account).wrapAccount(mContext, account));
+ }
AccountInfo.sortAccounts(null, result);
return result;
}
diff --git a/src/com/android/contacts/model/ContactLoader.java b/src/com/android/contacts/model/ContactLoader.java
index cf5442f..9e690e3 100644
--- a/src/com/android/contacts/model/ContactLoader.java
+++ b/src/com/android/contacts/model/ContactLoader.java
@@ -887,24 +887,12 @@
.getViewContactNotifyServicePackageName();
if (!TextUtils.isEmpty(serviceName) && !TextUtils.isEmpty(servicePackageName)) {
final Uri uri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId);
- final Intent intent = new Intent();
- intent.setDataAndType(uri, RawContacts.CONTENT_ITEM_TYPE);
if (accountType instanceof GoogleAccountType) {
- intent.setPackage(servicePackageName);
- intent
- .setAction("com.google.android.syncadapters.contacts.SYNC_HIGH_RES_PHOTO");
- List<ResolveInfo> broadcastReceivers =
- context.getPackageManager().queryBroadcastReceivers(intent, 0);
- if (!broadcastReceivers.isEmpty()) {
- if (Log.isLoggable(TAG, Log.DEBUG)) {
- for (ResolveInfo broadcastReceiver : broadcastReceivers) {
- Log.d(TAG, broadcastReceiver.activityInfo.toString());
- }
- }
- context.sendBroadcast(intent);
- continue;
- }
+ ((GoogleAccountType) accountType).handleRawContactViewed(context, uri);
+ continue;
}
+ final Intent intent = new Intent();
+ intent.setData(uri);
// TODO: Social Stream API is deprecated, and once the opted-in
// sync adapters target Android O+, we won't be able to start their services
// since they'll likely be in the background, so we'll need to remove the
diff --git a/src/com/android/contacts/model/Cp2DeviceLocalAccountLocator.java b/src/com/android/contacts/model/Cp2DeviceLocalAccountLocator.java
deleted file mode 100644
index 32912dc..0000000
--- a/src/com/android/contacts/model/Cp2DeviceLocalAccountLocator.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * 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.model;
-
-import android.accounts.AccountManager;
-import android.content.ContentResolver;
-import android.database.Cursor;
-import android.net.Uri;
-import android.provider.ContactsContract;
-import androidx.annotation.VisibleForTesting;
-
-import com.android.contacts.model.account.AccountWithDataSet;
-import com.android.contacts.util.DeviceLocalAccountTypeFactory;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Attempts to create accounts for "Device" contacts by querying
- * CP2 for records with {@link android.provider.ContactsContract.RawContacts#ACCOUNT_TYPE} columns
- * that do not exist for any account returned by {@link AccountManager#getAccounts()}
- *
- * This class should be used from a background thread since it does DB queries
- */
-public class Cp2DeviceLocalAccountLocator extends DeviceLocalAccountLocator {
-
- // Note this class is assuming ACCOUNT_NAME and ACCOUNT_TYPE have same values in
- // RawContacts, Groups, and Settings. This assumption simplifies the code somewhat and it
- // is true right now and unlikely to ever change.
- @VisibleForTesting
- static String[] PROJECTION = new String[] {
- ContactsContract.RawContacts.ACCOUNT_NAME, ContactsContract.RawContacts.ACCOUNT_TYPE,
- ContactsContract.RawContacts.DATA_SET
- };
-
- private static final int COL_NAME = 0;
- private static final int COL_TYPE = 1;
- private static final int COL_DATA_SET = 2;
-
- private final ContentResolver mResolver;
- private final DeviceLocalAccountTypeFactory mAccountTypeFactory;
-
- private final String mSelection;
- private final String[] mSelectionArgs;
-
- public Cp2DeviceLocalAccountLocator(ContentResolver contentResolver,
- DeviceLocalAccountTypeFactory factory,
- Set<String> knownAccountTypes) {
- mResolver = contentResolver;
- mAccountTypeFactory = factory;
-
- mSelection = getSelection(knownAccountTypes);
- mSelectionArgs = getSelectionArgs(knownAccountTypes);
- }
-
- @Override
- public List<AccountWithDataSet> getDeviceLocalAccounts() {
-
- final Set<AccountWithDataSet> localAccounts = new HashSet<>();
-
- // Many device accounts have default groups associated with them.
- addAccountsFromQuery(ContactsContract.Groups.CONTENT_URI, localAccounts);
- addAccountsFromQuery(ContactsContract.Settings.CONTENT_URI, localAccounts);
- addAccountsFromQuery(ContactsContract.RawContacts.CONTENT_URI, localAccounts);
-
- return new ArrayList<>(localAccounts);
- }
-
- private void addAccountsFromQuery(Uri uri, Set<AccountWithDataSet> accounts) {
- final Cursor cursor = mResolver.query(uri, PROJECTION, mSelection, mSelectionArgs, null);
-
- if (cursor == null) return;
-
- try {
- addAccountsFromCursor(cursor, accounts);
- } finally {
- cursor.close();
- }
- }
-
- private void addAccountsFromCursor(Cursor cursor, Set<AccountWithDataSet> accounts) {
- while (cursor.moveToNext()) {
- final String name = cursor.getString(COL_NAME);
- final String type = cursor.getString(COL_TYPE);
- final String dataSet = cursor.getString(COL_DATA_SET);
-
- if (DeviceLocalAccountTypeFactory.Util.isLocalAccountType(
- mAccountTypeFactory, type)) {
- accounts.add(new AccountWithDataSet(name, type, dataSet));
- }
- }
- }
-
- @VisibleForTesting
- public String getSelection() {
- return mSelection;
- }
-
- @VisibleForTesting
- public String[] getSelectionArgs() {
- return mSelectionArgs;
- }
-
- private static String getSelection(Set<String> knownAccountTypes) {
- final StringBuilder sb = new StringBuilder()
- .append(ContactsContract.RawContacts.ACCOUNT_TYPE).append(" IS NULL");
- if (knownAccountTypes.isEmpty()) {
- return sb.toString();
- }
- sb.append(" OR ").append(ContactsContract.RawContacts.ACCOUNT_TYPE).append(" NOT IN (");
- for (String ignored : knownAccountTypes) {
- sb.append("?,");
- }
- // Remove trailing ','
- sb.deleteCharAt(sb.length() - 1).append(')');
- return sb.toString();
- }
-
- private static String[] getSelectionArgs(Set<String> knownAccountTypes) {
- if (knownAccountTypes.isEmpty()) return null;
-
- return knownAccountTypes.toArray(new String[knownAccountTypes.size()]);
- }
-}
diff --git a/src/com/android/contacts/model/DeviceLocalAccountLocator.java b/src/com/android/contacts/model/DeviceLocalAccountLocator.java
index 2b987d3..e8a2ba0 100644
--- a/src/com/android/contacts/model/DeviceLocalAccountLocator.java
+++ b/src/com/android/contacts/model/DeviceLocalAccountLocator.java
@@ -18,92 +18,40 @@
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Context;
-import android.database.Cursor;
import android.provider.ContactsContract;
-import com.android.contacts.Experiments;
import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.model.account.GoogleAccountType;
-import com.android.contactsbind.ObjectFactory;
-import com.android.contactsbind.experiments.Flags;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
/**
* Attempts to detect accounts for device contacts
*/
-public abstract class DeviceLocalAccountLocator {
+public final class DeviceLocalAccountLocator {
+
+ private final Context mContext;
+ private final AccountManager mAccountManager;
+ private final List<AccountWithDataSet> mLocalAccount;
+
+ public DeviceLocalAccountLocator(Context context, AccountManager accountManager) {
+ mContext = context;
+ mAccountManager = accountManager;
+ mLocalAccount = Collections.singletonList(AccountWithDataSet.getLocalAccount(context));
+ }
/**
* Returns a list of device local accounts
*/
- public abstract List<AccountWithDataSet> getDeviceLocalAccounts();
+ public List<AccountWithDataSet> getDeviceLocalAccounts() {
+ @SuppressWarnings("MissingPermission") final Account[] accounts = mAccountManager
+ .getAccountsByType(GoogleAccountType.ACCOUNT_TYPE);
- // This works on Nexus and AOSP because the local device account is the null account but most
- // OEMs have a special account name and type for their device account.
- public static final DeviceLocalAccountLocator NULL_ONLY = new DeviceLocalAccountLocator() {
- @Override
- public List<AccountWithDataSet> getDeviceLocalAccounts() {
- return Collections.singletonList(AccountWithDataSet.getNullAccount());
- }
- };
-
- public static DeviceLocalAccountLocator create(Context context,
- Set<String> knownAccountTypes) {
- if (Flags.getInstance().getBoolean(Experiments.CP2_DEVICE_ACCOUNT_DETECTION_ENABLED)) {
- return new Cp2DeviceLocalAccountLocator(context.getContentResolver(),
- ObjectFactory.getDeviceLocalAccountTypeFactory(context), knownAccountTypes);
- }
- return NULL_ONLY;
- }
-
- public static DeviceLocalAccountLocator create(Context context) {
- final AccountManager accountManager =
- (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE);
- final Set<String> knownTypes = new HashSet<>();
- for (Account account : accountManager.getAccounts()) {
- knownTypes.add(account.type);
- }
- if (Flags.getInstance().getBoolean(Experiments.CP2_DEVICE_ACCOUNT_DETECTION_ENABLED)) {
- return new Cp2DeviceLocalAccountLocator(context.getContentResolver(),
- ObjectFactory.getDeviceLocalAccountTypeFactory(context), knownTypes);
+ if (accounts.length > 0 && !mLocalAccount.get(0).hasData(mContext)) {
+ return Collections.emptyList();
} else {
- return new NexusDeviceAccountLocator(context, accountManager);
- }
- }
-
- /**
- * On Nexus the "device" account uses "null" values for the account name and type columns
- *
- * <p>However, the focus sync adapter migrates contacts from this null account to a Google
- * account if one exists. Hence, the device account should be returned only when there is no
- * Google Account added or when there already exists contacts in the null account.
- * </p>
- */
- public static class NexusDeviceAccountLocator extends DeviceLocalAccountLocator {
- private final Context mContext;
- private final AccountManager mAccountManager;
-
-
- public NexusDeviceAccountLocator(Context context, AccountManager accountManager) {
- mContext = context;
- mAccountManager = accountManager;
- }
-
- @Override
- public List<AccountWithDataSet> getDeviceLocalAccounts() {
- @SuppressWarnings("MissingPermission")
- final Account[] accounts = mAccountManager
- .getAccountsByType(GoogleAccountType.ACCOUNT_TYPE);
-
- if (accounts.length > 0 && !AccountWithDataSet.getNullAccount().hasData(mContext)) {
- return Collections.emptyList();
- } else {
- return Collections.singletonList(AccountWithDataSet.getNullAccount());
- }
+ return mLocalAccount;
}
}
}
diff --git a/src/com/android/contacts/model/SimCard.java b/src/com/android/contacts/model/SimCard.java
index ea74379..969d96d 100644
--- a/src/com/android/contacts/model/SimCard.java
+++ b/src/com/android/contacts/model/SimCard.java
@@ -19,6 +19,7 @@
import androidx.annotation.RequiresApi;
import android.telephony.PhoneNumberUtils;
import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.util.Log;
@@ -78,11 +79,6 @@
mCountryCode = countryCode != null ? countryCode.toUpperCase(Locale.US) : null;
}
- public SimCard(String simId, CharSequence carrierName,
- CharSequence displayName, String phoneNumber, String countryCode) {
- this(simId, NO_SUBSCRIPTION_ID, carrierName, displayName, phoneNumber, countryCode);
- }
-
public String getSimId() {
return mSimId;
}
@@ -245,12 +241,14 @@
public static SimCard create(TelephonyManager telephony, String displayLabel) {
if (telephony.getSimState() == TelephonyManager.SIM_STATE_READY) {
- return new SimCard(telephony.getSimSerialNumber(),
+ return new SimCard(telephony.getSimSerialNumber(), telephony.getSubscriptionId(),
telephony.getSimOperatorName(), displayLabel, telephony.getLine1Number(),
telephony.getSimCountryIso());
} else {
// This should never happen but in case it does just fallback to an "empty" instance
- return new SimCard(/* SIM id */ "", /* operator name */ null, displayLabel,
+ return new SimCard(/* SIM id */ "",
+ /* subscriptionId */ SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+ /* operator name */ null, displayLabel,
/* phone number */ "", /* Country code */ null);
}
}
diff --git a/src/com/android/contacts/model/SimContact.java b/src/com/android/contacts/model/SimContact.java
index 7babe27..820e346 100644
--- a/src/com/android/contacts/model/SimContact.java
+++ b/src/com/android/contacts/model/SimContact.java
@@ -43,28 +43,28 @@
* Holds data for contacts loaded from the SIM card.
*/
public class SimContact implements Parcelable {
- private final long mId;
+ private final int mRecordNumber;
private final String mName;
private final String mPhone;
private final String[] mEmails;
- public SimContact(long id, String name, String phone) {
- this(id, name, phone, null);
+ public SimContact(int recordNumber, String name, String phone) {
+ this(recordNumber, name, phone, null);
}
- public SimContact(long id, String name, String phone, String[] emails) {
- mId = id;
+ public SimContact(int recordNumber, String name, String phone, String[] emails) {
+ mRecordNumber = recordNumber;
mName = name;
mPhone = phone == null ? "" : phone.trim();
mEmails = emails;
}
public SimContact(SimContact other) {
- this(other.mId, other.mName, other.mPhone, other.mEmails);
+ this(other.mRecordNumber, other.mName, other.mPhone, other.mEmails);
}
- public long getId() {
- return mId;
+ public int getRecordNumber() {
+ return mRecordNumber;
}
public String getName() {
@@ -117,7 +117,7 @@
}
public void appendAsContactRow(MatrixCursor cursor) {
- cursor.newRow().add(ContactsContract.Contacts._ID, mId)
+ cursor.newRow().add(ContactsContract.Contacts._ID, mRecordNumber)
.add(ContactsContract.Contacts.DISPLAY_NAME_PRIMARY, mName)
.add(ContactsContract.Contacts.LOOKUP_KEY, getLookupKey());
}
@@ -152,7 +152,7 @@
@Override
public String toString() {
return "SimContact{" +
- "mId=" + mId +
+ "mId=" + mRecordNumber +
", mName='" + mName + '\'' +
", mPhone='" + mPhone + '\'' +
", mEmails=" + Arrays.toString(mEmails) +
@@ -166,13 +166,13 @@
final SimContact that = (SimContact) o;
- return mId == that.mId && Objects.equals(mName, that.mName) &&
+ return mRecordNumber == that.mRecordNumber && Objects.equals(mName, that.mName) &&
Objects.equals(mPhone, that.mPhone) && Arrays.equals(mEmails, that.mEmails);
}
@Override
public int hashCode() {
- int result = (int) (mId ^ (mId >>> 32));
+ int result = (int) (mRecordNumber ^ (mRecordNumber >>> 32));
result = 31 * result + (mName != null ? mName.hashCode() : 0);
result = 31 * result + (mPhone != null ? mPhone.hashCode() : 0);
result = 31 * result + Arrays.hashCode(mEmails);
@@ -186,7 +186,7 @@
@Override
public void writeToParcel(Parcel dest, int flags) {
- dest.writeLong(mId);
+ dest.writeInt(mRecordNumber);
dest.writeString(mName);
dest.writeString(mPhone);
dest.writeStringArray(mEmails);
@@ -195,11 +195,11 @@
public static final Creator<SimContact> CREATOR = new Creator<SimContact>() {
@Override
public SimContact createFromParcel(Parcel source) {
- final long id = source.readLong();
+ final int recordNumber = source.readInt();
final String name = source.readString();
final String phone = source.readString();
final String[] emails = source.createStringArray();
- return new SimContact(id, name, phone, emails);
+ return new SimContact(recordNumber, name, phone, emails);
}
@Override
@@ -253,7 +253,7 @@
@Override
public int compare(SimContact lhs, SimContact rhs) {
// We assume ids are unique.
- return Long.compare(lhs.mId, rhs.mId);
+ return Long.compare(lhs.mRecordNumber, rhs.mRecordNumber);
}
};
}
diff --git a/src/com/android/contacts/model/account/AccountTypeProvider.java b/src/com/android/contacts/model/account/AccountTypeProvider.java
index 4f83ec6..2888dfa 100644
--- a/src/com/android/contacts/model/account/AccountTypeProvider.java
+++ b/src/com/android/contacts/model/account/AccountTypeProvider.java
@@ -83,7 +83,8 @@
*/
public List<AccountType> getAccountTypes(String accountType) {
// ConcurrentHashMap doesn't support null keys
- if (accountType == null) {
+ if (accountType == null || mLocalAccountTypeFactory.classifyAccount(accountType)
+ == DeviceLocalAccountTypeFactory.TYPE_SIM) {
AccountType type = mLocalAccountTypeFactory.getAccountType(accountType);
// Just in case the DeviceLocalAccountTypeFactory doesn't handle the null type
if (type == null) {
diff --git a/src/com/android/contacts/model/account/AccountWithDataSet.java b/src/com/android/contacts/model/account/AccountWithDataSet.java
index a163139..358ef9c 100644
--- a/src/com/android/contacts/model/account/AccountWithDataSet.java
+++ b/src/com/android/contacts/model/account/AccountWithDataSet.java
@@ -21,6 +21,7 @@
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
+import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;
import android.provider.BaseColumns;
@@ -28,8 +29,6 @@
import android.provider.ContactsContract.RawContacts;
import android.text.TextUtils;
-import com.android.contacts.model.AccountTypeManager;
-import com.android.contacts.preference.ContactsPreferences;
import com.google.common.base.Objects;
import com.google.common.collect.Lists;
@@ -88,6 +87,15 @@
return new AccountWithDataSet(null, null, null);
}
+ public static AccountWithDataSet getLocalAccount(Context context) {
+ return android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.R
+ ? getNullAccount()
+ : new AccountWithDataSet(
+ RawContacts.getLocalAccountName(context),
+ RawContacts.getLocalAccountType(context),
+ null);
+ }
+
public Account getAccountOrNull() {
if (name != null && type != null) {
return new Account(name, type);
@@ -255,4 +263,3 @@
return ret;
}
}
-
diff --git a/src/com/android/contacts/model/account/BaseAccountType.java b/src/com/android/contacts/model/account/BaseAccountType.java
index b242950..59ad742 100644
--- a/src/com/android/contacts/model/account/BaseAccountType.java
+++ b/src/com/android/contacts/model/account/BaseAccountType.java
@@ -35,6 +35,7 @@
import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
import android.provider.ContactsContract.CommonDataKinds.Website;
import android.provider.ContactsContract.Data;
+import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.inputmethod.EditorInfo;
@@ -368,6 +369,8 @@
kind.fieldList = Lists.newArrayList();
kind.fieldList.add(new EditField(Organization.COMPANY, R.string.ghostData_company,
FLAGS_GENERIC_NAME));
+ kind.fieldList.add(new EditField(Organization.DEPARTMENT, R.string.ghostData_department,
+ FLAGS_GENERIC_NAME));
kind.fieldList.add(new EditField(Organization.TITLE, R.string.ghostData_title,
FLAGS_GENERIC_NAME));
@@ -629,23 +632,25 @@
}
}
- public static final StringInflater ORGANIZATION_BODY_INFLATER = new StringInflater() {
- @Override
- public CharSequence inflateUsing(Context context, ContentValues values) {
- final CharSequence companyValue = values.containsKey(Organization.COMPANY) ?
- values.getAsString(Organization.COMPANY) : null;
- final CharSequence titleValue = values.containsKey(Organization.TITLE) ?
- values.getAsString(Organization.TITLE) : null;
+ public static final StringInflater ORGANIZATION_BODY_INFLATER =
+ (context, values) -> {
+ List<String> text = Lists.newArrayList();
- if (companyValue != null && titleValue != null) {
- return companyValue + ": " + titleValue;
- } else if (companyValue == null) {
- return titleValue;
- } else {
- return companyValue;
- }
+ if (values.containsKey(Organization.COMPANY)) {
+ text.add(values.getAsString(Organization.COMPANY));
}
- };
+ if (values.containsKey(Organization.DEPARTMENT)) {
+ text.add(values.getAsString(Organization.DEPARTMENT));
+ }
+ if (values.containsKey(Organization.TITLE)) {
+ text.add(values.getAsString(Organization.TITLE));
+ }
+
+ if (!text.isEmpty()) {
+ return TextUtils.join(": ", text);
+ }
+ return null;
+ };
@Override
public boolean isGroupMembershipEditable() {
@@ -1233,6 +1238,8 @@
kind.fieldList.add(new EditField(Organization.COMPANY, R.string.ghostData_company,
FLAGS_GENERIC_NAME));
+ kind.fieldList.add(new EditField(Organization.DEPARTMENT, R.string.ghostData_department,
+ FLAGS_GENERIC_NAME));
kind.fieldList.add(new EditField(Organization.TITLE, R.string.ghostData_title,
FLAGS_GENERIC_NAME));
diff --git a/src/com/android/contacts/model/account/ExchangeAccountType.java b/src/com/android/contacts/model/account/ExchangeAccountType.java
index bd79852..76b5309 100644
--- a/src/com/android/contacts/model/account/ExchangeAccountType.java
+++ b/src/com/android/contacts/model/account/ExchangeAccountType.java
@@ -246,6 +246,8 @@
kind.fieldList = Lists.newArrayList();
kind.fieldList.add(new EditField(Organization.COMPANY, R.string.ghostData_company,
FLAGS_GENERIC_NAME));
+ kind.fieldList.add(new EditField(Organization.DEPARTMENT, R.string.ghostData_department,
+ FLAGS_GENERIC_NAME));
kind.fieldList.add(new EditField(Organization.TITLE, R.string.ghostData_title,
FLAGS_GENERIC_NAME));
diff --git a/src/com/android/contacts/model/account/GoogleAccountType.java b/src/com/android/contacts/model/account/GoogleAccountType.java
index c7aac76..14d8a3d 100644
--- a/src/com/android/contacts/model/account/GoogleAccountType.java
+++ b/src/com/android/contacts/model/account/GoogleAccountType.java
@@ -18,10 +18,14 @@
import android.content.ContentValues;
import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.net.Uri;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.provider.ContactsContract.CommonDataKinds.Event;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.Relation;
+import android.util.Log;
import com.android.contacts.R;
import com.android.contacts.model.dataitem.DataKind;
@@ -203,4 +207,27 @@
public String getViewContactNotifyServicePackageName() {
return "com.google.android.syncadapters.contacts";
}
+
+ /**
+ * Sends a broadcast to the sync adapter to trigger a high res photo sync for the contact which
+ * was viewed
+ * @param context context to send broadcast in
+ * @param rawContactUri Uri of the raw contact viewed
+ */
+ public void handleRawContactViewed(Context context, Uri rawContactUri) {
+ final Intent intent = new Intent();
+ intent.setData(rawContactUri);
+ // New broadcast for syncing high res photo.
+ intent.setPackage(GoogleAccountType.PLUS_EXTENSION_PACKAGE_NAME);
+ intent.setAction(
+ "com.google.android.gms.people.sync.focus.SYNC_HIGH_RES_PHOTO");
+
+ context.sendBroadcast(intent);
+
+ // Old broadcast. This can be removed in T
+ intent.setPackage(getViewContactNotifyServicePackageName());
+ intent.setAction(
+ "com.google.android.syncadapters.contacts.SYNC_HIGH_RES_PHOTO");
+ context.sendBroadcast(intent);
+ }
}
diff --git a/src/com/android/contacts/model/account/SimAccountType.java b/src/com/android/contacts/model/account/SimAccountType.java
index 360e944..19332e6 100644
--- a/src/com/android/contacts/model/account/SimAccountType.java
+++ b/src/com/android/contacts/model/account/SimAccountType.java
@@ -17,9 +17,14 @@
import android.accounts.AuthenticatorDescription;
import android.content.Context;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
import android.provider.ContactsContract.CommonDataKinds.Nickname;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
+import androidx.core.content.ContextCompat;
+import androidx.core.content.res.ResourcesCompat;
+
import com.android.contacts.R;
import com.android.contacts.model.dataitem.DataKind;
@@ -55,7 +60,7 @@
@Override
public boolean areContactsWritable() {
- return true;
+ return false;
}
@Override
@@ -114,6 +119,14 @@
}
@Override
+ public Drawable getDisplayIcon(Context context) {
+ final Drawable icon = ResourcesCompat.getDrawable(context.getResources(), iconRes, null);
+ icon.mutate().setColorFilter(ContextCompat.getColor(context,
+ R.color.actionbar_icon_color_grey), PorterDuff.Mode.SRC_ATOP);
+ return icon;
+ }
+
+ @Override
public AccountInfo wrapAccount(Context context, AccountWithDataSet account) {
// Use the "SIM" type label for the name as well because on OEM phones the "name" is
// not always user-friendly
diff --git a/src/com/android/contacts/preference/ContactsPreferences.java b/src/com/android/contacts/preference/ContactsPreferences.java
index 85da891..e1a58d3 100644
--- a/src/com/android/contacts/preference/ContactsPreferences.java
+++ b/src/com/android/contacts/preference/ContactsPreferences.java
@@ -16,7 +16,6 @@
package com.android.contacts.preference;
-import android.app.backup.BackupAgent;
import android.app.backup.BackupManager;
import android.content.Context;
import android.content.SharedPreferences;
@@ -27,9 +26,10 @@
import android.preference.PreferenceManager;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
+import android.text.TextUtils;
+
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
-import android.text.TextUtils;
import com.android.contacts.R;
import com.android.contacts.model.account.AccountWithDataSet;
@@ -246,7 +246,7 @@
* true if the contact editor should show the "accounts changed" notification, that is:
* - If it's the first launch.
* - Or, if the default account has been removed.
- * (And some extra sanity check)
+ * (And some extra soundness check)
*
* Note if this method returns {@code false}, the caller can safely assume that
* {@link #getDefaultAccount} will return a valid account. (Either an account which still
@@ -256,15 +256,16 @@
currentWritableAccounts) {
final AccountWithDataSet defaultAccount = getDefaultAccount();
+ AccountWithDataSet localAccount = AccountWithDataSet.getLocalAccount(mContext);
// This shouldn't occur anymore because a "device" account is added in the case that there
// are no other accounts but if there are no writable accounts then the default has been
// initialized if it is "device"
if (currentWritableAccounts.isEmpty()) {
- return defaultAccount == null || !defaultAccount.isNullAccount();
+ return defaultAccount == null || !defaultAccount.equals(localAccount);
}
if (currentWritableAccounts.size() == 1
- && !currentWritableAccounts.get(0).isNullAccount()) {
+ && !currentWritableAccounts.get(0).equals(localAccount)) {
return false;
}
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index 43ade96..53dbf15 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -1431,10 +1431,10 @@
} else if (dataItem instanceof OrganizationDataItem) {
final OrganizationDataItem organization = (OrganizationDataItem) dataItem;
header = res.getString(R.string.header_organization_entry);
- subHeader = organization.getCompany();
entryContextMenuInfo = new EntryContextMenuInfo(subHeader, header,
- dataItem.getMimeType(), dataItem.getId(), dataItem.isSuperPrimary());
- text = organization.getTitle();
+ dataItem.getMimeType(), dataItem.getId(), dataItem.isSuperPrimary());
+ text = ContactDisplayUtils
+ .getFormattedCompanyString(context, (OrganizationDataItem) dataItem, false);
} else if (dataItem instanceof NicknameDataItem) {
final NicknameDataItem nickname = (NicknameDataItem) dataItem;
// Build nickname entries
diff --git a/src/com/android/contacts/util/AccountFilterUtil.java b/src/com/android/contacts/util/AccountFilterUtil.java
index 65ee69e..c4a8df6 100644
--- a/src/com/android/contacts/util/AccountFilterUtil.java
+++ b/src/com/android/contacts/util/AccountFilterUtil.java
@@ -20,15 +20,12 @@
import android.app.Activity;
import android.app.Fragment;
import android.content.ActivityNotFoundException;
-import android.content.AsyncTaskLoader;
-import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Drawable;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Intents;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
@@ -39,9 +36,6 @@
import com.android.contacts.list.ContactListFilter;
import com.android.contacts.list.ContactListFilterController;
import com.android.contacts.model.AccountTypeManager;
-import com.android.contacts.model.Contact;
-import com.android.contacts.model.account.AccountDisplayInfo;
-import com.android.contacts.model.account.AccountDisplayInfoFactory;
import com.android.contacts.model.account.AccountInfo;
import com.android.contacts.model.account.AccountType;
import com.android.contacts.model.account.AccountWithDataSet;
@@ -51,16 +45,12 @@
import com.android.contactsbind.ObjectFactory;
import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Lists;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.ArrayList;
import java.util.List;
-import javax.annotation.Nullable;
-
/**
* Utility class for account filter manipulation.
*/
@@ -125,7 +115,7 @@
@Override
protected ListenableFuture<List<ContactListFilter>> loadData() {
return Futures.transform(mAccountTypeManager.filterAccountsAsync(
- AccountTypeManager.writableFilter()),
+ AccountTypeManager.drawerDisplayableFilter()),
new Function<List<AccountInfo>, List<ContactListFilter>>() {
@Override
public List<ContactListFilter> apply(List<AccountInfo> input) {
@@ -150,9 +140,12 @@
}
final Drawable icon = accountType != null ?
accountType.getDisplayIcon(getContext()) : null;
- if (DeviceLocalAccountTypeFactory.Util.isLocalAccountType(
- mDeviceLocalFactory, account.type)) {
+ if (mDeviceLocalFactory.classifyAccount(account.type)
+ == DeviceLocalAccountTypeFactory.TYPE_DEVICE) {
accountFilters.add(ContactListFilter.createDeviceContactsFilter(icon, account));
+ } else if (mDeviceLocalFactory.classifyAccount(account.type)
+ == DeviceLocalAccountTypeFactory.TYPE_SIM) {
+ accountFilters.add(ContactListFilter.createSimContactsFilter(icon, account));
} else {
accountFilters.add(ContactListFilter.createAccountFilter(
account.type, account.name, account.dataSet, icon));
@@ -222,6 +215,8 @@
public static String getActionBarTitleForFilter(Context context, ContactListFilter filter) {
if (filter.filterType == ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS) {
return context.getString(R.string.account_phone);
+ } else if (filter.filterType == ContactListFilter.FILTER_TYPE_SIM_CONTACTS) {
+ return context.getString(R.string.account_sim);
} else if (filter.filterType == ContactListFilter.FILTER_TYPE_ACCOUNT &&
!TextUtils.isEmpty(filter.accountName)) {
return getActionBarTitleForAccount(context, filter);
diff --git a/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java b/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java
index d3a8c16..41caa42 100644
--- a/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java
+++ b/src/com/android/contacts/util/DeviceLocalAccountTypeFactory.java
@@ -16,12 +16,17 @@
package com.android.contacts.util;
import android.content.Context;
+import android.provider.ContactsContract;
+
import androidx.annotation.IntDef;
import com.android.contacts.model.account.AccountType;
+import com.android.contacts.model.account.AccountWithDataSet;
import com.android.contacts.model.account.DeviceLocalAccountType;
+import com.android.contacts.model.account.SimAccountType;
import java.lang.annotation.Retention;
+import java.util.Objects;
import static java.lang.annotation.RetentionPolicy.SOURCE;
@@ -65,15 +70,29 @@
@Override
public int classifyAccount(String accountType) {
- return accountType == null ? TYPE_DEVICE : TYPE_OTHER;
+ for (ContactsContract.SimAccount simAccount :
+ ContactsContract.SimContacts.getSimAccounts(
+ mContext.getContentResolver())) {
+ if (accountType != null && Objects.equals(accountType,
+ simAccount.getAccountType())) {
+ return TYPE_SIM;
+ }
+ }
+ return accountType == null ||
+ Objects.equals(AccountWithDataSet.getLocalAccount(mContext).type, accountType)
+ ? TYPE_DEVICE : TYPE_OTHER;
}
@Override
public AccountType getAccountType(String accountType) {
- if (accountType != null) {
+ if (classifyAccount(accountType) == TYPE_SIM) {
+ return new SimAccountType(mContext);
+ }
+ if (accountType != null && !Objects.equals(
+ AccountWithDataSet.getLocalAccount(mContext).type, accountType)) {
throw new IllegalArgumentException(accountType + " is not a device account type.");
}
- return new DeviceLocalAccountType(mContext);
+ return new DeviceLocalAccountType(mContext, true);
}
}
}
diff --git a/src/com/android/contacts/util/StopWatch.java b/src/com/android/contacts/util/StopWatch.java
index 4300eff..1797d2a 100644
--- a/src/com/android/contacts/util/StopWatch.java
+++ b/src/com/android/contacts/util/StopWatch.java
@@ -84,7 +84,7 @@
}
/**
- * Return a dummy instance that does no operations.
+ * Return a no-op StopWatch instance that does no operations.
*/
public static StopWatch getNullStopWatch() {
return NullStopWatch.INSTANCE;
diff --git a/src/com/android/contacts/vcard/ExportProcessor.java b/src/com/android/contacts/vcard/ExportProcessor.java
old mode 100644
new mode 100755
index 66308c6..0b96ea1
--- a/src/com/android/contacts/vcard/ExportProcessor.java
+++ b/src/com/android/contacts/vcard/ExportProcessor.java
@@ -209,7 +209,7 @@
mService.updateMediaScanner(request.destUri.getPath());
successful = true;
- final String filename = ExportVCardActivity.getOpenableUriDisplayName(mService, uri);
+ final String filename = request.displayName;
// If it is a local file (i.e. not a file from Drive), we need to allow user to share
// the file by pressing the notification; otherwise, it would be a file in Drive, we
// don't need to enable this action in notification since the file is already uploaded.
diff --git a/src/com/android/contacts/vcard/ExportRequest.java b/src/com/android/contacts/vcard/ExportRequest.java
old mode 100644
new mode 100755
index 65e395e..654f65b
--- a/src/com/android/contacts/vcard/ExportRequest.java
+++ b/src/com/android/contacts/vcard/ExportRequest.java
@@ -24,12 +24,19 @@
*/
public final String exportType;
+ public final String displayName;
+
public ExportRequest(Uri destUri) {
this(destUri, null);
}
public ExportRequest(Uri destUri, String exportType) {
+ this(destUri, exportType, null);
+ }
+
+ public ExportRequest(Uri destUri, String exportType, String displayName) {
this.destUri = destUri;
this.exportType = exportType;
+ this.displayName = displayName;
}
}
diff --git a/src/com/android/contacts/vcard/ExportVCardActivity.java b/src/com/android/contacts/vcard/ExportVCardActivity.java
old mode 100644
new mode 100755
index 690f207..87a1eb1
--- a/src/com/android/contacts/vcard/ExportVCardActivity.java
+++ b/src/com/android/contacts/vcard/ExportVCardActivity.java
@@ -136,7 +136,8 @@
data != null && data.getData() != null) {
final Uri targetFileName = data.getData();
if (DEBUG) Log.d(LOG_TAG, "exporting to " + targetFileName);
- final ExportRequest request = new ExportRequest(targetFileName);
+ final String displayName = getOpenableUriDisplayName(this, targetFileName);
+ final ExportRequest request = new ExportRequest(targetFileName, null, displayName);
// The connection object will call finish().
mService.handleExportRequest(request, new NotificationImportExportListener(
ExportVCardActivity.this));
diff --git a/src/com/android/contacts/vcard/NotificationImportExportListener.java b/src/com/android/contacts/vcard/NotificationImportExportListener.java
old mode 100644
new mode 100755
index efd6861..3b4dc5e
--- a/src/com/android/contacts/vcard/NotificationImportExportListener.java
+++ b/src/com/android/contacts/vcard/NotificationImportExportListener.java
@@ -160,8 +160,7 @@
@Override
public Notification onExportProcessed(ExportRequest request, int jobId) {
- final String displayName = ExportVCardActivity.getOpenableUriDisplayName(mContext,
- request.destUri);
+ final String displayName = request.displayName;
final String message = mContext.getString(R.string.contacts_export_will_start_message);
mHandler.obtainMessage(0, message).sendToTarget();
diff --git a/src/com/android/contacts/vcard/ShareVCardActivity.java b/src/com/android/contacts/vcard/ShareVCardActivity.java
old mode 100644
new mode 100755
index 5873b7f..7e86ce1
--- a/src/com/android/contacts/vcard/ShareVCardActivity.java
+++ b/src/com/android/contacts/vcard/ShareVCardActivity.java
@@ -60,7 +60,7 @@
getString(R.string.contacts_file_provider_authority), file);
if (DEBUG) Log.d(LOG_TAG, "exporting to " + contentUri);
- final ExportRequest request = new ExportRequest(contentUri);
+ final ExportRequest request = new ExportRequest(contentUri, null, file.getName());
// The connection object will call finish().
mService.handleExportRequest(request, new NotificationImportExportListener(
ShareVCardActivity.this));
diff --git a/tests/Android.bp b/tests/Android.bp
index 2e1d47b..10ebbc9 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -1,3 +1,13 @@
+package {
+ // See: http://go/android-license-faq
+ // A large-scale-change added 'default_applicable_licenses' to import
+ // all of the 'license_kinds' from "packages_apps_Contacts_license"
+ // to get the below license kinds:
+ // SPDX-license-identifier-Apache-2.0
+ // SPDX-license-identifier-CC-BY
+ default_applicable_licenses: ["packages_apps_Contacts_license"],
+}
+
android_test {
name: "ContactsTests",
@@ -12,6 +22,8 @@
static_libs: [
"androidx.test.rules",
+ "androidx.test.runner",
+ "androidx.test.ext.junit",
"hamcrest-library",
"mockito-target-minus-junit4",
"ub-uiautomator",
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index f61efda..f22f92c 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -40,7 +40,8 @@
<uses-library android:name="android.test.runner" />
<meta-data android:name="com.android.contacts.iconset" android:resource="@xml/iconset" />
- <activity android:name=".allintents.AllIntentsActivity">
+ <activity android:name=".allintents.AllIntentsActivity"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
@@ -48,7 +49,8 @@
</intent-filter>
</activity>
- <activity android:name=".allintents.ResultActivity">
+ <activity android:name=".allintents.ResultActivity"
+ android:exported="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
diff --git a/tests/src/com/android/contacts/activities/SimImportActivityTest.java b/tests/src/com/android/contacts/activities/SimImportActivityTest.java
index 7069ef1..250ce4b 100644
--- a/tests/src/com/android/contacts/activities/SimImportActivityTest.java
+++ b/tests/src/com/android/contacts/activities/SimImportActivityTest.java
@@ -40,6 +40,8 @@
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Data;
+import android.provider.SimPhonebookContract;
+import android.provider.SimPhonebookContract.SimRecords;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.Until;
@@ -48,9 +50,9 @@
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.test.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SdkSuppress;
-import androidx.test.runner.AndroidJUnit4;
import com.android.contacts.SimImportService;
import com.android.contacts.database.SimContactDao;
@@ -224,10 +226,10 @@
final AccountWithDataSet targetAccount = mAccountHelper.addTestAccount(
mAccountHelper.generateAccountName("SimImportActivity0_targetAccount_"));
- final MockContentProvider iccProvider = new MockContentProvider();
- iccProvider.expect(MockContentProvider.Query.forAnyUri())
- .withDefaultProjection(new String[] {SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS })
+ final MockContentProvider simPhonebookProvider = new MockContentProvider();
+ simPhonebookProvider.expect(MockContentProvider.Query.forAnyUri())
+ .withProjection(
+ SimRecords.RECORD_NUMBER, SimRecords.NAME, SimRecords.PHONE_NUMBER)
.anyNumberOfTimes()
.returnRow(toCursorRow(new SimContact(1, "Import One", "5550101")))
.returnRow(toCursorRow(new SimContact(2, "Skip Two", "5550102")))
@@ -236,7 +238,7 @@
.returnRow(toCursorRow(new SimContact(5, "Skip Five", "5550105")))
.returnRow(toCursorRow(new SimContact(6, "Import Six", "5550106")));
final MockContentResolver mockResolver = new MockContentResolver();
- mockResolver.addProvider("icc", iccProvider);
+ mockResolver.addProvider(SimPhonebookContract.AUTHORITY, simPhonebookProvider);
final ContentProviderClient contactsProviderClient = mContext.getContentResolver()
.acquireContentProviderClient(ContactsContract.AUTHORITY);
mockResolver.addProvider(ContactsContract.AUTHORITY, new ForwardingContentProvider(
@@ -258,6 +260,7 @@
mActivity = mInstrumentation.startActivitySync(
new Intent(mContext, SimImportActivity.class)
+ .putExtra(SimImportActivity.EXTRA_SUBSCRIPTION_ID, 1)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
assertTrue(mDevice.wait(Until.hasObject(By.desc("Show more")), TIMEOUT));
@@ -319,6 +322,7 @@
mActivity = mInstrumentation.startActivitySync(
new Intent(mContext, SimImportActivity.class)
+ .putExtra(SimImportActivity.EXTRA_SUBSCRIPTION_ID, 1)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
assertTrue(mDevice.wait(Until.hasObject(By.text("Import One")), TIMEOUT));
@@ -351,7 +355,7 @@
}
private Object[] toCursorRow(SimContact contact) {
- return new Object[] { contact.getId(), contact.getName(), contact.getPhone(), null };
+ return new Object[]{contact.getRecordNumber(), contact.getName(), contact.getPhone()};
}
private SimCard someSimCard() {
diff --git a/tests/src/com/android/contacts/database/SimContactDaoTests.java b/tests/src/com/android/contacts/database/SimContactDaoTests.java
index 0b5b37f..680ba10 100644
--- a/tests/src/com/android/contacts/database/SimContactDaoTests.java
+++ b/tests/src/com/android/contacts/database/SimContactDaoTests.java
@@ -45,16 +45,18 @@
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.Data;
+import android.provider.SimPhonebookContract;
+import android.provider.SimPhonebookContract.SimRecords;
import android.test.mock.MockContentResolver;
import android.test.mock.MockContext;
import androidx.annotation.RequiresApi;
import androidx.test.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.LargeTest;
import androidx.test.filters.SdkSuppress;
import androidx.test.filters.SmallTest;
import androidx.test.filters.Suppress;
-import androidx.test.runner.AndroidJUnit4;
import com.android.contacts.model.SimCard;
import com.android.contacts.model.SimContact;
@@ -578,92 +580,78 @@
@RunWith(AndroidJUnit4.class)
public static class LoadContactsUnitTests {
- private MockContentProvider mMockIccProvider;
+ private MockContentProvider mMockSimPhonebookProvider;
private Context mContext;
@Before
public void setUp() {
mContext = mock(MockContext.class);
final MockContentResolver mockResolver = new MockContentResolver();
- mMockIccProvider = new MockContentProvider();
- mockResolver.addProvider("icc", mMockIccProvider);
+ mMockSimPhonebookProvider = new MockContentProvider();
+ mockResolver.addProvider(SimPhonebookContract.AUTHORITY, mMockSimPhonebookProvider);
when(mContext.getContentResolver()).thenReturn(mockResolver);
}
@Test
public void createsContactsFromCursor() {
- mMockIccProvider.expect(MockContentProvider.Query.forAnyUri())
+ mMockSimPhonebookProvider.expect(MockContentProvider.Query.forAnyUri())
.withDefaultProjection(
- SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS)
+ SimRecords.RECORD_NUMBER, SimRecords.NAME, SimRecords.PHONE_NUMBER)
.withAnyProjection()
.withAnySelection()
.withAnySortOrder()
- .returnRow(1, "Name One", "5550101", null)
- .returnRow(2, "Name Two", "5550102", null)
- .returnRow(3, "Name Three", null, null)
- .returnRow(4, null, "5550104", null)
- .returnRow(5, "Name Five", "5550105",
- "five@example.com,nf@example.com,name.five@example.com")
- .returnRow(6, "Name Six", "5550106", "thesix@example.com");
+ .returnRow(1, "Name One", "5550101")
+ .returnRow(2, "Name Two", "5550102")
+ .returnRow(3, "Name Three", null)
+ .returnRow(4, null, "5550104");
final SimContactDao sut = SimContactDao.create(mContext);
final List<SimContact> contacts = sut
- .loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
+ .loadContactsForSim(new SimCard("123", 1, "carrier", "sim", null, "us"));
assertThat(contacts, equalTo(
Arrays.asList(
new SimContact(1, "Name One", "5550101", null),
new SimContact(2, "Name Two", "5550102", null),
new SimContact(3, "Name Three", null, null),
- new SimContact(4, null, "5550104", null),
- new SimContact(5, "Name Five", "5550105", new String[] {
- "five@example.com", "nf@example.com", "name.five@example.com"
- }),
- new SimContact(6, "Name Six", "5550106", new String[] {
- "thesix@example.com"
- })
+ new SimContact(4, null, "5550104", null)
)));
}
@Test
public void excludesEmptyContactsFromResult() {
- mMockIccProvider.expect(MockContentProvider.Query.forAnyUri())
+ mMockSimPhonebookProvider.expect(MockContentProvider.Query.forAnyUri())
.withDefaultProjection(
- SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS)
+ SimRecords.RECORD_NUMBER, SimRecords.NAME, SimRecords.PHONE_NUMBER)
.withAnyProjection()
.withAnySelection()
.withAnySortOrder()
- .returnRow(1, "Non Empty1", "5550101", null)
- .returnRow(2, "", "", "")
- .returnRow(3, "Non Empty2", null, null)
- .returnRow(4, null, null, null)
- .returnRow(5, "", null, null)
- .returnRow(6, null, "5550102", null)
- .returnRow(7, null, null, "user@example.com");
+ .returnRow(1, "Non Empty1", "5550101")
+ .returnRow(2, "", "")
+ .returnRow(3, "Non Empty2", null)
+ .returnRow(4, null, null)
+ .returnRow(5, "", null)
+ .returnRow(6, null, "5550102");
final SimContactDao sut = SimContactDao.create(mContext);
final List<SimContact> contacts = sut
- .loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
+ .loadContactsForSim(new SimCard("123", 1, "carrier", "sim", null, "us"));
assertThat(contacts, equalTo(
Arrays.asList(
new SimContact(1, "Non Empty1", "5550101", null),
new SimContact(3, "Non Empty2", null, null),
- new SimContact(6, null, "5550102", null),
- new SimContact(7, null, null, new String[] { "user@example.com" })
+ new SimContact(6, null, "5550102", null)
)));
}
@Test
public void usesSimCardSubscriptionIdIfAvailable() {
- mMockIccProvider.expectQuery(SimContactDaoImpl.ICC_CONTENT_URI.buildUpon()
- .appendPath("subId").appendPath("2").build())
+ mMockSimPhonebookProvider.expectQuery(SimRecords.getContentUri(2,
+ SimPhonebookContract.ElementaryFiles.EF_ADN))
.withDefaultProjection(
- SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS)
+ SimRecords.RECORD_NUMBER, SimRecords.NAME, SimRecords.PHONE_NUMBER)
.withAnyProjection()
.withAnySelection()
.withAnySortOrder()
@@ -671,32 +659,14 @@
final SimContactDao sut = SimContactDao.create(mContext);
sut.loadContactsForSim(new SimCard("123", 2, "carrier", "sim", null, "us"));
- mMockIccProvider.verify();
- }
-
- @Test
- public void omitsSimCardSubscriptionIdIfUnavailable() {
- mMockIccProvider.expectQuery(SimContactDaoImpl.ICC_CONTENT_URI)
- .withDefaultProjection(
- SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS)
- .withAnyProjection()
- .withAnySelection()
- .withAnySortOrder()
- .returnEmptyCursor();
-
- final SimContactDao sut = SimContactDao.create(mContext);
- sut.loadContactsForSim(new SimCard("123", SimCard.NO_SUBSCRIPTION_ID,
- "carrier", "sim", null, "us"));
- mMockIccProvider.verify();
+ mMockSimPhonebookProvider.verify();
}
@Test
public void returnsEmptyListForEmptyCursor() {
- mMockIccProvider.expect(MockContentProvider.Query.forAnyUri())
+ mMockSimPhonebookProvider.expect(MockContentProvider.Query.forAnyUri())
.withDefaultProjection(
- SimContactDaoImpl._ID, SimContactDaoImpl.NAME,
- SimContactDaoImpl.NUMBER, SimContactDaoImpl.EMAILS)
+ SimRecords.RECORD_NUMBER, SimRecords.NAME, SimRecords.PHONE_NUMBER)
.withAnyProjection()
.withAnySelection()
.withAnySortOrder()
@@ -704,7 +674,7 @@
final SimContactDao sut = SimContactDao.create(mContext);
List<SimContact> result = sut
- .loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
+ .loadContactsForSim(new SimCard("123", 1, "carrier", "sim", null, "us"));
assertTrue(result.isEmpty());
}
@@ -725,7 +695,7 @@
final SimContactDao sut = SimContactDao.create(mContext);
final List<SimContact> result = sut
- .loadContactsForSim(new SimCard("123", "carrier", "sim", null, "us"));
+ .loadContactsForSim(new SimCard("123", 1, "carrier", "sim", null, "us"));
assertTrue(result.isEmpty());
}
}
diff --git a/tests/src/com/android/contacts/editor/ContactEditorUtilsTest.java b/tests/src/com/android/contacts/editor/ContactEditorUtilsTest.java
index 7ffecc1..06d64a8 100644
--- a/tests/src/com/android/contacts/editor/ContactEditorUtilsTest.java
+++ b/tests/src/com/android/contacts/editor/ContactEditorUtilsTest.java
@@ -197,7 +197,7 @@
}
@Test
- public void testShouldShowAccountChangedNotification_sanity_check() {
+ public void testShouldShowAccountChangedNotification_initial_check() {
// Prepare 1 account and save it as the default.
mTarget.saveDefaultAccount(ACCOUNT_1_A);
diff --git a/tests/src/com/android/contacts/model/Cp2DeviceLocalAccountLocatorTests.java b/tests/src/com/android/contacts/model/Cp2DeviceLocalAccountLocatorTests.java
deleted file mode 100644
index 7dbf933..0000000
--- a/tests/src/com/android/contacts/model/Cp2DeviceLocalAccountLocatorTests.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * 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.model;
-
-import android.content.ContentProvider;
-import android.content.ContentResolver;
-import android.database.Cursor;
-import android.database.MatrixCursor;
-import android.net.Uri;
-import android.os.CancellationSignal;
-import android.provider.ContactsContract;
-import android.provider.ContactsContract.RawContacts;
-import androidx.annotation.Nullable;
-import android.test.AndroidTestCase;
-import android.test.mock.MockContentResolver;
-import android.test.suitebuilder.annotation.SmallTest;
-
-import com.android.contacts.test.mocks.MockContentProvider;
-import com.android.contacts.tests.FakeDeviceAccountTypeFactory;
-import com.android.contacts.util.DeviceLocalAccountTypeFactory;
-
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-
-@SmallTest
-public class Cp2DeviceLocalAccountLocatorTests extends AndroidTestCase {
-
- // Basic smoke test that just checks that it doesn't throw when loading from CP2. We don't
- // care what CP2 actually contains for this.
- public void testShouldNotCrash() {
- final DeviceLocalAccountLocator sut = new Cp2DeviceLocalAccountLocator(
- getContext().getContentResolver(),
- new DeviceLocalAccountTypeFactory.Default(getContext()),
- Collections.<String>emptySet());
- sut.getDeviceLocalAccounts();
- // We didn't throw so it passed
- }
-
- public void test_getDeviceLocalAccounts_returnsEmptyListWhenQueryReturnsNull() {
- final DeviceLocalAccountLocator sut = createWithQueryResult(null);
- assertTrue(sut.getDeviceLocalAccounts().isEmpty());
- }
-
- public void test_getDeviceLocalAccounts_returnsEmptyListWhenNoRawContactsHaveDeviceType() {
- final DeviceLocalAccountLocator sut = createWithQueryResult(queryResult(
- "user", "com.example",
- "user", "com.example",
- "user", "com.example"));
- assertTrue(sut.getDeviceLocalAccounts().isEmpty());
- }
-
- public void test_getDeviceLocalAccounts_returnsListWithItemForNullAccount() {
- final DeviceLocalAccountLocator sut = createWithQueryResult(queryResult(
- "user", "com.example",
- null, null,
- "user", "com.example",
- null, null));
-
- assertEquals(1, sut.getDeviceLocalAccounts().size());
- }
-
- public void test_getDeviceLocalAccounts_containsItemForEachDeviceAccount() {
- final DeviceLocalAccountTypeFactory stubFactory = new FakeDeviceAccountTypeFactory()
- .withDeviceTypes(null, "vnd.sec.contact.phone")
- .withSimTypes("vnd.sec.contact.sim");
- final DeviceLocalAccountLocator sut = createLocator(queryResult(
- "user", "com.example",
- "user", "com.example",
- "phone_account", "vnd.sec.contact.phone",
- null, null,
- "phone_account", "vnd.sec.contact.phone",
- "user", "com.example",
- null, null,
- "sim_account", "vnd.sec.contact.sim",
- "sim_account_2", "vnd.sec.contact.sim"
- ), stubFactory);
-
-
- assertEquals(4, sut.getDeviceLocalAccounts().size());
- }
-
- public void test_getDeviceLocalAccounts_doesNotContainItemsForKnownAccountTypes() {
- final Cp2DeviceLocalAccountLocator sut = new Cp2DeviceLocalAccountLocator(
- getContext().getContentResolver(), new FakeDeviceAccountTypeFactory(),
- new HashSet<>(Arrays.asList("com.example", "com.example.1")));
-
- assertTrue("Selection should filter known accounts",
- sut.getSelection().contains("NOT IN (?,?)"));
-
- final List<String> args = Arrays.asList(sut.getSelectionArgs());
- assertEquals(2, args.size());
- assertTrue("Selection args is missing an expected value", args.contains("com.example"));
- assertTrue("Selection args is missing an expected value", args.contains("com.example.1"));
- }
-
- public void test_getDeviceLocalAccounts_includesAccountsFromSettings() {
- final DeviceLocalAccountTypeFactory stubFactory = new FakeDeviceAccountTypeFactory()
- .withDeviceTypes(null, "vnd.sec.contact.phone")
- .withSimTypes("vnd.sec.contact.sim");
- final DeviceLocalAccountLocator sut = createLocator(new FakeContactsProvider()
- .withQueryResult(ContactsContract.Settings.CONTENT_URI, queryResult(
- "phone_account", "vnd.sec.contact.phone",
- "sim_account", "vnd.sec.contact.sim"
- )), stubFactory);
-
- assertEquals(2, sut.getDeviceLocalAccounts().size());
- }
-
- public void test_getDeviceLocalAccounts_includesAccountsFromGroups() {
- final DeviceLocalAccountTypeFactory stubFactory = new FakeDeviceAccountTypeFactory()
- .withDeviceTypes(null, "vnd.sec.contact.phone")
- .withSimTypes("vnd.sec.contact.sim");
- final DeviceLocalAccountLocator sut = createLocator(new FakeContactsProvider()
- .withQueryResult(ContactsContract.Groups.CONTENT_URI, queryResult(
- "phone_account", "vnd.sec.contact.phone",
- "sim_account", "vnd.sec.contact.sim"
- )), stubFactory);
-
- assertEquals(2, sut.getDeviceLocalAccounts().size());
- }
-
- private DeviceLocalAccountLocator createWithQueryResult(
- Cursor cursor) {
- return createLocator(cursor, new DeviceLocalAccountTypeFactory.Default(mContext));
- }
-
- private DeviceLocalAccountLocator createLocator(ContentProvider contactsProvider,
- DeviceLocalAccountTypeFactory localAccountTypeFactory) {
- final DeviceLocalAccountLocator locator = new Cp2DeviceLocalAccountLocator(
- createContentResolverWithProvider(contactsProvider),
- localAccountTypeFactory, Collections.<String>emptySet());
- return locator;
- }
-
- private DeviceLocalAccountLocator createLocator(Cursor cursor,
- DeviceLocalAccountTypeFactory localAccountTypeFactory) {
- final DeviceLocalAccountLocator locator = new Cp2DeviceLocalAccountLocator(
- createStubResolverWithContentQueryResult(cursor),
- localAccountTypeFactory,
- Collections.<String>emptySet());
- return locator;
- }
-
- private ContentResolver createContentResolverWithProvider(ContentProvider contactsProvider) {
- final MockContentResolver resolver = new MockContentResolver();
- resolver.addProvider(ContactsContract.AUTHORITY, contactsProvider);
- return resolver;
- }
-
- private ContentResolver createStubResolverWithContentQueryResult(Cursor cursor) {
- final MockContentResolver resolver = new MockContentResolver();
- resolver.addProvider(ContactsContract.AUTHORITY, new FakeContactsProvider()
- .withDefaultQueryResult(cursor));
- return resolver;
- }
-
- private Cursor queryResult(String... nameTypePairs) {
- final MatrixCursor cursor = new MatrixCursor(new String[]
- { RawContacts.ACCOUNT_NAME, RawContacts.ACCOUNT_TYPE, RawContacts.DATA_SET });
- for (int i = 0; i < nameTypePairs.length; i+=2) {
- cursor.newRow().add(nameTypePairs[i]).add(nameTypePairs[i+1])
- .add(null);
- }
- return cursor;
- }
-
- private static class FakeContactsProvider extends MockContentProvider {
- public Cursor mNextQueryResult;
- public Map<Uri, Cursor> mNextResultMapping = new HashMap<>();
-
- public FakeContactsProvider() {}
-
- public FakeContactsProvider withDefaultQueryResult(Cursor cursor) {
- mNextQueryResult = cursor;
- return this;
- }
-
- public FakeContactsProvider withQueryResult(Uri uri, Cursor cursor) {
- mNextResultMapping.put(uri, cursor);
- return this;
- }
-
- @Override
- public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
- String sortOrder) {
- return query(uri, projection, selection, selectionArgs, sortOrder, null);
- }
-
- @Nullable
- @Override
- public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
- String sortOrder, CancellationSignal cancellationSignal) {
- final Cursor result = mNextResultMapping.get(uri);
- if (result == null) {
- return mNextQueryResult;
- } else {
- return result;
- }
- }
- }
-}
diff --git a/tests/src/com/android/contacts/model/RawContactDeltaListTests.java b/tests/src/com/android/contacts/model/RawContactDeltaListTests.java
index 03e1d4f..d9ff184 100644
--- a/tests/src/com/android/contacts/model/RawContactDeltaListTests.java
+++ b/tests/src/com/android/contacts/model/RawContactDeltaListTests.java
@@ -17,6 +17,8 @@
package com.android.contacts.model;
import android.content.ContentProviderOperation;
+import android.content.ContentProviderResult;
+import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.net.Uri;
@@ -56,6 +58,8 @@
public static final long CONTACT_BOB = 10;
public static final long CONTACT_MARY = 11;
+ public static final long INSERTED_CONTACT_ID = 3;
+
public static final long PHONE_RED = 20;
public static final long PHONE_GREEN = 21;
public static final long PHONE_BLUE = 22;
@@ -182,6 +186,8 @@
static void assertDiffPattern(ArrayList<CPOWrapper> diff, CPOWrapper... pattern) {
assertEquals("Unexpected operations", pattern.length, diff.size());
+
+ ContentProviderResult[] fakeBackReferences = new ContentProviderResult[diff.size()];
for (int i = 0; i < pattern.length; i++) {
final CPOWrapper expected = pattern[i];
final CPOWrapper found = diff.get(i);
@@ -193,21 +199,25 @@
final String foundType = getTypeString(found);
assertEquals("Unexpected type", expectedType, foundType);
- if (CompatUtils.isDeleteCompat(expected)) continue;
-
- try {
- final ContentValues expectedValues = getValues(expected.getOperation());
- final ContentValues foundValues = getValues(found.getOperation());
-
- expectedValues.remove(BaseColumns._ID);
- foundValues.remove(BaseColumns._ID);
-
- assertEquals("Unexpected values", expectedValues, foundValues);
- } catch (NoSuchFieldException e) {
- fail(e.toString());
- } catch (IllegalAccessException e) {
- fail(e.toString());
+ if (CompatUtils.isDeleteCompat(expected)) {
+ continue;
}
+
+ if (CompatUtils.isInsertCompat(found)) {
+ fakeBackReferences[i] = new ContentProviderResult(
+ ContentUris.withAppendedId(RawContacts.CONTENT_URI, INSERTED_CONTACT_ID));
+ } else if (CompatUtils.isUpdateCompat(found)) {
+ fakeBackReferences[i] = new ContentProviderResult(1);
+ }
+
+
+ ContentValues expectedValues = expected.getOperation().resolveValueBackReferences(
+ new ContentProviderResult[0], 0);
+ ContentValues foundValues = found.getOperation().resolveValueBackReferences(
+ fakeBackReferences, fakeBackReferences.length);
+ expectedValues.remove(BaseColumns._ID);
+ foundValues.remove(BaseColumns._ID);
+ assertEquals("Unexpected values", expectedValues, foundValues);
}
}
@@ -247,6 +257,7 @@
static CPOWrapper buildUpdateAggregationKeepTogether(long rawContactId) {
final ContentValues values = new ContentValues();
values.put(AggregationExceptions.RAW_CONTACT_ID1, rawContactId);
+ values.put(AggregationExceptions.RAW_CONTACT_ID2, INSERTED_CONTACT_ID);
values.put(AggregationExceptions.TYPE, AggregationExceptions.TYPE_KEEP_TOGETHER);
return buildCPOWrapper(AggregationExceptions.CONTENT_URI, TYPE_UPDATE, values);
}
@@ -462,7 +473,8 @@
assertDiffPattern(first,
buildAssertVersion(VER_FIRST),
buildUpdateAggregationSuspended(),
- buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT, buildDataInsert(bluePhone, CONTACT_BOB)),
+ buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT,
+ buildDataInsert(bluePhone, CONTACT_BOB)),
buildUpdateAggregationDefault());
// Merge in the second version, verify that our insert remains
@@ -470,7 +482,8 @@
assertDiffPattern(merged,
buildAssertVersion(VER_SECOND),
buildUpdateAggregationSuspended(),
- buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT, buildDataInsert(bluePhone, CONTACT_BOB)),
+ buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT,
+ buildDataInsert(bluePhone, CONTACT_BOB)),
buildUpdateAggregationDefault());
}
@@ -479,10 +492,11 @@
VER_FIRST, buildPhone(PHONE_RED)));
final RawContactDeltaList second = buildSet(buildBeforeEntity(mContext, CONTACT_BOB,
VER_SECOND, buildPhone(PHONE_RED)), buildBeforeEntity(mContext, CONTACT_MARY,
- VER_SECOND, buildPhone(PHONE_RED)));
+ VER_SECOND, buildPhone(PHONE_RED)));
// Add new contact locally, should remain insert
final ContentValues joePhoneInsert = buildPhone(PHONE_BLUE);
+ joePhoneInsert.put(Data.RAW_CONTACT_ID, INSERTED_CONTACT_ID);
final RawContactDelta joeContact = buildAfterEntity(joePhoneInsert);
final ContentValues joeContactInsert = joeContact.getValues().getCompleteValues();
joeContactInsert.put(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_SUSPENDED);
@@ -542,6 +556,7 @@
buildUpdateAggregationDefault());
final ContentValues phoneInsert = phone.getCompleteValues();
+ phoneInsert.put(Data.RAW_CONTACT_ID, INSERTED_CONTACT_ID);
final ContentValues contactInsert = first.getByRawContactId(CONTACT_MARY).getValues()
.getCompleteValues();
contactInsert.put(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_SUSPENDED);
@@ -562,11 +577,11 @@
final RawContactDeltaList second = buildSet(buildBeforeEntity(mContext, CONTACT_BOB,
VER_SECOND, buildPhone(PHONE_RED)));
- assertEquals((Long)VER_FIRST, getVersion(first, CONTACT_BOB));
- assertEquals((Long)VER_SECOND, getVersion(second, CONTACT_BOB));
+ assertEquals((Long) VER_FIRST, getVersion(first, CONTACT_BOB));
+ assertEquals((Long) VER_SECOND, getVersion(second, CONTACT_BOB));
final RawContactDeltaList merged = RawContactDeltaList.mergeAfter(second, first);
- assertEquals((Long)VER_SECOND, getVersion(merged, CONTACT_BOB));
+ assertEquals((Long) VER_SECOND, getVersion(merged, CONTACT_BOB));
}
public void testMergeAfterEnsureAndTrim() {
@@ -585,7 +600,8 @@
assertDiffPattern(first,
buildAssertVersion(VER_FIRST),
buildUpdateAggregationSuspended(),
- buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT, buildDataInsert(bobPhone, CONTACT_BOB)),
+ buildCPOWrapper(Data.CONTENT_URI, TYPE_INSERT,
+ buildDataInsert(bobPhone, CONTACT_BOB)),
buildUpdateAggregationDefault());
// Trim values and ensure that we don't insert things
diff --git a/tests/src/com/android/contacts/tests/FakeSimContactDao.java b/tests/src/com/android/contacts/tests/FakeSimContactDao.java
index c40ab25..ab6c653 100644
--- a/tests/src/com/android/contacts/tests/FakeSimContactDao.java
+++ b/tests/src/com/android/contacts/tests/FakeSimContactDao.java
@@ -110,5 +110,4 @@
result.canReadSimContacts = false;
return result;
}
-
}
diff --git a/tests/src/com/android/contacts/tests/SimContactsTestHelper.java b/tests/src/com/android/contacts/tests/SimContactsTestHelper.java
index 740d013..99c95cb 100644
--- a/tests/src/com/android/contacts/tests/SimContactsTestHelper.java
+++ b/tests/src/com/android/contacts/tests/SimContactsTestHelper.java
@@ -28,13 +28,15 @@
import android.database.Cursor;
import android.net.Uri;
import android.os.RemoteException;
+import android.provider.SimPhonebookContract;
+import android.provider.SimPhonebookContract.ElementaryFiles;
+import android.provider.SimPhonebookContract.SimRecords;
import android.telephony.TelephonyManager;
import androidx.annotation.NonNull;
import androidx.test.InstrumentationRegistry;
import com.android.contacts.database.SimContactDao;
-import com.android.contacts.database.SimContactDaoImpl;
import com.android.contacts.model.SimCard;
import com.android.contacts.model.SimContact;
@@ -47,6 +49,8 @@
private final TelephonyManager mTelephonyManager;
private final ContentResolver mResolver;
private final SimContactDao mSimDao;
+ private final int mSubscriptionId;
+ private final Uri mDefaultSimAdnUri;
public SimContactsTestHelper() {
this(InstrumentationRegistry.getTargetContext());
@@ -57,10 +61,13 @@
mResolver = context.getContentResolver();
mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
mSimDao = SimContactDao.create(context);
+ mSubscriptionId = mTelephonyManager.getSubscriptionId();
+ mDefaultSimAdnUri = SimRecords.getContentUri(
+ mTelephonyManager.getSubscriptionId(), ElementaryFiles.EF_ADN);
}
public int getSimContactCount() {
- Cursor cursor = mContext.getContentResolver().query(SimContactDaoImpl.ICC_CONTENT_URI,
+ Cursor cursor = mContext.getContentResolver().query(mDefaultSimAdnUri,
null, null, null, null);
try {
return cursor.getCount();
@@ -71,15 +78,13 @@
public Uri addSimContact(String name, String number) {
ContentValues values = new ContentValues();
- // Oddly even though it's called name when querying we have to use "tag" for it to work
- // when inserting.
if (name != null) {
- values.put("tag", name);
+ values.put(SimRecords.NAME, name);
}
if (number != null) {
- values.put(SimContactDaoImpl.NUMBER, number);
+ values.put(SimRecords.PHONE_NUMBER, number);
}
- return mResolver.insert(SimContactDaoImpl.ICC_CONTENT_URI, values);
+ return mResolver.insert(mDefaultSimAdnUri, values);
}
public ContentProviderResult[] deleteAllSimContacts()
@@ -92,11 +97,11 @@
ArrayList<ContentProviderOperation> ops = new ArrayList<>();
for (SimContact contact : contacts) {
ops.add(ContentProviderOperation
- .newDelete(SimContactDaoImpl.ICC_CONTENT_URI)
- .withSelection(getWriteSelection(contact), null)
+ .newDelete(SimRecords.getItemUri(
+ mSubscriptionId, ElementaryFiles.EF_ADN, contact.getRecordNumber()))
.build());
}
- return mResolver.applyBatch(SimContactDaoImpl.ICC_CONTENT_URI.getAuthority(), ops);
+ return mResolver.applyBatch(SimPhonebookContract.AUTHORITY, ops);
}
public ContentProviderResult[] restore(ArrayList<ContentProviderOperation> restoreOps)
@@ -106,7 +111,7 @@
// Remove SIM contacts because we assume that caller wants the data to be in the exact
// state as when the restore ops were captured.
deleteAllSimContacts();
- return mResolver.applyBatch(SimContactDaoImpl.ICC_CONTENT_URI.getAuthority(), restoreOps);
+ return mResolver.applyBatch(SimPhonebookContract.AUTHORITY, restoreOps);
}
public ArrayList<ContentProviderOperation> captureRestoreSnapshot() {
@@ -124,24 +129,16 @@
" Please manually remove SIM contacts with emails.");
}
ops.add(ContentProviderOperation
- .newInsert(SimContactDaoImpl.ICC_CONTENT_URI)
- .withValue("tag", contact.getName())
- .withValue("number", contact.getPhone())
+ .newInsert(mDefaultSimAdnUri)
+ .withValue(SimRecords.NAME, contact.getName())
+ .withValue(SimRecords.PHONE_NUMBER, contact.getPhone())
.build());
}
return ops;
}
- public String getWriteSelection(SimContact simContact) {
- return "tag='" + simContact.getName() + "' AND " + SimContactDaoImpl.NUMBER + "='" +
- simContact.getPhone() + "'";
- }
-
- public int deleteSimContact(@NonNull String name, @NonNull String number) {
- // IccProvider doesn't use the selection args.
- final String selection = "tag='" + name + "' AND " +
- SimContactDaoImpl.NUMBER + "='" + number + "'";
- return mResolver.delete(SimContactDaoImpl.ICC_CONTENT_URI, selection, null);
+ public int deleteSimContact(@NonNull Uri recordUri) {
+ return mResolver.delete(recordUri, null);
}
public boolean isSimReady() {
@@ -156,7 +153,7 @@
if (!isSimReady()) return false;
final String name = "writabeProbe" + System.nanoTime();
final Uri uri = addSimContact(name, "15095550101");
- return uri != null && deleteSimContact(name, "15095550101") == 1;
+ return uri != null && deleteSimContact(uri) == 1;
}
public void assumeSimReady() {