diff options
author | Makoto Onuki <omakoto@google.com> | 2023-05-19 06:25:55 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-05-19 06:25:55 +0000 |
commit | 3ccb143429788da79561d423a148faa1f82d02c7 (patch) | |
tree | bbdbcd5ea5677f643063f11726d397ff0fec6de9 | |
parent | b6d4ab2c7ecac18a55311585abdce29f3ac6f122 (diff) | |
parent | fd22f4fcf420786669eeeead4ef1858f72428aa0 (diff) | |
download | ContactsProvider-3ccb143429788da79561d423a148faa1f82d02c7.tar.gz |
Revert "Adding in permission check for directory queries done in CP2 to prevent directories without permissions from accessing GAL data" am: fd22f4fcf4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/providers/ContactsProvider/+/23319105
Change-Id: I192f0b842547ecebb57edfad1d6cdd30cbfa0e04
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
3 files changed, 3 insertions, 46 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java index f4ce5c74..c38cc364 100644 --- a/src/com/android/providers/contacts/ContactsProvider2.java +++ b/src/com/android/providers/contacts/ContactsProvider2.java @@ -18,8 +18,6 @@ package com.android.providers.contacts; import static android.Manifest.permission.INTERACT_ACROSS_USERS; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; -import static android.Manifest.permission.READ_CALL_LOG; -import static android.Manifest.permission.WRITE_CONTACTS; import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static com.android.providers.contacts.util.PhoneAccountHandleMigrationUtils.TELEPHONY_COMPONENT_NAME; @@ -189,6 +187,7 @@ import com.android.providers.contacts.util.DbQueryUtils; import com.android.providers.contacts.util.LogFields; import com.android.providers.contacts.util.LogUtils; import com.android.providers.contacts.util.NeededForTesting; +import com.android.providers.contacts.util.PhoneAccountHandleMigrationUtils; import com.android.providers.contacts.util.UserUtils; import com.android.vcard.VCardComposer; import com.android.vcard.VCardConfig; @@ -1374,7 +1373,6 @@ public class ContactsProvider2 extends AbstractContactsProvider String authority; String accountName; String accountType; - String packageName; } /** @@ -4323,6 +4321,7 @@ public class ContactsProvider2 extends AbstractContactsProvider @Override protected int updateInTransaction( Uri uri, ContentValues values, String selection, String[] selectionArgs) { + if (VERBOSE_LOGGING) { Log.v(TAG, "updateInTransaction: uri=" + uri + " selection=[" + selection + "] args=" + Arrays.toString(selectionArgs) + @@ -5972,22 +5971,6 @@ public class ContactsProvider2 extends AbstractContactsProvider " Caller=" + getCallingPackage() + " User=" + UserUtils.getCurrentUserHandle(getContext())); } - final String packageName = directoryInfo.packageName; - // enforce permissions - final int queryType = sUriMatcher.match(uri); - final PackageManager pm = getContext().getPackageManager(); - if (queryType == PHONE_LOOKUP || queryType == PHONES_FILTER) { - if (pm.checkPermission(READ_CALL_LOG, packageName) != PERMISSION_GRANTED) { - Log.w(TAG, "Package " + packageName - + " does not have permission for phone lookup queries."); - return null; - } - } - if (pm.checkPermission(WRITE_CONTACTS, packageName) != PERMISSION_GRANTED) { - Log.w(TAG, "Package " + packageName - + " does not have permission for contact lookup queries."); - return null; - } cursor = getContext().getContentResolver().query( directoryUri, projection, selection, selectionArgs, sortOrder); if (cursor == null) { @@ -6149,8 +6132,7 @@ public class ContactsProvider2 extends AbstractContactsProvider Directory._ID, Directory.DIRECTORY_AUTHORITY, Directory.ACCOUNT_NAME, - Directory.ACCOUNT_TYPE, - Directory.PACKAGE_NAME, + Directory.ACCOUNT_TYPE }; public static final int DIRECTORY_ID = 0; @@ -6176,8 +6158,6 @@ public class ContactsProvider2 extends AbstractContactsProvider info.authority = cursor.getString(DirectoryQuery.AUTHORITY); info.accountName = cursor.getString(DirectoryQuery.ACCOUNT_NAME); info.accountType = cursor.getString(DirectoryQuery.ACCOUNT_TYPE); - info.packageName = - cursor.getString(cursor.getColumnIndex(Directory.PACKAGE_NAME)); mDirectoryCache.put(id, info); } } finally { diff --git a/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java b/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java index 7e8a7ad5..a4165ce5 100644 --- a/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java +++ b/tests/src/com/android/providers/contacts/ContactDirectoryManagerTest.java @@ -27,7 +27,6 @@ import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; import android.os.Bundle; -import android.os.Process; import android.provider.ContactsContract; import android.provider.ContactsContract.AggregationExceptions; import android.provider.ContactsContract.Contacts; @@ -552,11 +551,6 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), createPackage("test.packageX", "authorityX", false))); -// mPackageManager.grantRuntimePermission("test.package1", "android.permission.WRITE_CONTACTS", -// Process.myUserHandle()); -// mPackageManager.grantRuntimePermission("test.package1", "android.permission.READ_CALL_LOG", -// Process.myUserHandle()); - MockContactDirectoryProvider provider1 = (MockContactDirectoryProvider) addProvider( MockContactDirectoryProvider.class, "authority1"); @@ -591,20 +585,12 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { assertEquals("account-name1", cursor.getString(cursor.getColumnIndex("accountName"))); assertEquals("account-type1", cursor.getString(cursor.getColumnIndex("accountType"))); cursor.close(); -// mPackageManager.revokeRuntimePermission("test.package1", "android.permission.WRITE_CONTACTS", -// Process.myUserHandle()); -// mPackageManager.revokeRuntimePermission("test.package1", "android.permission.READ_CALL_LOG", -// Process.myUserHandle()); } public void testProjectionPopulated() throws Exception { mPackageManager.setInstalledPackages( Lists.newArrayList(createProviderPackage("test.package1", "authority1"), createPackage("test.packageX", "authorityX", false))); -// mPackageManager.grantRuntimePermission("test.package1", "android.permission.WRITE_CONTACTS", -// Process.myUserHandle()); -// mPackageManager.grantRuntimePermission("test.package1", "android.permission.READ_CALL_LOG", -// Process.myUserHandle()); MockContactDirectoryProvider provider1 = (MockContactDirectoryProvider) addProvider( MockContactDirectoryProvider.class, "authority1"); @@ -633,10 +619,6 @@ public class ContactDirectoryManagerTest extends BaseContactsProvider2Test { AggregationExceptions.RAW_CONTACT_ID1, AggregationExceptions.RAW_CONTACT_ID2, }); -// mPackageManager.revokeRuntimePermission("test.package1", "android.permission.WRITE_CONTACTS", -// Process.myUserHandle()); -// mPackageManager.revokeRuntimePermission("test.package1", "android.permission.READ_CALL_LOG", -// Process.myUserHandle()); } /** diff --git a/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java b/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java index c583e1df..6210229e 100644 --- a/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java +++ b/tests/src/com/android/providers/contacts/ContactsMockPackageManager.java @@ -152,11 +152,6 @@ public class ContactsMockPackageManager extends MockPackageManager { } @Override - public int checkPermission(String permission, String packageName) { - return PERMISSION_GRANTED; - } - - @Override public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent, ResolveInfoFlags flags, UserHandle user) { return new ArrayList<>(); |