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&lt;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&lt;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 &amp;&amp; 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="                &amp;&amp; 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(&quot;createIconDrawable&quot;, 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 &amp;&amp; CompatUtils.isLollipopMr1Compatible() &amp;&amp; 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="        &lt;item name=&quot;android:contentInsetStartWithNavigation&quot;>72dp&lt;/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 &amp; ə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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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">"मद्दत &amp; प्रतिक्रिया"</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">"உதவி &amp; கருத்து"</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">"సహాయం &amp; అభిప్రాయం"</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">"సహాయం &amp; ఫీడ్‌బ్యాక్"</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 &amp; 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() {
