Merge "Allow google dialer code to be compiled against M and N SDKs for enterprise features" into ub-contactsdialer-b-dev
diff --git a/src/com/android/contacts/common/ContactsUtils.java b/src/com/android/contacts/common/ContactsUtils.java
index 2ef68d4..0eafb72 100644
--- a/src/com/android/contacts/common/ContactsUtils.java
+++ b/src/com/android/contacts/common/ContactsUtils.java
@@ -30,6 +30,7 @@
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.model.dataitem.ImDataItem;
import com.android.contacts.common.testing.NeededForTesting;
+import com.android.contacts.common.compat.SdkSelectionUtils;
import com.android.contacts.common.model.AccountTypeManager;
import java.util.List;
@@ -46,10 +47,9 @@
private static int sThumbnailSize = -1;
- public static final boolean FLAG_N_FEATURE =
- false // Enforce Pre-N behavior in release build
- && (Build.VERSION.SDK_INT > Build.VERSION_CODES.M
- || Build.VERSION.CODENAME.startsWith("N"));
+ public static final boolean FLAG_N_FEATURE = SdkSelectionUtils.TARGET_N_SDK // build-time flag
+ && (Build.VERSION.SDK_INT > Build.VERSION_CODES.M // runtime flag
+ || Build.VERSION.CODENAME.startsWith("N")); // TODO: remove startsWith("N")
// TODO find a proper place for the canonical version of these
public interface ProviderNames {
diff --git a/src/com/android/contacts/common/compat/CallableCompat.java b/src/com/android/contacts/common/compat/CallableCompat.java
index 2979f63..d25d4be 100644
--- a/src/com/android/contacts/common/compat/CallableCompat.java
+++ b/src/com/android/contacts/common/compat/CallableCompat.java
@@ -28,8 +28,7 @@
Uri.withAppendedPath(Callable.CONTENT_URI, "filter_enterprise");
public static Uri getContentFilterUri() {
- // TODO: Use N APIs
- if (ContactsUtils.FLAG_N_FEATURE && android.os.Build.VERSION.CODENAME.startsWith("N")) {
+ if (ContactsUtils.FLAG_N_FEATURE) {
return ENTERPRISE_CONTENT_FILTER_URI;
}
return Callable.CONTENT_FILTER_URI;
diff --git a/src/com/android/contacts/common/compat/ContactsCompat.java b/src/com/android/contacts/common/compat/ContactsCompat.java
index 5b50385..5a5e46a 100644
--- a/src/com/android/contacts/common/compat/ContactsCompat.java
+++ b/src/com/android/contacts/common/compat/ContactsCompat.java
@@ -40,8 +40,7 @@
private static final long ENTERPRISE_CONTACT_ID_BASE = 1000000000;
public static Uri getContentUri() {
- // TODO: Use N APIs
- if (ContactsUtils.FLAG_N_FEATURE && android.os.Build.VERSION.CODENAME.startsWith("N")) {
+ if (ContactsUtils.FLAG_N_FEATURE) {
return ENTERPRISE_CONTENT_FILTER_URI;
}
return Contacts.CONTENT_FILTER_URI;
diff --git a/src/com/android/contacts/common/compat/DirectoryCompat.java b/src/com/android/contacts/common/compat/DirectoryCompat.java
index 5f6d8bf..f100938 100644
--- a/src/com/android/contacts/common/compat/DirectoryCompat.java
+++ b/src/com/android/contacts/common/compat/DirectoryCompat.java
@@ -24,30 +24,31 @@
public class DirectoryCompat {
- // TODO: Use N APIs
- private static final Uri ENTERPRISE_CONTENT_URI =
- Uri.withAppendedPath(ContactsContract.AUTHORITY_URI, "directories_enterprise");
- // TODO: Use N APIs
- private static final long ENTERPRISE_LOCAL_INVISIBLE = 1000000000L + Directory.LOCAL_INVISIBLE;
-
public static Uri getContentUri() {
- // TODO: Use N APIs
- if (ContactsUtils.FLAG_N_FEATURE && android.os.Build.VERSION.CODENAME.startsWith("N")) {
- return ENTERPRISE_CONTENT_URI;
+ if (ContactsUtils.FLAG_N_FEATURE) {
+ return DirectorySdkCompat.ENTERPRISE_CONTENT_URI;
}
return Directory.CONTENT_URI;
}
public static boolean isInvisibleDirectory(long directoryId) {
- return (directoryId == Directory.LOCAL_INVISIBLE
- || directoryId == ENTERPRISE_LOCAL_INVISIBLE);
+ if (ContactsUtils.FLAG_N_FEATURE) {
+ return (directoryId == Directory.LOCAL_INVISIBLE
+ || directoryId == DirectorySdkCompat.ENTERPRISE_LOCAL_INVISIBLE);
+ }
+ return directoryId == Directory.LOCAL_INVISIBLE;
}
public static boolean isRemoteDirectory(long directoryId) {
- // TODO: Use N APIs
- if (ContactsUtils.FLAG_N_FEATURE && android.os.Build.VERSION.CODENAME.startsWith("N")) {
+ if (ContactsUtils.FLAG_N_FEATURE) {
return DirectorySdkCompat.isRemoteDirectory(directoryId);
}
return !(directoryId == Directory.DEFAULT || directoryId == Directory.LOCAL_INVISIBLE);
}
+
+ public static boolean isEnterpriseDirectoryId(long directoryId) {
+ return ContactsUtils.FLAG_N_FEATURE
+ ? DirectorySdkCompat.isEnterpriseDirectoryId(directoryId)
+ : false;
+ }
}
diff --git a/src/com/android/contacts/common/compat/PhoneCompat.java b/src/com/android/contacts/common/compat/PhoneCompat.java
index 24600f5..5277761 100644
--- a/src/com/android/contacts/common/compat/PhoneCompat.java
+++ b/src/com/android/contacts/common/compat/PhoneCompat.java
@@ -28,8 +28,7 @@
Uri.withAppendedPath(Phone.CONTENT_URI, "filter_enterprise");
public static Uri getContentFilterUri() {
- // TODO: Use N APIs
- if (ContactsUtils.FLAG_N_FEATURE && android.os.Build.VERSION.CODENAME.startsWith("N")) {
+ if (ContactsUtils.FLAG_N_FEATURE) {
return ENTERPRISE_CONTENT_FILTER_URI;
}
return Phone.CONTENT_FILTER_URI;