Grant permissions to headless system calendar/contacts sync adapters.

bug:21861781

Change-Id: I5f9905a23ba1b23e387adf2cea842172d34207b0
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index dbaba49..ea08956 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -39,6 +39,20 @@
     }
 
     /**
+     * Provider for package names.
+     */
+    public interface SyncAdapterPackagesProvider {
+
+        /**
+         * Gets the sync adapter packages for given authority and user.
+         * @param authority The authority.
+         * @param userId The user id.
+         * @return The package names.
+         */
+        public String[] getPackages(String authority, int userId);
+    }
+
+    /**
      * Sets the location provider packages provider.
      * @param provider The packages provider.
      */
@@ -69,6 +83,12 @@
     public abstract void setDialerAppPackagesProvider(PackagesProvider provider);
 
     /**
+     * Sets the sync adapter packages provider.
+     * @param provider The provider.
+     */
+    public abstract void setSyncAdapterPackagesprovider(SyncAdapterPackagesProvider provider);
+
+    /**
      * Requests granting of the default permissions to the current default SMS app.
      * @param packageName The default SMS package name.
      * @param userId The user for which to grant the permissions.