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

Commit 473bd776 authored by Eric Laurent's avatar Eric Laurent Committed by Android (Google) Code Review
Browse files

Merge "Fix issue 2378022: AudioService should direct volume control to...

Merge "Fix issue 2378022: AudioService should direct volume control to STREAM_VOICE_CALL stream when STREAM_VOICE_CALL stream is active."
parents 307da1a4 23f25cda
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -64,10 +64,10 @@ android_media_AudioSystem_isMicrophoneMuted(JNIEnv *env, jobject thiz)
}

static jboolean
android_media_AudioSystem_isMusicActive(JNIEnv *env, jobject thiz)
android_media_AudioSystem_isStreamActive(JNIEnv *env, jobject thiz, jint stream)
{
    bool state = false;
    AudioSystem::isMusicActive(&state);
    AudioSystem::isStreamActive(stream, &state);
    return state;
}

@@ -195,7 +195,7 @@ static JNINativeMethod gMethods[] = {
    {"getParameters",        "(Ljava/lang/String;)Ljava/lang/String;", (void *)android_media_AudioSystem_getParameters},
    {"muteMicrophone",      "(Z)I",     (void *)android_media_AudioSystem_muteMicrophone},
    {"isMicrophoneMuted",   "()Z",      (void *)android_media_AudioSystem_isMicrophoneMuted},
    {"isMusicActive",       "()Z",      (void *)android_media_AudioSystem_isMusicActive},
    {"isStreamActive",      "(I)Z",     (void *)android_media_AudioSystem_isStreamActive},
    {"setDeviceConnectionState", "(IILjava/lang/String;)I", (void *)android_media_AudioSystem_setDeviceConnectionState},
    {"getDeviceConnectionState", "(ILjava/lang/String;)I",  (void *)android_media_AudioSystem_getDeviceConnectionState},
    {"setPhoneState",       "(I)I",     (void *)android_media_AudioSystem_setPhoneState},
+2 −2
Original line number Diff line number Diff line
@@ -194,8 +194,8 @@ public:
    // set audio mode in audio hardware (see AudioSystem::audio_mode)
    static status_t setMode(int mode);

    // returns true if tracks are active on AudioSystem::MUSIC stream
    static status_t isMusicActive(bool *state);
    // returns true in *state if tracks are active on the specified stream
    static status_t isStreamActive(int stream, bool *state);

    // set/get audio hardware parameters. The function accepts a list of parameters
    // key value pairs in the form: key1=value1;key2=value2;...
+2 −2
Original line number Diff line number Diff line
@@ -97,8 +97,8 @@ public:
    virtual     status_t    setMicMute(bool state) = 0;
    virtual     bool        getMicMute() const = 0;

    // is a music stream active?
    virtual     bool        isMusicActive() const = 0;
    // is any track active on this stream?
    virtual     bool        isStreamActive(int stream) const = 0;

    virtual     status_t    setParameters(int ioHandle, const String8& keyValuePairs) = 0;
    virtual     String8     getParameters(int ioHandle, const String8& keys) = 0;
+4 −4
Original line number Diff line number Diff line
@@ -544,11 +544,11 @@ bool AudioFlinger::streamMute(int stream) const
    return mStreamTypes[stream].mute;
}

bool AudioFlinger::isMusicActive() const
bool AudioFlinger::isStreamActive(int stream) const
{
    Mutex::Autolock _l(mLock);
    for (uint32_t i = 0; i < mPlaybackThreads.size(); i++) {
        if (mPlaybackThreads.valueAt(i)->isMusicActive()) {
        if (mPlaybackThreads.valueAt(i)->isStreamActive(stream)) {
            return true;
        }
    }
@@ -1071,7 +1071,7 @@ bool AudioFlinger::PlaybackThread::streamMute(int stream) const
    return mStreamTypes[stream].mute;
}

bool AudioFlinger::PlaybackThread::isMusicActive() const
bool AudioFlinger::PlaybackThread::isStreamActive(int stream) const
{
    Mutex::Autolock _l(mLock);
    size_t count = mActiveTracks.size();
@@ -1079,7 +1079,7 @@ bool AudioFlinger::PlaybackThread::isMusicActive() const
        sp<Track> t = mActiveTracks[i].promote();
        if (t == 0) continue;
        Track* const track = t.get();
        if (t->type() == AudioSystem::MUSIC)
        if (t->type() == stream)
            return true;
    }
    return false;
+2 −2
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ public:
    virtual     status_t    setMicMute(bool state);
    virtual     bool        getMicMute() const;

    virtual     bool        isMusicActive() const;
    virtual     bool        isStreamActive(int stream) const;

    virtual     status_t    setParameters(int ioHandle, const String8& keyValuePairs);
    virtual     String8     getParameters(int ioHandle, const String8& keys);
@@ -506,7 +506,7 @@ private:
        virtual     float       streamVolume(int stream) const;
        virtual     bool        streamMute(int stream) const;

                    bool        isMusicActive() const;
                    bool        isStreamActive(int stream) const;

                    sp<Track>   createTrack_l(
                                    const sp<AudioFlinger::Client>& client,
Loading