Enable media to perform its own hidden API processing

Previously, the hidden API encoding of the media boot dex jars, i.e.
those dex jars that media contributes to the bootclasspath were done
as part of the monolithic hidden API processing. This change causes
the encoding to be done by the media's bootclasspath_fragment.

This change involves the following:
* Addition of the fragments property to the media's
  bootclasspath_fragment module to list all the other
  bootclasspath_fragment modules on which this depends.

The build automatically checks that the hidden API flags which are
computed by media and encoded into its boot dex jars match those that
are generated by the monolithic processing so this is guaranteed to be
safe.

(cherry picked from 4451776fea17c9d712e231719a49fec7bf5cd5c1)

Bug: 179354495
Test: m com.android.media
      - ensure that the generated APEX is byte-for-byte identical
        before and after these changes.
      m out/soong/hiddenapi/hiddenapi-flags.csv
      - make sure that they are not changed by this.
Change-Id: Ic21aee1647a3b7805c5f0b058826b6f224d1d71c
Merged-In: Ic21aee1647a3b7805c5f0b058826b6f224d1d71c
diff --git a/apex/Android.bp b/apex/Android.bp
index 5a88d24..701f5dc 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -90,6 +90,14 @@
     name: "com.android.media-bootclasspath-fragment",
     contents: ["updatable-media"],
     apex_available: ["com.android.media"],
+
+    // The bootclasspath_fragments that provide APIs on which this depends.
+    fragments: [
+        {
+            apex: "com.android.art",
+            module: "art-bootclasspath-fragment",
+        },
+    ],
 }
 
 filegroup {