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 Diff line number Diff line
@@ -65,17 +65,19 @@ JAudioTrack::JAudioTrack( // < Usages of the argumen
    jmethodID jBuilderCtor = env->GetMethodID(jBuilderCls, "<init>", "()V");
    jobject jBuilderObj = env->NewObject(jBuilderCls, jBuilderCtor);

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

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

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

audio_stream_type_t JAudioTrack::getAudioStreamType() {
    if (mAudioAttributesObj == NULL) {
        return AUDIO_STREAM_DEFAULT;
    }
    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");
    jmethodID jGetVolumeControlStream = env->GetMethodID(jAudioAttributesCls,
            "getVolumeControlStream", "()I");
    int javaAudioStreamType = env->CallIntMethod(
            mAudioAttributesObj->getJObject(), jGetVolumeControlStream);
    int javaAudioStreamType = env->CallIntMethod(jAudioAttributes, jGetVolumeControlStream);
    return (audio_stream_type_t)javaAudioStreamType;
}

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

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

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