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

Change-Id: Ic2562a3ba1d7d84ab6c9a3836976608a3aa0b2dd
Merged-In: Ic2562a3ba1d7d84ab6c9a3836976608a3aa0b2dd
(cherry picked from commit 43d554f3e48155cc97fcb4174927386f87203dc8)
diff --git a/libs/binder/Android.bp b/libs/binder/Android.bp
index fccc9fa..3694388 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",
@@ -131,7 +128,7 @@
         "TextOutput.cpp",
         "Utils.cpp",
         ":libbinder_aidl",
-    ] + libbinder_no_vendor_interface_sources,
+    ],
 
     target: {
         android: {
@@ -143,7 +140,7 @@
             },
         },
         vendor: {
-            exclude_srcs: libbinder_device_interface_sources + libbinder_no_vendor_interface_sources,
+            exclude_srcs: libbinder_device_interface_sources,
         },
         darwin: {
             enabled: false,
@@ -292,8 +289,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",
@@ -302,7 +302,6 @@
         "aidl/android/content/pm/ApexStagedEvent.aidl",
         "aidl/android/content/pm/StagedApexInfo.aidl",
     ],
-    path: "aidl",
 }
 
 aidl_interface {