Add default configs for module service stubs

To be used by individual modules with service components that
define system_server APIs.

Bug: 147768409
Test: m
Change-Id: Iff6a5a840c5dd7731e881d7db379915375d02324
diff --git a/apex/Android.bp b/apex/Android.bp
index 1943940..88c43f9 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -26,8 +26,10 @@
     "--hide Typo " +
     "--hide UnavailableSymbol "
 
-// TODO: remove this server classes are cleaned up.
-mainline_stubs_args += "--hide-package com.android.server "
+// TODO: remove the hiding when server classes are cleaned up.
+mainline_framework_stubs_args =
+    mainline_stubs_args +
+    "--hide-package com.android.server "
 
 priv_apps = " " +
     "--show-annotation android.annotation.SystemApi\\(" +
@@ -39,9 +41,17 @@
         "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
     "\\) "
 
+mainline_service_stubs_args =
+    mainline_stubs_args +
+    "--show-annotation android.annotation.SystemApi\\(" +
+        "client=android.annotation.SystemApi.Client.SYSTEM_SERVER" +
+    "\\) " +
+    "--hide-annotation android.annotation.Hide " +
+    "--hide InternalClasses " // com.android.* classes are okay in this interface
+
 stubs_defaults {
     name: "framework-module-stubs-defaults-publicapi",
-    args: mainline_stubs_args,
+    args: mainline_framework_stubs_args,
     installable: false,
     sdk_version: "current",
     check_api: {
@@ -54,7 +64,7 @@
 
 stubs_defaults {
     name: "framework-module-stubs-defaults-systemapi",
-    args: mainline_stubs_args + priv_apps,
+    args: mainline_framework_stubs_args + priv_apps,
     libs: ["framework-annotations-lib"],
     installable: false,
     sdk_version: "system_current",
@@ -73,7 +83,7 @@
 
 stubs_defaults {
     name: "framework-module-api-defaults-module_libs_api",
-    args: mainline_stubs_args + module_libs,
+    args: mainline_framework_stubs_args + module_libs,
     libs: ["framework-annotations-lib"],
     installable: false,
     sdk_version: "module_current",
@@ -87,8 +97,26 @@
 
 stubs_defaults {
     name: "framework-module-stubs-defaults-module_libs_api",
-    args: mainline_stubs_args + module_libs + priv_apps,
+    args: mainline_framework_stubs_args + module_libs + priv_apps,
     libs: ["framework-annotations-lib"],
     installable: false,
     sdk_version: "module_current",
 }
+
+stubs_defaults {
+    name: "service-module-stubs-srcs-defaults",
+    args: mainline_service_stubs_args,
+    installable: false,
+    check_api: {
+        current: {
+            api_file: "api/current.txt",
+            removed_api_file: "api/removed.txt",
+        },
+    },
+}
+
+// Empty for now, but a convenient place to add rules for all
+// module java_library system_server stub libs.
+java_defaults {
+    name: "service-module-stubs-defaults",
+}