Remove implementation details from statsd hidden api flags

Ran the following to compute the set of split_packages and
package_prefixes properties.
    m analyze_bcpf &&
    analyze_bcpf --bcpf com.android.os.statsd-bootclasspath-fragment --fix

Bug: 194063708
Test: m out/soong/hiddenapi/hiddenapi-flags.csv

Change-Id: I65fe8231e1c7c45c79120c2fe6ebbaabfb0f44a5
diff --git a/apex/Android.bp b/apex/Android.bp
index 4bb7657..2988a1d 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -98,6 +98,28 @@
 
     hidden_api: {
         max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
+
+        // The following packages contain classes from other modules on the
+        // bootclasspath. That means that the hidden API flags for this module
+        // has to explicitly list every single class this module provides in
+        // that package to differentiate them from the classes provided by other
+        // modules. That can include private classes that are not part of the
+        // API.
+        split_packages: [
+            "android.app",
+            "android.os",
+            "android.util",
+        ],
+
+        // The following packages and all their subpackages currently only
+        // contain classes from this bootclasspath_fragment. Listing a package
+        // here won't prevent other bootclasspath modules from adding classes in
+        // any of those packages but it will prevent them from adding those
+        // classes into an API surface, e.g. public, system, etc.. Doing so will
+        // result in a build failure due to inconsistent flags.
+        package_prefixes: [
+            "com.android.internal.statsd",
+        ],
     },
 }