Move AudioDeviceTypeAddr to libaudiofoundation.

As AudioDeviceTypeAddr moving to libaudiofoundation, adding the shared
library accordingly.

Test: make
Bug: 135621476
Change-Id: Ie79ba81bf8972cf30a538c9c1f8d973db2359bbe
Merged-In: Ie79ba81bf8972cf30a538c9c1f8d973db2359bbe
diff --git a/core/jni/Android.bp b/core/jni/Android.bp
index 7b61277..49c029c 100644
--- a/core/jni/Android.bp
+++ b/core/jni/Android.bp
@@ -279,6 +279,7 @@
         "libmediametrics",
         "libmeminfo",
         "libaudioclient",
+        "libaudiofoundation",
         "libaudiopolicy",
         "libjpeg",
         "libusbhost",
diff --git a/core/jni/android_media_AudioSystem.cpp b/core/jni/android_media_AudioSystem.cpp
index 686a919..6417b28 100644
--- a/core/jni/android_media_AudioSystem.cpp
+++ b/core/jni/android_media_AudioSystem.cpp
@@ -27,6 +27,7 @@
 #include "core_jni_helpers.h"
 
 #include <audiomanager/AudioManager.h>
+#include <media/AudioDeviceTypeAddr.h>
 #include <media/AudioSystem.h>
 #include <media/AudioPolicy.h>
 #include <media/MicrophoneInfo.h>
@@ -2015,9 +2016,10 @@
         if (!env->IsInstanceOf(addrJobj, stringClass)) {
             return (jint) AUDIO_JAVA_BAD_VALUE;
         }
-        String8 address = String8(env->GetStringUTFChars((jstring) addrJobj, NULL));
+        const char* address = env->GetStringUTFChars((jstring) addrJobj, NULL);
         AudioDeviceTypeAddr dev = AudioDeviceTypeAddr(typesPtr[i], address);
         deviceVector.add(dev);
+        env->ReleaseStringUTFChars((jstring) addrJobj, address);
     }
     env->ReleaseIntArrayElements(deviceTypes, typesPtr, 0);