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

Commit 89caa9a8 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Merge cherrypicks of ['googleplex-android-review.googlesource.com/30032457',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/30032457', 'googleplex-android-review.googlesource.com/30032853'] into 24Q4-release.

Change-Id: I0d47dc87d67e30239cf279d781ba90e31b6f035d
parents 71819169 599cd9c8
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -3527,6 +3527,9 @@ status_t AudioPolicyManager::setDeviceAbsoluteVolumeEnabled(audio_devices_t devi
                                                            bool enabled,
                                                            audio_stream_type_t streamToDriveAbs)
{
    ALOGI("%s: deviceType 0x%X, enabled %d, streamToDriveAbs %d", __func__, deviceType, enabled,
          streamToDriveAbs);

    if (!enabled) {
        mAbsoluteVolumeDrivingStreams.erase(deviceType);
        return NO_ERROR;
@@ -8237,9 +8240,9 @@ float AudioPolicyManager::adjustDeviceAttenuationForAbsVolume(IVolumeCurves &cur
    float volumeDb = curves.volIndexToDb(deviceCategory, index);

    if (com_android_media_audio_abs_volume_index_fix()) {
        if (mAbsoluteVolumeDrivingStreams.find(volumeDevice) !=
            mAbsoluteVolumeDrivingStreams.end()) {
            audio_attributes_t attributesToDriveAbs = mAbsoluteVolumeDrivingStreams[volumeDevice];
        const auto it = mAbsoluteVolumeDrivingStreams.find(volumeDevice);
        if (it != mAbsoluteVolumeDrivingStreams.end()) {
            audio_attributes_t attributesToDriveAbs = it->second;
            auto groupToDriveAbs = mEngine->getVolumeGroupForAttributes(attributesToDriveAbs);
            if (groupToDriveAbs == VOLUME_GROUP_NONE) {
                ALOGD("%s: no group matching with %s", __FUNCTION__,
+10 −5
Original line number Diff line number Diff line
@@ -1118,8 +1118,15 @@ Status AudioPolicyService::releaseInput(int32_t portIdAidl)
Status AudioPolicyService::setDeviceAbsoluteVolumeEnabled(const AudioDevice& deviceAidl,
                                                          bool enabled,
                                                          AudioStreamType streamToDriveAbsAidl) {
    audio_stream_type_t streamToDriveAbs = VALUE_OR_RETURN_BINDER_STATUS(
    ALOGI("%s: deviceAidl %s, enabled %d, streamToDriveAbsAidl %d", __func__,
          deviceAidl.toString().c_str(), enabled, streamToDriveAbsAidl);

    audio_stream_type_t streamToDriveAbs = AUDIO_STREAM_DEFAULT;
    if (enabled) {
        streamToDriveAbs = VALUE_OR_RETURN_BINDER_STATUS(
                aidl2legacy_AudioStreamType_audio_stream_type_t(streamToDriveAbsAidl));
    }

    audio_devices_t deviceType;
    std::string address;
    RETURN_BINDER_STATUS_IF_ERROR(
@@ -1133,9 +1140,7 @@ Status AudioPolicyService::setDeviceAbsoluteVolumeEnabled(const AudioDevice& dev
            : settingsAllowed())) {
        return binderStatusFromStatusT(PERMISSION_DENIED);
    }
    if (uint32_t(streamToDriveAbs) >= AUDIO_STREAM_PUBLIC_CNT) {
        return binderStatusFromStatusT(BAD_VALUE);
    }

    audio_utils::lock_guard _l(mMutex);
    AutoCallerClear acc;
    return binderStatusFromStatusT(