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

Commit bcfb2ce2 authored by Jiabin Huang's avatar Jiabin Huang
Browse files

Revert "Support device role for capture preset."

Revert "Support set/clear/get preferred device for capture preset."

Revert submission 12409575-devicesRoleForCapturePreset

Reason for revert: break CarAudioZonesHelperTest
Reverted Changes:
I92fdb2cbd:Support set/clear/get preferred device for capture...
I44e67d5b0:Add a helper function of checking if an audio sour...
Ib16ab2ec8:Support device role for capture preset.
I46bd8dfb5:Add tests for set/get/clearPreferredDeviceForCaptu...

Change-Id: I80f5267a01b48d01681a2d97cf3eb9de573ca6b5
parent dddc2aef
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
@@ -1634,59 +1634,6 @@ status_t AudioSystem::getDevicesForRoleAndStrategy(product_strategy_t strategy,
    return aps->getDevicesForRoleAndStrategy(strategy, role, devices);
}

status_t AudioSystem::setDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                     device_role_t role,
                                                     const AudioDeviceTypeAddrVector &devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) {
        return PERMISSION_DENIED;
    }
    return aps->setDevicesRoleForCapturePreset(audioSource, role, devices);
}

status_t AudioSystem::addDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                     device_role_t role,
                                                     const AudioDeviceTypeAddrVector &devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) {
        return PERMISSION_DENIED;
    }
    return aps->addDevicesRoleForCapturePreset(audioSource, role, devices);
}

status_t AudioSystem::removeDevicesRoleForCapturePreset(
        audio_source_t audioSource, device_role_t role, const AudioDeviceTypeAddrVector& devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) {
        return PERMISSION_DENIED;
    }
    return aps->removeDevicesRoleForCapturePreset(audioSource, role, devices);
}

status_t AudioSystem::clearDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                       device_role_t role)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) {
        return PERMISSION_DENIED;
    }
    return aps->clearDevicesRoleForCapturePreset(audioSource, role);
}

status_t AudioSystem::getDevicesForRoleAndCapturePreset(audio_source_t audioSource,
                                                        device_role_t role,
                                                        AudioDeviceTypeAddrVector &devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) {
        return PERMISSION_DENIED;
    }
    return aps->getDevicesForRoleAndCapturePreset(audioSource, role, devices);
}

class CaptureStateListenerImpl : public media::BnCaptureStateListener,
                                 public IBinder::DeathRecipient {
public:
+1 −165
Original line number Diff line number Diff line
@@ -119,11 +119,6 @@ enum {
    AUDIO_MODULES_UPDATED,  // oneway
    SET_CURRENT_IME_UID,
    REGISTER_SOUNDTRIGGER_CAPTURE_STATE_LISTENER,
    SET_DEVICES_ROLE_FOR_CAPTURE_PRESET,
    ADD_DEVICES_ROLE_FOR_CAPTURE_PRESET,
    REMOVE_DEVICES_ROLE_FOR_CAPTURE_PRESET,
    CLEAR_DEVICES_ROLE_FOR_CAPTURE_PRESET,
    GET_DEVICES_FOR_ROLE_AND_CAPTURE_PRESET,
};

#define MAX_ITEMS_PER_LIST 1024
@@ -1413,95 +1408,6 @@ public:
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t setDevicesRoleForCapturePreset(audio_source_t audioSource,
            device_role_t role, const AudioDeviceTypeAddrVector &devices) {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeUint32(static_cast<uint32_t>(audioSource));
        data.writeUint32(static_cast<uint32_t>(role));
        status_t status = data.writeParcelableVector(devices);
        if (status != NO_ERROR) {
            return status;
        }
        status = remote()->transact(SET_DEVICES_ROLE_FOR_CAPTURE_PRESET, data, &reply);
        if (status != NO_ERROR) {
            return status;
        }
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t addDevicesRoleForCapturePreset(audio_source_t audioSource,
            device_role_t role, const AudioDeviceTypeAddrVector &devices)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeUint32(static_cast<uint32_t>(audioSource));
        data.writeUint32(static_cast<uint32_t>(role));
        status_t status = data.writeParcelableVector(devices);
        if (status != NO_ERROR) {
            return status;
        }
        status = remote()->transact(ADD_DEVICES_ROLE_FOR_CAPTURE_PRESET, data, &reply);
        if (status != NO_ERROR) {
           return status;
        }
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t removeDevicesRoleForCapturePreset(
            audio_source_t audioSource, device_role_t role,
            const AudioDeviceTypeAddrVector& devices)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeUint32(static_cast<uint32_t>(audioSource));
        data.writeUint32(static_cast<uint32_t>(role));
        status_t status = data.writeParcelableVector(devices);
        if (status != NO_ERROR) {
            return status;
        }
        status = remote()->transact(REMOVE_DEVICES_ROLE_FOR_CAPTURE_PRESET,
                data, &reply);
        if (status != NO_ERROR) {
           return status;
        }
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t clearDevicesRoleForCapturePreset(
            audio_source_t audioSource, device_role_t role)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeUint32(static_cast<uint32_t>(audioSource));
        data.writeUint32(static_cast<uint32_t>(role));
        status_t status = remote()->transact(CLEAR_DEVICES_ROLE_FOR_CAPTURE_PRESET,
                data, &reply);
        if (status != NO_ERROR) {
           return status;
        }
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t getDevicesForRoleAndCapturePreset(audio_source_t audioSource,
            device_role_t role, AudioDeviceTypeAddrVector &devices)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeUint32(static_cast<uint32_t>(audioSource));
        data.writeUint32(static_cast<uint32_t>(role));
        status_t status = remote()->transact(GET_DEVICES_FOR_ROLE_AND_CAPTURE_PRESET,
                data, &reply);
        if (status != NO_ERROR) {
            return status;
        }
        status = reply.readParcelableVector(&devices);
        if (status != NO_ERROR) {
            return status;
        }
        return static_cast<status_t>(reply.readInt32());
    }

    virtual status_t getDevicesForAttributes(const AudioAttributes &aa,
            AudioDeviceTypeAddrVector *devices) const
    {
@@ -1638,12 +1544,7 @@ status_t BnAudioPolicyService::onTransact(
        case SET_ALLOWED_CAPTURE_POLICY:
        case AUDIO_MODULES_UPDATED:
        case SET_CURRENT_IME_UID:
        case REGISTER_SOUNDTRIGGER_CAPTURE_STATE_LISTENER:
        case SET_DEVICES_ROLE_FOR_CAPTURE_PRESET:
        case ADD_DEVICES_ROLE_FOR_CAPTURE_PRESET:
        case REMOVE_DEVICES_ROLE_FOR_CAPTURE_PRESET:
        case CLEAR_DEVICES_ROLE_FOR_CAPTURE_PRESET:
        case GET_DEVICES_FOR_ROLE_AND_CAPTURE_PRESET: {
        case REGISTER_SOUNDTRIGGER_CAPTURE_STATE_LISTENER: {
            if (!isServiceUid(IPCThreadState::self()->getCallingUid())) {
                ALOGW("%s: transaction %d received from PID %d unauthorized UID %d",
                      __func__, code, IPCThreadState::self()->getCallingPid(),
@@ -2828,71 +2729,6 @@ status_t BnAudioPolicyService::onTransact(
            return NO_ERROR;
        } break;

        case SET_DEVICES_ROLE_FOR_CAPTURE_PRESET: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_source_t audioSource = (audio_source_t) data.readUint32();
            device_role_t role = (device_role_t) data.readUint32();
            AudioDeviceTypeAddrVector devices;
            status_t status = data.readParcelableVector(&devices);
            if (status != NO_ERROR) {
                return status;
            }
            status = setDevicesRoleForCapturePreset(audioSource, role, devices);
            reply->writeInt32(status);
            return NO_ERROR;
        }

        case ADD_DEVICES_ROLE_FOR_CAPTURE_PRESET: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_source_t audioSource = (audio_source_t) data.readUint32();
            device_role_t role = (device_role_t) data.readUint32();
            AudioDeviceTypeAddrVector devices;
            status_t status = data.readParcelableVector(&devices);
            if (status != NO_ERROR) {
                return status;
            }
            status = addDevicesRoleForCapturePreset(audioSource, role, devices);
            reply->writeInt32(status);
            return NO_ERROR;
        }

        case REMOVE_DEVICES_ROLE_FOR_CAPTURE_PRESET: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_source_t audioSource = (audio_source_t) data.readUint32();
            device_role_t role = (device_role_t) data.readUint32();
            AudioDeviceTypeAddrVector devices;
            status_t status = data.readParcelableVector(&devices);
            if (status != NO_ERROR) {
                return status;
            }
            status = removeDevicesRoleForCapturePreset(audioSource, role, devices);
            reply->writeInt32(status);
            return NO_ERROR;
        }

        case CLEAR_DEVICES_ROLE_FOR_CAPTURE_PRESET: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_source_t audioSource = (audio_source_t) data.readUint32();
            device_role_t role = (device_role_t) data.readUint32();
            status_t status = clearDevicesRoleForCapturePreset(audioSource, role);
            reply->writeInt32(status);
            return NO_ERROR;
        }

        case GET_DEVICES_FOR_ROLE_AND_CAPTURE_PRESET: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            audio_source_t audioSource = (audio_source_t) data.readUint32();
            device_role_t role = (device_role_t) data.readUint32();
            AudioDeviceTypeAddrVector devices;
            status_t status = getDevicesForRoleAndCapturePreset(audioSource, role, devices);
            status_t marshall_status = reply->writeParcelableVector(devices);
            if (marshall_status != NO_ERROR) {
                return marshall_status;
            }
            reply->writeInt32(status);
            return NO_ERROR;
        }

        default:
            return BBinder::onTransact(code, data, reply, flags);
    }
+0 −16
Original line number Diff line number Diff line
@@ -433,22 +433,6 @@ public:
    static status_t getDevicesForRoleAndStrategy(product_strategy_t strategy,
            device_role_t role, AudioDeviceTypeAddrVector &devices);

    static status_t setDevicesRoleForCapturePreset(audio_source_t audioSource,
            device_role_t role, const AudioDeviceTypeAddrVector &devices);

    static status_t addDevicesRoleForCapturePreset(audio_source_t audioSource,
            device_role_t role, const AudioDeviceTypeAddrVector &devices);

    static status_t removeDevicesRoleForCapturePreset(
            audio_source_t audioSource, device_role_t role,
            const AudioDeviceTypeAddrVector& devices);

    static status_t clearDevicesRoleForCapturePreset(
            audio_source_t audioSource, device_role_t role);

    static status_t getDevicesForRoleAndCapturePreset(audio_source_t audioSource,
            device_role_t role, AudioDeviceTypeAddrVector &devices);

    static status_t getDeviceForStrategy(product_strategy_t strategy,
            AudioDeviceTypeAddr &device);

+0 −19
Original line number Diff line number Diff line
@@ -252,25 +252,6 @@ public:
                                                  device_role_t role,
                                                  AudioDeviceTypeAddrVector &devices) = 0;

    virtual status_t setDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                    device_role_t role,
                                                    const AudioDeviceTypeAddrVector &devices) = 0;

    virtual status_t addDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                    device_role_t role,
                                                    const AudioDeviceTypeAddrVector &devices) = 0;

    virtual status_t removeDevicesRoleForCapturePreset(
            audio_source_t audioSource, device_role_t role,
            const AudioDeviceTypeAddrVector& devices) = 0;

    virtual status_t clearDevicesRoleForCapturePreset(audio_source_t audioSource,
                                                      device_role_t role) = 0;

    virtual status_t getDevicesForRoleAndCapturePreset(audio_source_t audioSource,
                                                       device_role_t role,
                                                       AudioDeviceTypeAddrVector &devices) = 0;

    // The return code here is only intended to represent transport errors. The
    // actual server implementation should always return NO_ERROR.
    virtual status_t registerSoundTriggerCaptureStateListener(
+0 −23
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@
#include <arpa/inet.h>
#include <iostream>
#include <regex>
#include <set>
#include <sstream>

namespace android {
@@ -81,14 +80,6 @@ bool AudioDeviceTypeAddr::operator<(const AudioDeviceTypeAddr& other) const {
    return false;
}

bool AudioDeviceTypeAddr::operator==(const AudioDeviceTypeAddr &rhs) const {
    return equals(rhs);
}

bool AudioDeviceTypeAddr::operator!=(const AudioDeviceTypeAddr &rhs) const {
    return !operator==(rhs);
}

void AudioDeviceTypeAddr::reset() {
    mType = AUDIO_DEVICE_NONE;
    setAddress("");
@@ -127,20 +118,6 @@ DeviceTypeSet getAudioDeviceTypes(const AudioDeviceTypeAddrVector& deviceTypeAdd
    return deviceTypes;
}

AudioDeviceTypeAddrVector excludeDeviceTypeAddrsFrom(
        const AudioDeviceTypeAddrVector& devices,
        const AudioDeviceTypeAddrVector& devicesToExclude) {
    std::set<AudioDeviceTypeAddr> devicesToExcludeSet(
            devicesToExclude.begin(), devicesToExclude.end());
    AudioDeviceTypeAddrVector remainedDevices;
    for (const auto& device : devices) {
        if (devicesToExcludeSet.count(device) == 0) {
            remainedDevices.push_back(device);
        }
    }
    return remainedDevices;
}

std::string dumpAudioDeviceTypeAddrVector(const AudioDeviceTypeAddrVector& deviceTypeAddrs,
                                          bool includeSensitiveInfo) {
    std::stringstream stream;
Loading