static void android_media_ToneGenerator_native_setup(JNIEnv *env, jobject thiz, jint streamType, jint volume) { ToneGenerator *lpToneGen = new ToneGenerator((audio_stream_type_t) streamType, AudioSystem::linearToLog(volume), true); env->SetIntField(thiz, fields.context, 0); ALOGV("android_media_ToneGenerator_native_setup jobject: %x", (int)thiz); if (lpToneGen == NULL) { ALOGE("ToneGenerator creation failed"); jniThrowException(env, "java/lang/OutOfMemoryError", NULL); return; } ALOGV("ToneGenerator lpToneGen: %x", (unsigned int)lpToneGen); if (!lpToneGen->isInited()) { ALOGE("ToneGenerator init failed"); jniThrowRuntimeException(env, "Init failed"); return; } // Stow our new C++ ToneGenerator in an opaque field in the Java object. env->SetIntField(thiz, fields.context, (int)lpToneGen); ALOGV("ToneGenerator fields.context: %x", env->GetIntField(thiz, fields.context)); }
static void android_media_ToneGenerator_native_setup(JNIEnv *env, jobject thiz, jint streamType, jint volume) { ToneGenerator *lpToneGen = new ToneGenerator((audio_stream_type_t) streamType, AudioSystem::linearToLog(volume), true); env->SetLongField(thiz, fields.context, 0); ALOGV("android_media_ToneGenerator_native_setup jobject: %p", thiz); ALOGV("ToneGenerator lpToneGen: %p", lpToneGen); if (!lpToneGen->isInited()) { ALOGE("ToneGenerator init failed"); jniThrowRuntimeException(env, "Init failed"); delete lpToneGen; return; } // Stow our new C++ ToneGenerator in an opaque field in the Java object. env->SetLongField(thiz, fields.context, (jlong)lpToneGen); ALOGV("ToneGenerator fields.context: %p", (void*) env->GetLongField(thiz, fields.context)); }