summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2020-08-18 12:51:39 -0700
committerMakoto Onuki <omakoto@google.com>2020-08-18 16:16:49 -0700
commit34cf812e21ffeca570a32d557822c29fc791c2f4 (patch)
tree354007782516b82bab9b77b2d1fef5b786d2835b /src
parent136040099add23a685ef9bbdef91a1745c9698da (diff)
downloadplatform_packages_providers_ContactsProvider-34cf812e21ffeca570a32d557822c29fc791c2f4.tar.gz
platform_packages_providers_ContactsProvider-34cf812e21ffeca570a32d557822c29fc791c2f4.tar.bz2
platform_packages_providers_ContactsProvider-34cf812e21ffeca570a32d557822c29fc791c2f4.zip
Make GAL provider visible to when it returns data
Bug: 158688602 Test: atest CtsContactsProviderTestCases Change-Id: I6702c31bb2aff095c2d9caaea581b4b326f345cc
Diffstat (limited to 'src')
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 5159fb94..4fc9bfc5 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -5548,6 +5548,17 @@ public class ContactsProvider2 extends AbstractContactsProvider
return null;
}
+ if (cursor.getCount() > 0) {
+ final int callingUid = Binder.getCallingUid();
+ final String directoryAuthority = directoryInfo.authority;
+ if (VERBOSE_LOGGING) {
+ Log.v(TAG, "Making authority " + directoryAuthority
+ + " visible to UID " + callingUid);
+ }
+ getContext().getPackageManager().grantImplicitAccess(
+ callingUid, directoryAuthority);
+ }
+
// Load the cursor contents into a memory cursor (backed by a cursor window) and close the
// underlying cursor.
try {