Remove restricted white-listing

Bug:4974334

Change-Id: I05736d49a72ca26902de52f967ee8028178e2366
diff --git a/src/com/android/contacts/ContactLoader.java b/src/com/android/contacts/ContactLoader.java
index 2ec1cbf..7ed9d86 100644
--- a/src/com/android/contacts/ContactLoader.java
+++ b/src/com/android/contacts/ContactLoader.java
@@ -413,7 +413,6 @@
                 RawContacts.SYNC3,
                 RawContacts.SYNC4,
                 RawContacts.DELETED,
-                RawContacts.IS_RESTRICTED,
                 RawContacts.NAME_VERIFIED,
 
                 Contacts.Entity.DATA_ID,
@@ -481,46 +480,45 @@
         public final static int SYNC3 = 22;
         public final static int SYNC4 = 23;
         public final static int DELETED = 24;
-        public final static int IS_RESTRICTED = 25;
-        public final static int NAME_VERIFIED = 26;
+        public final static int NAME_VERIFIED = 25;
 
-        public final static int DATA_ID = 27;
-        public final static int DATA1 = 28;
-        public final static int DATA2 = 29;
-        public final static int DATA3 = 30;
-        public final static int DATA4 = 31;
-        public final static int DATA5 = 32;
-        public final static int DATA6 = 33;
-        public final static int DATA7 = 34;
-        public final static int DATA8 = 35;
-        public final static int DATA9 = 36;
-        public final static int DATA10 = 37;
-        public final static int DATA11 = 38;
-        public final static int DATA12 = 39;
-        public final static int DATA13 = 40;
-        public final static int DATA14 = 41;
-        public final static int DATA15 = 42;
-        public final static int DATA_SYNC1 = 43;
-        public final static int DATA_SYNC2 = 44;
-        public final static int DATA_SYNC3 = 45;
-        public final static int DATA_SYNC4 = 46;
-        public final static int DATA_VERSION = 47;
-        public final static int IS_PRIMARY = 48;
-        public final static int IS_SUPERPRIMARY = 49;
-        public final static int MIMETYPE = 50;
-        public final static int RES_PACKAGE = 51;
+        public final static int DATA_ID = 26;
+        public final static int DATA1 = 27;
+        public final static int DATA2 = 28;
+        public final static int DATA3 = 29;
+        public final static int DATA4 = 30;
+        public final static int DATA5 = 31;
+        public final static int DATA6 = 32;
+        public final static int DATA7 = 33;
+        public final static int DATA8 = 34;
+        public final static int DATA9 = 35;
+        public final static int DATA10 = 36;
+        public final static int DATA11 = 37;
+        public final static int DATA12 = 38;
+        public final static int DATA13 = 39;
+        public final static int DATA14 = 40;
+        public final static int DATA15 = 41;
+        public final static int DATA_SYNC1 = 42;
+        public final static int DATA_SYNC2 = 43;
+        public final static int DATA_SYNC3 = 44;
+        public final static int DATA_SYNC4 = 45;
+        public final static int DATA_VERSION = 46;
+        public final static int IS_PRIMARY = 47;
+        public final static int IS_SUPERPRIMARY = 48;
+        public final static int MIMETYPE = 49;
+        public final static int RES_PACKAGE = 50;
 
-        public final static int GROUP_SOURCE_ID = 52;
+        public final static int GROUP_SOURCE_ID = 51;
 
-        public final static int PRESENCE = 53;
-        public final static int CHAT_CAPABILITY = 54;
-        public final static int STATUS = 55;
-        public final static int STATUS_RES_PACKAGE = 56;
-        public final static int STATUS_ICON = 57;
-        public final static int STATUS_LABEL = 58;
-        public final static int STATUS_TIMESTAMP = 59;
+        public final static int PRESENCE = 52;
+        public final static int CHAT_CAPABILITY = 53;
+        public final static int STATUS = 54;
+        public final static int STATUS_RES_PACKAGE = 55;
+        public final static int STATUS_ICON = 56;
+        public final static int STATUS_LABEL = 57;
+        public final static int STATUS_TIMESTAMP = 58;
 
-        public final static int PHOTO_URI = 60;
+        public final static int PHOTO_URI = 59;
     }
 
     private static class DirectoryQuery {
@@ -764,7 +762,6 @@
             cursorColumnToContentValues(cursor, cv, ContactQuery.DELETED);
             cursorColumnToContentValues(cursor, cv, ContactQuery.CONTACT_ID);
             cursorColumnToContentValues(cursor, cv, ContactQuery.STARRED);
-            cursorColumnToContentValues(cursor, cv, ContactQuery.IS_RESTRICTED);
             cursorColumnToContentValues(cursor, cv, ContactQuery.NAME_VERIFIED);
 
             return cv;
diff --git a/src/com/android/contacts/GroupMemberLoader.java b/src/com/android/contacts/GroupMemberLoader.java
index 0633bf8..8f08ccd 100644
--- a/src/com/android/contacts/GroupMemberLoader.java
+++ b/src/com/android/contacts/GroupMemberLoader.java
@@ -82,8 +82,6 @@
         Uri uri = Data.CONTENT_URI;
         uri = uri.buildUpon().appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
                 String.valueOf(Directory.DEFAULT)).build();
-        // TODO: Bring back dataRestriction
-        // uri = applyDataRestriction(uri);
         return uri;
     }
 
diff --git a/src/com/android/contacts/detail/ContactLoaderFragment.java b/src/com/android/contacts/detail/ContactLoaderFragment.java
index 5504473..b7cb2b7 100644
--- a/src/com/android/contacts/detail/ContactLoaderFragment.java
+++ b/src/com/android/contacts/detail/ContactLoaderFragment.java
@@ -98,8 +98,6 @@
 
     private ContactLoader.Result mContactData;
 
-    private boolean mAllRestricted;
-
     public ContactLoaderFragment() {
     }
 
@@ -189,16 +187,6 @@
                 mContactData = null;
             }
 
-            mAllRestricted = true;
-
-            for (Entity entity: mContactData.getEntities()) {
-                final ContentValues entValues = entity.getEntityValues();
-                // Mark when this contact has any unrestricted components
-                Integer restricted = entValues.getAsInteger(RawContacts.IS_RESTRICTED);
-                final boolean isRestricted = restricted != null && restricted != 0;
-                if (!isRestricted) mAllRestricted = false;
-            }
-
             if (mListener != null) {
                 if (mContactData == null) {
                     mListener.onContactNotFound();
@@ -208,6 +196,7 @@
             }
         }
 
+        @Override
         public void onLoaderReset(Loader<ContactLoader.Result> loader) {
             mContactData = null;
             if (mListener != null) {
@@ -259,7 +248,7 @@
     }
 
     public boolean isContactShareable() {
-        return mContactData != null && !mContactData.isDirectoryEntry() && !mAllRestricted;
+        return mContactData != null && !mContactData.isDirectoryEntry();
     }
 
     @Override
@@ -281,7 +270,6 @@
                 return true;
             }
             case R.id.menu_share: {
-                if (mAllRestricted) return false;
                 if (mContactData == null) return false;
 
                 final String lookupKey = mContactData.getLookupKey();
diff --git a/src/com/android/contacts/list/ContactEntryListAdapter.java b/src/com/android/contacts/list/ContactEntryListAdapter.java
index 06e31e3..a03ddee 100644
--- a/src/com/android/contacts/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/list/ContactEntryListAdapter.java
@@ -20,7 +20,6 @@
 import com.android.contacts.widget.IndexerListAdapter;
 import com.android.contacts.widget.TextWithHighlightingFactory;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.CursorLoader;
 import android.database.Cursor;
@@ -61,7 +60,6 @@
     private int mDisplayOrder;
     private int mSortOrder;
     private boolean mNameHighlightingEnabled;
-    private boolean mDataRestrictedByCallingPackage;
 
     private boolean mDisplayPhotos;
     private boolean mQuickContactEnabled;
@@ -278,43 +276,6 @@
         mIncludeProfile = includeProfile;
     }
 
-    public boolean isDataRestrictedByCallingPackage() {
-        return mDataRestrictedByCallingPackage;
-    }
-
-    public void setDataRestrictedByCallingPackage(boolean flag) {
-        mDataRestrictedByCallingPackage = flag;
-    }
-
-    /**
-     * Adds a parameter to the URI that ensures that only unrestricted data
-     * is included in the list, if {@link #isDataRestrictedByCallingPackage()} is true.
-     */
-    protected Uri applyDataRestriction(Uri uri) {
-        if (!mDataRestrictedByCallingPackage) {
-            return uri;
-        }
-
-        return applyDataRestriction(uri.buildUpon()).build();
-    }
-
-    /**
-     * See {@link #applyDataRestriction(Uri)}.
-     */
-    protected Uri.Builder applyDataRestriction(Uri.Builder builder) {
-        if (!mDataRestrictedByCallingPackage) {
-            return builder;
-        }
-
-        String callingPackage = ((Activity)getContext()).getCallingPackage();
-        if (!TextUtils.isEmpty(callingPackage)) {
-            return builder.appendQueryParameter(
-                    ContactsContract.REQUESTING_PACKAGE_PARAM_KEY, callingPackage);
-        }
-
-        return builder;
-    }
-
     public void configureDirectoryLoader(DirectoryListLoader loader) {
         loader.setDirectorySearchMode(mDirectorySearchMode);
         loader.setLocalInvisibleDirectoryEnabled(LOCAL_INVISIBLE_DIRECTORY_ENABLED);
diff --git a/src/com/android/contacts/list/ContactPickerFragment.java b/src/com/android/contacts/list/ContactPickerFragment.java
index 6bfca57..5d0f692 100644
--- a/src/com/android/contacts/list/ContactPickerFragment.java
+++ b/src/com/android/contacts/list/ContactPickerFragment.java
@@ -170,7 +170,6 @@
         super.configureAdapter();
 
         ContactEntryListAdapter adapter = getAdapter();
-        adapter.setDataRestrictedByCallingPackage(true);
 
         // If "Create new contact" is shown, don't display the empty list UI
         adapter.setEmptyListEnabled(!isCreateContactEnabled());
diff --git a/src/com/android/contacts/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index 7f96906..30ba3b0 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -82,7 +82,6 @@
                 }
                 builder.appendQueryParameter(SearchSnippetColumns.SNIPPET_ARGS_PARAM_KEY,
                         SNIPPET_ARGS);
-                applyDataRestriction(builder);
                 loader.setUri(builder.build());
                 loader.setProjection(FILTER_PROJECTION);
             }
@@ -129,7 +128,6 @@
                     ContactsContract.DIRECTORY_PARAM_KEY, String.valueOf(Directory.DEFAULT))
                     .build();
         }
-        uri = applyDataRestriction(uri);
 
         // Include the user's personal profile.
         if (shouldIncludeProfile()) {
diff --git a/src/com/android/contacts/list/EmailAddressListAdapter.java b/src/com/android/contacts/list/EmailAddressListAdapter.java
index eae02b5..e1c8ea2 100644
--- a/src/com/android/contacts/list/EmailAddressListAdapter.java
+++ b/src/com/android/contacts/list/EmailAddressListAdapter.java
@@ -22,10 +22,9 @@
 import android.net.Uri;
 import android.net.Uri.Builder;
 import android.provider.ContactsContract;
+import android.provider.ContactsContract.CommonDataKinds.Email;
 import android.provider.ContactsContract.ContactCounts;
 import android.provider.ContactsContract.Data;
-import android.provider.ContactsContract.CommonDataKinds.Email;
-import android.provider.ContactsContract.CommonDataKinds.Phone;
 import android.text.TextUtils;
 import android.view.View;
 import android.view.ViewGroup;
@@ -75,7 +74,6 @@
         }
         builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
                 String.valueOf(directoryId));
-        applyDataRestriction(builder);
         loader.setUri(builder.build());
         loader.setProjection(EMAILS_PROJECTION);
 
diff --git a/src/com/android/contacts/list/PhoneNumberListAdapter.java b/src/com/android/contacts/list/PhoneNumberListAdapter.java
index aabeebc..21a7846 100644
--- a/src/com/android/contacts/list/PhoneNumberListAdapter.java
+++ b/src/com/android/contacts/list/PhoneNumberListAdapter.java
@@ -90,7 +90,6 @@
 
             builder.appendQueryParameter(ContactsContract.DIRECTORY_PARAM_KEY,
                     String.valueOf(directoryId));
-            applyDataRestriction(builder);
             uri = builder.build();
             // TODO a projection that includes the search snippet
             loader.setProjection(PHONES_PROJECTION);
@@ -101,7 +100,6 @@
             if (isSectionHeaderDisplayEnabled()) {
                 uri = buildSectionIndexerUri(uri);
             }
-            uri = applyDataRestriction(uri);
 
             loader.setProjection(PHONES_PROJECTION);
         }
diff --git a/src/com/android/contacts/list/PostalAddressListAdapter.java b/src/com/android/contacts/list/PostalAddressListAdapter.java
index 86d465a..5642045 100644
--- a/src/com/android/contacts/list/PostalAddressListAdapter.java
+++ b/src/com/android/contacts/list/PostalAddressListAdapter.java
@@ -63,7 +63,6 @@
     @Override
     public void configureLoader(CursorLoader loader, long directoryId) {
         Uri uri = buildSectionIndexerUri(StructuredPostal.CONTENT_URI);
-        uri = applyDataRestriction(uri);
         loader.setUri(uri);
         loader.setProjection(POSTALS_PROJECTION);