2222#include < utils/Log.h>
2323#include < jni.h>
2424#include < nativehelper/JNIHelp.h>
25+ #include < nativehelper/ScopedUtfChars.h>
2526#include < android_runtime/AndroidRuntime.h>
2627#include " SoundPool.h"
2728
@@ -181,7 +182,7 @@ static void android_media_callback(SoundPoolEvent event, SoundPool* soundPool, v
181182
182183static jint
183184android_media_SoundPool_native_setup (JNIEnv *env, jobject thiz, jobject weakRef,
184- jint maxChannels, jobject jaa)
185+ jint maxChannels, jobject jaa, jstring opPackageName )
185186{
186187 if (jaa == nullptr ) {
187188 ALOGE (" Error creating SoundPool: invalid audio attributes" );
@@ -203,7 +204,8 @@ android_media_SoundPool_native_setup(JNIEnv *env, jobject thiz, jobject weakRef,
203204 paa->flags = env->GetIntField (jaa, javaAudioAttrFields.fieldFlags );
204205
205206 ALOGV (" android_media_SoundPool_native_setup" );
206- auto *ap = new SoundPool (maxChannels, paa);
207+ ScopedUtfChars opPackageNameStr (env, opPackageName);
208+ auto *ap = new SoundPool (maxChannels, paa, opPackageNameStr.c_str ());
207209 if (ap == nullptr ) {
208210 return -1 ;
209211 }
@@ -298,7 +300,7 @@ static JNINativeMethod gMethods[] = {
298300 (void *)android_media_SoundPool_setRate
299301 },
300302 { " native_setup" ,
301- " (Ljava/lang/Object;ILjava/lang/Object;)I" ,
303+ " (Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/String; )I" ,
302304 (void *)android_media_SoundPool_native_setup
303305 },
304306 { " native_release" ,
0 commit comments