Final move of AccountTypeManager dependencies.

After this change, AccountTypeManager can be moved into ContactsCommon.

Bug: 6993891
Change-Id: I26d6a9916bc20a0865d2bd1c765350928b7987ef
diff --git a/src/com/android/contacts/ContactsApplication.java b/src/com/android/contacts/ContactsApplication.java
index 4e43b46..ef07cf9 100644
--- a/src/com/android/contacts/ContactsApplication.java
+++ b/src/com/android/contacts/ContactsApplication.java
@@ -33,7 +33,7 @@
 import com.android.contacts.list.ContactListFilterController;
 import com.android.contacts.model.AccountTypeManager;
 import com.android.contacts.test.InjectedServices;
-import com.android.contacts.util.Constants;
+import com.android.contacts.common.util.Constants;
 import com.google.common.annotations.VisibleForTesting;
 
 public final class ContactsApplication extends Application {
@@ -41,6 +41,11 @@
     private static final boolean ENABLE_FRAGMENT_LOG = false; // Don't submit with true
 
     private static InjectedServices sInjectedServices;
+    /**
+     * Log tag for enabling/disabling StrictMode violation log.
+     * To enable: adb shell setprop log.tag.ContactsStrictMode DEBUG
+     */
+    public static final String STRICT_MODE_TAG = "ContactsStrictMode";
     private ContactPhotoManager mContactPhotoManager;
     private ContactListFilterController mContactListFilterController;
 
@@ -111,7 +116,7 @@
         if (ENABLE_FRAGMENT_LOG) FragmentManager.enableDebugLogging(true);
         if (ENABLE_LOADER_LOG) LoaderManager.enableDebugLogging(true);
 
-        if (Log.isLoggable(Constants.STRICT_MODE_TAG, Log.DEBUG)) {
+        if (Log.isLoggable(STRICT_MODE_TAG, Log.DEBUG)) {
             StrictMode.setThreadPolicy(
                     new StrictMode.ThreadPolicy.Builder().detectAll().penaltyLog().build());
         }
diff --git a/src/com/android/contacts/ContactsUtils.java b/src/com/android/contacts/ContactsUtils.java
index a53a423..57976e5 100644
--- a/src/com/android/contacts/ContactsUtils.java
+++ b/src/com/android/contacts/ContactsUtils.java
@@ -19,17 +19,14 @@
 import android.content.Context;
 import android.content.Intent;
 import android.database.Cursor;
-import android.net.Uri;
-import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Im;
 import android.provider.ContactsContract.DisplayPhoto;
 import android.telephony.PhoneNumberUtils;
 import android.text.TextUtils;
 
-import com.android.contacts.model.AccountTypeManager;
-import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountWithDataSet;
 import com.android.contacts.common.test.NeededForTesting;
+import com.android.contacts.model.AccountTypeManager;
 
 import java.util.List;
 
@@ -126,28 +123,6 @@
     }
 
     /**
-     * Returns the intent to launch for the given invitable account type and contact lookup URI.
-     * This will return null if the account type is not invitable (i.e. there is no
-     * {@link AccountType#getInviteContactActivityClassName()} or
-     * {@link AccountType#syncAdapterPackageName}).
-     */
-    public static Intent getInvitableIntent(AccountType accountType, Uri lookupUri) {
-        String syncAdapterPackageName = accountType.syncAdapterPackageName;
-        String className = accountType.getInviteContactActivityClassName();
-        if (TextUtils.isEmpty(syncAdapterPackageName) || TextUtils.isEmpty(className)) {
-            return null;
-        }
-        Intent intent = new Intent();
-        intent.setClassName(syncAdapterPackageName, className);
-
-        intent.setAction(ContactsContract.Intents.INVITE_CONTACT);
-
-        // Data is the lookup URI.
-        intent.setData(lookupUri);
-        return intent;
-    }
-
-    /**
      * Returns the size (width and height) of thumbnail pictures as configured in the provider. This
      * can safely be called from the UI thread, as the provider can serve this without performing
      * a database access
diff --git a/src/com/android/contacts/TypePrecedence.java b/src/com/android/contacts/TypePrecedence.java
index b2d8a8f..53b8343 100644
--- a/src/com/android/contacts/TypePrecedence.java
+++ b/src/com/android/contacts/TypePrecedence.java
@@ -24,7 +24,6 @@
 import android.provider.ContactsContract.CommonDataKinds.StructuredPostal;
 
 import com.android.contacts.model.RawContactModifier;
-import com.android.contacts.util.Constants;
 
 /**
  * This class contains utility functions for determining the precedence of
@@ -36,6 +35,8 @@
 @Deprecated
 public final class TypePrecedence {
 
+    public static final String MIME_TYPE_VIDEO_CHAT = "vnd.android.cursor.item/video-chat-address";
+
     /* This utility class has cannot be instantiated.*/
     private TypePrecedence() {}
 
@@ -106,7 +107,7 @@
             return TYPE_PRECEDENCE_POSTAL;
         } else if (mimetype.equals(Im.CONTENT_ITEM_TYPE)) {
             return TYPE_PRECEDENCE_IM;
-        } else if (mimetype.equals(Constants.MIME_TYPE_VIDEO_CHAT)) {
+        } else if (mimetype.equals(MIME_TYPE_VIDEO_CHAT)) {
             return TYPE_PRECEDENCE_IM;
         } else if (mimetype.equals(Organization.CONTENT_ITEM_TYPE)) {
             return TYPE_PRECEDENCE_ORG;
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 53ffca9..019eacd 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -85,7 +85,7 @@
 import com.android.contacts.preference.DisplayOptionsPreferenceFragment;
 import com.android.contacts.util.AccountFilterUtil;
 import com.android.contacts.util.AccountPromptUtils;
-import com.android.contacts.util.Constants;
+import com.android.contacts.common.util.Constants;
 import com.android.contacts.util.DialogManager;
 import com.android.contacts.util.HelpUtils;
 import com.android.contacts.util.PhoneCapabilityTester;
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index cf1595d..fa71e72 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -875,7 +875,7 @@
             public void onItemClick(AdapterView<?> parent, View view, int position,
                     long id) {
                 if (mListener != null && mContactData != null) {
-                    mListener.onItemClicked(ContactsUtils.getInvitableIntent(
+                    mListener.onItemClicked(MoreContactUtils.getInvitableIntent(
                             popupAdapter.getItem(position) /* account type */,
                             mContactData.getLookupUri()));
                 }
diff --git a/src/com/android/contacts/model/AccountTypeManager.java b/src/com/android/contacts/model/AccountTypeManager.java
index 80e7082..f81179b 100644
--- a/src/com/android/contacts/model/AccountTypeManager.java
+++ b/src/com/android/contacts/model/AccountTypeManager.java
@@ -43,7 +43,7 @@
 import android.util.Log;
 import android.util.TimingLogger;
 
-import com.android.contacts.ContactsUtils;
+import com.android.contacts.common.MoreContactUtils;
 import com.android.contacts.common.model.account.AccountType;
 import com.android.contacts.common.model.account.AccountTypeWithDataSet;
 import com.android.contacts.common.model.account.AccountWithDataSet;
@@ -53,8 +53,8 @@
 import com.android.contacts.common.model.account.GoogleAccountType;
 import com.android.contacts.common.model.dataitem.DataKind;
 import com.android.contacts.common.test.NeededForTesting;
+import com.android.contacts.common.util.Constants;
 import com.android.contacts.list.ContactListFilterController;
-import com.android.contacts.util.Constants;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Objects;
 import com.google.common.collect.Lists;
@@ -723,7 +723,7 @@
             AccountType accountType = allInvitables.get(accountTypeWithDataSet);
 
             // Make sure that account types don't come from apps that are disabled.
-            Intent invitableIntent = ContactsUtils.getInvitableIntent(accountType,
+            Intent invitableIntent = MoreContactUtils.getInvitableIntent(accountType,
                     SAMPLE_CONTACT_URI);
             if (invitableIntent == null) {
                 result.remove(accountTypeWithDataSet);
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index ede911e..a585dbe 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -67,7 +67,7 @@
 import com.android.contacts.common.model.dataitem.DataKind;
 import com.android.contacts.model.dataitem.EmailDataItem;
 import com.android.contacts.model.dataitem.ImDataItem;
-import com.android.contacts.util.Constants;
+import com.android.contacts.common.util.Constants;
 import com.android.contacts.util.DataStatus;
 import com.android.contacts.util.ImageViewDrawableSetter;
 import com.android.contacts.util.SchedulingUtils;
diff --git a/src/com/android/contacts/util/Constants.java b/src/com/android/contacts/util/Constants.java
deleted file mode 100644
index 17e9c0c..0000000
--- a/src/com/android/contacts/util/Constants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2009 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.contacts.util;
-
-public class Constants {
-    public static final String MIME_TYPE_VIDEO_CHAT = "vnd.android.cursor.item/video-chat-address";
-
-    /**
-     * Log tag for performance measurement.
-     * To enable: adb shell setprop log.tag.ContactsPerf VERBOSE
-     */
-    public static final String PERFORMANCE_TAG = "ContactsPerf";
-
-    /**
-     * Log tag for enabling/disabling StrictMode violation log.
-     * To enable: adb shell setprop log.tag.ContactsStrictMode DEBUG
-     */
-    public static final String STRICT_MODE_TAG = "ContactsStrictMode";
-}