libbinder: split out PackageManagerNative aidl

Very few clients of libbinder use PackageManagerNative service, as such
it's a waste to couple them together. Now, user of PackageManagerNative
service need to add the corresponding aidl files as shared library.

Bug: 183654927
Test: builds + presubmit
Ignore-AOSP-First: To avoid merge conflicts, uploading it internally
first. Will be cherry-picked to AOSP later.

Change-Id: Ic2562a3ba1d7d84ab6c9a3836976608a3aa0b2dd
Merged-In: Ic2562a3ba1d7d84ab6c9a3836976608a3aa0b2dd
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp
index b86a85f..06594d7 100644
--- a/libs/binder/Android.bp
+++ b/libs/binder/Android.bp
@@ -64,9 +64,6 @@
     "PermissionCache.cpp",
     "PermissionController.cpp",
 ]
-libbinder_no_vendor_interface_sources = [
-    ":packagemanager_aidl",
-]
 
 cc_library {
     name: "libbinder",
@@ -127,7 +124,7 @@
         "TextOutput.cpp",
         "Utils.cpp",
         ":libbinder_aidl",
-    ] + libbinder_no_vendor_interface_sources,
+    ],
 
     target: {
         android: {
@@ -139,7 +136,7 @@
             },
         },
         vendor: {
-            exclude_srcs: libbinder_device_interface_sources + libbinder_no_vendor_interface_sources,
+            exclude_srcs: libbinder_device_interface_sources,
         },
         darwin: {
             enabled: false,
@@ -289,8 +286,11 @@
     path: "aidl",
 }
 
-filegroup {
+aidl_interface {
     name: "packagemanager_aidl",
+    unstable: true,
+    local_include_dir: "aidl",
+    host_supported: true,
     srcs: [
         "aidl/android/content/pm/IPackageChangeObserver.aidl",
         "aidl/android/content/pm/IPackageManagerNative.aidl",
@@ -299,7 +299,6 @@
         "aidl/android/content/pm/ApexStagedEvent.aidl",
         "aidl/android/content/pm/StagedApexInfo.aidl",
     ],
-    path: "aidl",
 }
 
 aidl_interface {