Move DirectoryCompat from "contacts/common" to "dialer/common/cp2".
Bug: 73887387
Test: Existing tests
PiperOrigin-RevId: 187225355
Change-Id: I65de553078e147a46d933daf34dfd912fc8aa74c
diff --git a/java/com/android/contacts/common/ContactsUtils.java b/java/com/android/contacts/common/ContactsUtils.java
index bc0e423..bca8b62 100644
--- a/java/com/android/contacts/common/ContactsUtils.java
+++ b/java/com/android/contacts/common/ContactsUtils.java
@@ -18,7 +18,7 @@
import android.provider.ContactsContract.Contacts;
import android.support.annotation.IntDef;
-import com.android.contacts.common.compat.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryCompat;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
diff --git a/java/com/android/contacts/common/list/ContactEntryListAdapter.java b/java/com/android/contacts/common/list/ContactEntryListAdapter.java
index 117825d..413a1de 100644
--- a/java/com/android/contacts/common/list/ContactEntryListAdapter.java
+++ b/java/com/android/contacts/common/list/ContactEntryListAdapter.java
@@ -34,9 +34,9 @@
import android.widget.TextView;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.R;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.util.SearchUtil;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.compat.CompatUtils;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.contactphoto.ContactPhotoManager;
diff --git a/java/com/android/contacts/common/list/DirectoryListLoader.java b/java/com/android/contacts/common/list/DirectoryListLoader.java
index be62cc7..ce78d2c 100644
--- a/java/com/android/contacts/common/list/DirectoryListLoader.java
+++ b/java/com/android/contacts/common/list/DirectoryListLoader.java
@@ -26,8 +26,8 @@
import android.provider.ContactsContract.Directory;
import android.text.TextUtils;
import com.android.contacts.common.R;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.util.PermissionsUtil;
/** A specialized loader for the list of directories, see {@link Directory}. */
diff --git a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
index 58628d2..3c45abf 100644
--- a/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
+++ b/java/com/android/contacts/common/list/PhoneNumberListAdapter.java
@@ -34,13 +34,13 @@
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.R;
import com.android.contacts.common.compat.CallableCompat;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.compat.PhoneCompat;
import com.android.contacts.common.extensions.PhoneDirectoryExtenderAccessor;
import com.android.contacts.common.list.ContactListItemView.CallToAction;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.Constants;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.compat.CompatUtils;
import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.contactphoto.ContactPhotoManager.DefaultImageRequest;
diff --git a/java/com/android/dialer/app/list/RegularSearchListAdapter.java b/java/com/android/dialer/app/list/RegularSearchListAdapter.java
index aee68ae..c92f48c 100644
--- a/java/com/android/dialer/app/list/RegularSearchListAdapter.java
+++ b/java/com/android/dialer/app/list/RegularSearchListAdapter.java
@@ -20,8 +20,8 @@
import android.net.Uri;
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.list.DirectoryPartition;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.phonenumbercache.CachedNumberLookupService;
import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
import com.android.dialer.phonenumbercache.ContactInfo;
diff --git a/java/com/android/contacts/common/compat/DirectoryCompat.java b/java/com/android/dialer/common/cp2/DirectoryCompat.java
similarity index 90%
rename from java/com/android/contacts/common/compat/DirectoryCompat.java
rename to java/com/android/dialer/common/cp2/DirectoryCompat.java
index e670876..3e33394 100644
--- a/java/com/android/contacts/common/compat/DirectoryCompat.java
+++ b/java/com/android/dialer/common/cp2/DirectoryCompat.java
@@ -14,13 +14,14 @@
* limitations under the License.
*/
-package com.android.contacts.common.compat;
+package com.android.dialer.common.cp2;
import android.net.Uri;
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract.Directory;
+/** Compatibility utility for {@link Directory}. */
public class DirectoryCompat {
public static Uri getContentUri() {
@@ -42,7 +43,7 @@
if (VERSION.SDK_INT >= VERSION_CODES.N) {
return Directory.isRemoteDirectoryId(directoryId);
}
- return !(directoryId == Directory.DEFAULT || directoryId == Directory.LOCAL_INVISIBLE);
+ return directoryId != Directory.DEFAULT && directoryId != Directory.LOCAL_INVISIBLE;
}
public static boolean isEnterpriseDirectoryId(long directoryId) {
diff --git a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
index df164bd..519ec5f 100644
--- a/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
+++ b/java/com/android/dialer/phonelookup/cp2/Cp2ExtendedDirectoryPhoneLookup.java
@@ -22,12 +22,12 @@
import android.os.Build.VERSION;
import android.os.Build.VERSION_CODES;
import android.provider.ContactsContract;
-import android.provider.ContactsContract.Directory;
import android.support.annotation.VisibleForTesting;
import com.android.dialer.DialerPhoneNumber;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.Annotations.BackgroundExecutor;
import com.android.dialer.common.concurrent.Annotations.LightweightExecutor;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.inject.ApplicationContext;
import com.android.dialer.phonelookup.PhoneLookup;
import com.android.dialer.phonelookup.PhoneLookupInfo;
@@ -80,7 +80,7 @@
appContext
.getContentResolver()
.query(
- getContentUriForDirectoryIds(),
+ DirectoryCompat.getContentUri(),
/* projection = */ new String[] {ContactsContract.Directory._ID},
/* selection = */ null,
/* selectionArgs = */ null,
@@ -177,13 +177,6 @@
}
@VisibleForTesting
- static Uri getContentUriForDirectoryIds() {
- return VERSION.SDK_INT >= VERSION_CODES.N
- ? ContactsContract.Directory.ENTERPRISE_CONTENT_URI
- : ContactsContract.Directory.CONTENT_URI;
- }
-
- @VisibleForTesting
static Uri getContentUriForContacts(String number, long directoryId) {
Uri baseUri =
VERSION.SDK_INT >= VERSION_CODES.N
@@ -204,13 +197,8 @@
}
private static boolean isExtendedDirectory(long directoryId) {
- // TODO(a bug): Moving the logic to utility shared with the search fragment.
- return VERSION.SDK_INT >= VERSION_CODES.N
- ? Directory.isRemoteDirectoryId(directoryId)
- || Directory.isEnterpriseDirectoryId(directoryId)
- : (directoryId != Directory.DEFAULT
- && directoryId != Directory.LOCAL_INVISIBLE
- && directoryId != Directory.ENTERPRISE_LOCAL_INVISIBLE);
+ return DirectoryCompat.isRemoteDirectoryId(directoryId)
+ || DirectoryCompat.isEnterpriseDirectoryId(directoryId);
}
@Override
diff --git a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
index e99533a..f094be8 100644
--- a/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
+++ b/java/com/android/dialer/phonenumbercache/ContactInfoHelper.java
@@ -35,10 +35,10 @@
import android.text.TextUtils;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.ContactsUtils.UserType;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.contacts.common.util.Constants;
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.logging.ContactSource;
import com.android.dialer.oem.CequintCallerIdManager;
import com.android.dialer.oem.CequintCallerIdManager.CequintCallerIdContact;
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
index fc5bce1..aef1e9e 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactViewHolder.java
@@ -29,9 +29,9 @@
import android.widget.ImageView;
import android.widget.QuickContactBadge;
import android.widget.TextView;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.contactphoto.ContactPhotoManager;
import com.android.dialer.lettertile.LetterTileDrawable;
import com.android.dialer.precall.PreCall;
@@ -73,14 +73,11 @@
String secondaryInfo =
TextUtils.isEmpty(label)
? number
- : context.getString(
- com.android.contacts.common.R.string.call_subject_type_and_number, label, number);
+ : context.getString(R.string.call_subject_type_and_number, label, number);
nameView.setText(QueryBoldingUtil.getNameWithQueryBolded(query, name, context));
numberView.setText(QueryBoldingUtil.getNameWithQueryBolded(query, secondaryInfo, context));
workBadge.setVisibility(
- // TODO(a bug): Consider moving DirectoryCompat out of "contacts/common" and share it
- // with PhoneLookups.
DirectoryCompat.isOnlyEnterpriseDirectoryId(cursor.getDirectoryId())
? View.VISIBLE
: View.GONE);
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
index 8f9ab0e..0c1ad83 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursor.java
@@ -22,8 +22,8 @@
import android.database.MergeCursor;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
-import com.android.contacts.common.compat.DirectoryCompat;
import com.android.dialer.common.Assert;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.searchfragment.common.SearchCursor;
import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader.Directory;
import java.util.ArrayList;
@@ -101,8 +101,6 @@
private static MatrixCursor createHeaderCursor(Context context, String name, long id) {
MatrixCursor headerCursor = new MatrixCursor(PROJECTION, 1);
- // TODO(a bug): Consider moving DirectoryCompat out of "contacts/common" and share it
- // with PhoneLookups.
if (DirectoryCompat.isOnlyEnterpriseDirectoryId(id)) {
headerCursor.addRow(
new Object[] {context.getString(R.string.directory_search_label_work), id});
diff --git a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
index a948785..d719cb9 100644
--- a/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
+++ b/java/com/android/dialer/searchfragment/directories/DirectoryContactsCursorLoader.java
@@ -27,7 +27,7 @@
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
-import com.android.contacts.common.compat.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.searchfragment.common.Projections;
import com.android.dialer.searchfragment.directories.DirectoriesCursorLoader.Directory;
import java.util.ArrayList;
@@ -71,8 +71,6 @@
for (int i = 0; i < directories.size(); i++) {
Directory directory = directories.get(i);
- // TODO(a bug): Consider moving DirectoryCompat out of "contacts/common" and share it
- // with PhoneLookups.
if (!DirectoryCompat.isRemoteDirectoryId(directory.getId())
&& !DirectoryCompat.isEnterpriseDirectoryId(directory.getId())) {
cursors[i] = null;
diff --git a/java/com/android/dialer/searchfragment/directories/res/values/strings.xml b/java/com/android/dialer/searchfragment/directories/res/values/strings.xml
index beabba1..097f353 100644
--- a/java/com/android/dialer/searchfragment/directories/res/values/strings.xml
+++ b/java/com/android/dialer/searchfragment/directories/res/values/strings.xml
@@ -17,4 +17,10 @@
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Label for a list of contacts stored in a seperate directory [CHAR LIMIT=30]-->
<string name="directory">Directory <xliff:g example="google.com" id="email">%1$s</xliff:g></string>
+
+ <!-- String used to build a phone number type and phone number string.
+ Example: Mobile 650-555-1212 -->
+ <string name="call_subject_type_and_number">
+ <xliff:g example="Mobile" id="type">%1$s</xliff:g> <xliff:g example="(650) 555-1212" id="number">%2$s</xliff:g>
+ </string>
</resources>
\ No newline at end of file
diff --git a/java/com/android/incallui/CallerInfoAsyncQuery.java b/java/com/android/incallui/CallerInfoAsyncQuery.java
index 52ca8ca..3358952 100644
--- a/java/com/android/incallui/CallerInfoAsyncQuery.java
+++ b/java/com/android/incallui/CallerInfoAsyncQuery.java
@@ -37,7 +37,7 @@
import android.support.annotation.WorkerThread;
import android.telephony.PhoneNumberUtils;
import android.text.TextUtils;
-import com.android.contacts.common.compat.DirectoryCompat;
+import com.android.dialer.common.cp2.DirectoryCompat;
import com.android.dialer.phonenumbercache.CachedNumberLookupService;
import com.android.dialer.phonenumbercache.CachedNumberLookupService.CachedContactInfo;
import com.android.dialer.phonenumbercache.ContactInfoHelper;