Create all variants of stubs for permission

Add separate publicapi, systemapi and module_libs stubs for permission,
and use a naming scheme consistent with other modules.

Bug: 147768409
Test: m
Test: m framework-permission-stubs-{public,system,module_libs_}api
Change-Id: I0bd870f5418bab55e0507a57c72db1c088f732d2
diff --git a/Android.bp b/Android.bp
index c899179..8704d8c 100644
--- a/Android.bp
+++ b/Android.bp
@@ -469,7 +469,7 @@
         "framework-appsearch-stubs",
         "framework-sdkextensions-stubs-systemapi",
         "framework-statsd", // TODO(b/146167933): Use framework-statsd-stubs
-        "framework-permission-stubs",
+        "framework-permission-stubs-systemapi",
         "framework-wifi-stubs",
         "ike-stubs",
     ],
@@ -520,7 +520,7 @@
         "updatable_media_stubs",
         "framework_mediaprovider_stubs",
         "framework-appsearch", // TODO(b/146218515): should be framework-appsearch-stubs
-        "framework-permission-stubs",
+        "framework-permission-stubs-systemapi",
         "framework-sdkextensions-stubs-systemapi",
         // TODO(b/146167933): Use framework-statsd-stubs instead.
         "framework-statsd",
diff --git a/apex/permission/framework/Android.bp b/apex/permission/framework/Android.bp
index 09571a1..126fa00 100644
--- a/apex/permission/framework/Android.bp
+++ b/apex/permission/framework/Android.bp
@@ -44,23 +44,66 @@
     ],
 }
 
+stubs_defaults {
+    name: "framework-permission-stubs-defaults",
+    srcs: [ ":framework-permission-sources" ],
+    libs: [ "framework-annotations-lib" ],
+    sdk_version: "system_current",
+}
+
 droidstubs {
-    name: "framework-permission-stubs-sources",
-    srcs: [
-        ":framework-annotations",
-        ":framework-permission-sources",
+    name: "framework-permission-stubs-srcs-publicapi",
+    sdk_version: "system_current",
+    defaults: [
+        "framework-module-stubs-defaults-publicapi",
+        "framework-permission-stubs-defaults",
     ],
+}
+
+droidstubs {
+    name: "framework-permission-stubs-srcs-systemapi",
     sdk_version: "system_current",
     defaults: [
         "framework-module-stubs-defaults-systemapi",
+        "framework-permission-stubs-defaults",
+    ],
+}
+
+droidstubs {
+    name: "framework-permission-api-module_libs_api",
+    sdk_version: "system_current",
+    defaults: [
+        "framework-module-api-defaults-module_libs_api",
+        "framework-permission-stubs-defaults",
+    ],
+}
+
+droidstubs {
+    name: "framework-permission-stubs-srcs-module_libs_api",
+    sdk_version: "system_current",
+    defaults: [
+        "framework-module-stubs-defaults-module_libs_api",
+        "framework-permission-stubs-defaults",
     ],
 }
 
 java_library {
-    name: "framework-permission-stubs",
-    srcs: [
-        ":framework-permission-stubs-sources",
-    ],
+    name: "framework-permission-stubs-publicapi",
+    srcs: [ ":framework-permission-stubs-srcs-publicapi" ],
+    sdk_version: "system_current",
+    installable: false,
+}
+
+java_library {
+    name: "framework-permission-stubs-systemapi",
+    srcs: [ ":framework-permission-stubs-srcs-systemapi" ],
+    sdk_version: "system_current",
+    installable: false,
+}
+
+java_library {
+    name: "framework-permission-stubs-module_libs_api",
+    srcs: [ ":framework-permission-stubs-srcs-module_libs_api" ],
     sdk_version: "system_current",
     installable: false,
 }