Add attributionTag to audio-recordings

... by replacing packageName/uid/pid by the Identity class.

This allows us to track which parts of the app trigger audio-recordings.
90% of the code is just sending around the additional parameters.

This adds it for the Java and native API.

Test: atest CtsAppOpsTestCases
            CtsNativeMediaAAudioTestCases
Fixes: 160150145
Change-Id: Ibd7b884f7fcd4668a4e27f997e59cfc3217a9e89
diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp
index 79c155e..d25597d 100644
--- a/media/libaudioclient/Android.bp
+++ b/media/libaudioclient/Android.bp
@@ -132,10 +132,12 @@
         "libshmemcompat",
         "libutils",
         "libvibrator",
+        "media_permission-aidl-cpp",
     ],
     export_shared_lib_headers: [
         "audioflinger-aidl-cpp",
         "audiopolicy-aidl-cpp",
+        "media_permission-aidl-cpp",
         "libbinder",
     ],
 
@@ -162,6 +164,7 @@
         // for memory heap analysis
         "libc_malloc_debug_backtrace",
         "shared-file-region-aidl-cpp",
+        "media_permission-aidl-cpp",
     ],
     cflags: [
         "-Wall",
@@ -229,6 +232,7 @@
         "libshmemcompat",
         "libutils",
         "shared-file-region-aidl-cpp",
+        "media_permission-aidl-cpp",
     ],
     export_shared_lib_headers: [
         "audioclient-types-aidl-cpp",
@@ -346,6 +350,7 @@
     ],
     imports: [
         "audio_common-aidl",
+        "media_permission-aidl",
     ],
     backend: {
         cpp: {
@@ -427,6 +432,7 @@
         "av-types-aidl",
         "effect-aidl",
         "shared-file-region-aidl",
+        "media_permission-aidl",
     ],
     double_loadable: true,
     backend: {
@@ -460,6 +466,7 @@
         "audioclient-types-aidl",
         "audiopolicy-types-aidl",
         "capture_state_listener-aidl",
+        "media_permission-aidl",
     ],
     double_loadable: true,
     backend: {