Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78c95f34 authored by Dichen Zhang's avatar Dichen Zhang Committed by Android (Google) Code Review
Browse files

Merge "Audio attributes using public API"

parents a820175f 28d27f52
Loading
Loading
Loading
Loading
+17 −16
Original line number Original line Diff line number Diff line
@@ -65,17 +65,19 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen
    jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V");
    jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V");
    jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor);
    jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor);


    {
        sp<JObjectHolder> audioAttributesObj;
        if (attributes != NULL) {
        if (attributes != NULL) {
        mAudioAttributesObj = new JObjectHolder(attributes);
            audioAttributesObj = new JObjectHolder(attributes);
        } else {
        } else {
        mAudioAttributesObj = new JObjectHolder(
            audioAttributesObj = new JObjectHolder(
                    JAudioAttributes::createAudioAttributesObj(env, NULL));
                    JAudioAttributes::createAudioAttributesObj(env, NULL));
        }
        }

        jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes",
        jmethodID jSetAudioAttributes = env->GetMethodID(jBuilderCls, "setAudioAttributes",
                "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;");
                "(Landroid/media/AudioAttributes;)Landroid/media/AudioTrack$Builder;");
        jBuilderObj = env->CallObjectMethod(jBuilderObj,
        jBuilderObj = env->CallObjectMethod(jBuilderObj,
            jSetAudioAttributes, mAudioAttributesObj->getJObject());
                jSetAudioAttributes, audioAttributesObj->getJObject());
    }


    jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat",
    jmethodID jSetAudioFormat = env->GetMethodID(jBuilderCls, "setAudioFormat",
            "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;");
            "(Landroid/media/AudioFormat;)Landroid/media/AudioTrack$Builder;");
@@ -513,15 +515,14 @@ status_t JAudioTrack::setPreferredDevice(jobject device) {
}
}


audio_stream_type_t JAudioTrack::getAudioStreamType() {
audio_stream_type_t JAudioTrack::getAudioStreamType() {
    if (mAudioAttributesObj == NULL) {
        return AUDIO_STREAM_DEFAULT;
    }
    JNIEnv *env = JavaVMHelper::getJNIEnv();
    JNIEnv *env = JavaVMHelper::getJNIEnv();
    jmethodID jGetAudioAttributes = env->GetMethodID(mAudioTrackCls, "getAudioAttributes",
            "()Landroid/media/AudioAttributes;");
    jobject jAudioAttributes = env->CallObjectMethod(mAudioTrackObj, jGetAudioAttributes);
    jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes");
    jclass jAudioAttributesCls = env->FindClass("android/media/AudioAttributes");
    jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls,
    jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls,
            "getVolumeControlStream", "()I");
            "getVolumeControlStream", "()I");
    int javaAudioStreamType = env->CallIntMethod(
    int javaAudioStreamType = env->CallIntMethod(jAudioAttributes, jGetVolumeControlStream);
            mAudioAttributesObj->getJObject(), jGetVolumeControlStream);
    return (audio_stream_type_t)javaAudioStreamType;
    return (audio_stream_type_t)javaAudioStreamType;
}
}


+0 −1
Original line number Original line Diff line number Diff line
@@ -446,7 +446,6 @@ private:


    jclass mAudioTrackCls;
    jclass mAudioTrackCls;
    jobject mAudioTrackObj;
    jobject mAudioTrackObj;
    sp<JObjectHolder> mAudioAttributesObj;


    /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */
    /* Creates a Java VolumeShaper.Configuration object from VolumeShaper::Configuration */
    jobject createVolumeShaperConfigurationObj(
    jobject createVolumeShaperConfigurationObj(