Limit build visibility of modules in apex/...

This changes the default visibility of soong modules in this directory
to __subpackages__, from the current public default.

This helps accidental dependencies sneaking in without intent from
the module owner.

Bug: 175604587
Test: m nothing
Change-Id: I1df8b8e087d27f62ce8c09d7e6e32d511efdba6b
diff --git a/apex/Android.bp b/apex/Android.bp
index 4e80acb..77ff6db 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -12,6 +12,10 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    default_visibility: [":__subpackages__"],
+}
+
 mainline_stubs_args =
     "--error UnhiddenSystemApi " +
     "--hide BroadcastBehavior " +
@@ -136,6 +140,13 @@
         enabled: true,
         sdk_version: "module_current",
     },
+    defaults_visibility: [
+        ":__subpackages__",
+        "//frameworks/base/libs/hwui",
+        "//frameworks/base/wifi",
+        "//packages/modules:__subpackages__",
+        "//packages/providers/MediaProvider:__subpackages__",
+    ],
 }
 
 // Defaults for mainline module system server provided java_sdk_library instances.
@@ -147,6 +158,10 @@
         enabled: true,
         sdk_version: "module_current",
     },
+    defaults_visibility: [
+        ":__subpackages__",
+        "//packages/modules:__subpackages__",
+    ],
 }
 
 stubs_defaults {
diff --git a/apex/appsearch/framework/Android.bp b/apex/appsearch/framework/Android.bp
index 12afde4..b3eb911 100644
--- a/apex/appsearch/framework/Android.bp
+++ b/apex/appsearch/framework/Android.bp
@@ -19,6 +19,7 @@
         "java/**/*.aidl",
     ],
     path: "java",
+    visibility: ["//frameworks/base"],
 }
 
 java_sdk_library {
diff --git a/apex/appsearch/service/Android.bp b/apex/appsearch/service/Android.bp
index fc1d707..2fd5c73 100644
--- a/apex/appsearch/service/Android.bp
+++ b/apex/appsearch/service/Android.bp
@@ -28,5 +28,11 @@
         "libicing",
     ],
     jarjar_rules: "jarjar-rules.txt",
+    visibility: [
+        "//frameworks/base/apex/appsearch:__subpackages__",
+        // These are required until appsearch is properly unbundled.
+        "//frameworks/base/services/tests/mockingservicestests",
+        "//frameworks/base/services/tests/servicestests",
+    ],
     apex_available: ["com.android.appsearch"],
 }
diff --git a/apex/blobstore/framework/Android.bp b/apex/blobstore/framework/Android.bp
index 2469351..3499553 100644
--- a/apex/blobstore/framework/Android.bp
+++ b/apex/blobstore/framework/Android.bp
@@ -19,6 +19,7 @@
         "java/**/*.aidl"
     ],
     path: "java",
+    visibility: ["//frameworks/base"],
 }
 
 java_library {
diff --git a/apex/blobstore/service/Android.bp b/apex/blobstore/service/Android.bp
index 22b0cbe..f6cbac1 100644
--- a/apex/blobstore/service/Android.bp
+++ b/apex/blobstore/service/Android.bp
@@ -25,4 +25,9 @@
         "services.core",
         "services.usage",
     ],
+    visibility: [
+        // These are required until blobstore is properly unbundled.
+        "//frameworks/base/services",
+        "//frameworks/base/services/tests/mockingservicestests",
+    ],
 }
diff --git a/apex/jobscheduler/framework/Android.bp b/apex/jobscheduler/framework/Android.bp
index dab295b..6650e67 100644
--- a/apex/jobscheduler/framework/Android.bp
+++ b/apex/jobscheduler/framework/Android.bp
@@ -5,6 +5,7 @@
         "java/**/*.aidl",
     ],
     path: "java",
+    visibility: ["//frameworks/base"],
 }
 
 java_library {
diff --git a/apex/jobscheduler/service/Android.bp b/apex/jobscheduler/service/Android.bp
index 8aa88c2..35bd317 100644
--- a/apex/jobscheduler/service/Android.bp
+++ b/apex/jobscheduler/service/Android.bp
@@ -23,4 +23,12 @@
     required: [
         "libalarm_jni",
     ],
+    visibility: [
+        "//frameworks/base/apex/jobscheduler:__subpackages__",
+        // These are required until jobscheduler is properly unbundled.
+        "//frameworks/base/services",
+        "//frameworks/base/services/tests/mockingservicestests",
+        "//frameworks/base/services/tests/servicestests",
+        "//frameworks/base/tests/JobSchedulerPerfTests",
+    ],
 }
diff --git a/apex/jobscheduler/service/jni/Android.bp b/apex/jobscheduler/service/jni/Android.bp
index c502867..4bcc165 100644
--- a/apex/jobscheduler/service/jni/Android.bp
+++ b/apex/jobscheduler/service/jni/Android.bp
@@ -29,8 +29,7 @@
                 ":arctimersrcs",
             ],
         }
-    }
-
+    },
 }
 
 filegroup {
@@ -38,4 +37,8 @@
     srcs: [
         "com_android_server_alarm_AlarmManagerService.cpp",
     ],
+    visibility: [
+        // TODO: remove this
+        "//vendor:__subpackages__",
+    ],
 }
diff --git a/apex/media/Android.bp b/apex/media/Android.bp
new file mode 100644
index 0000000..5f1bd37
--- /dev/null
+++ b/apex/media/Android.bp
@@ -0,0 +1,20 @@
+// Copyright (C) 2020 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package {
+    default_visibility: [
+        ":__subpackages__",
+        "//frameworks/av/apex",
+        "//frameworks/av/apex/testing",
+    ],
+}
diff --git a/apex/media/framework/Android.bp b/apex/media/framework/Android.bp
index b3c9a9a..811a700 100644
--- a/apex/media/framework/Android.bp
+++ b/apex/media/framework/Android.bp
@@ -48,6 +48,10 @@
         "test_com.android.media",
     ],
     min_sdk_version: "29",
+    visibility: [
+        "//frameworks/av/apex:__subpackages__",
+        "//frameworks/base", // For framework-all
+    ],
 }
 
 filegroup {
@@ -58,6 +62,7 @@
         ":mediaparser-srcs",
         ":mediasession2-java-srcs",
     ],
+    visibility: ["//frameworks/base"],
 }
 
 filegroup {
diff --git a/apex/permission/framework/Android.bp b/apex/permission/framework/Android.bp
index c0560f6..36b5dec 100644
--- a/apex/permission/framework/Android.bp
+++ b/apex/permission/framework/Android.bp
@@ -19,6 +19,7 @@
         "java/**/*.aidl",
     ],
     path: "java",
+    visibility: ["//frameworks/base"],
 }
 
 java_sdk_library {
diff --git a/apex/permission/service/Android.bp b/apex/permission/service/Android.bp
index b7d8433..f6c3156 100644
--- a/apex/permission/service/Android.bp
+++ b/apex/permission/service/Android.bp
@@ -18,6 +18,7 @@
         "java/**/*.java",
     ],
     path: "java",
+    visibility: ["//frameworks/base/services"],
 }
 
 java_sdk_library {