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

Commit c1afe3ba authored by jiabin's avatar jiabin Committed by Eric Laurent
Browse files

Use AudioDeviceTypeAddrVector instead of Vector<AudioDeviceTypeAddr>

AudioDeviceTypeAddrVector is std::vector<AudioDeviceTypeAddr>. In that
case, it is not needed to use Vector<AudioDeviceTypeAddr>. It is also
suggested to use the std::vector instead of Vector.

Test: atest AudioHostTest
Test: atest AudioServiceHostTest
Test: atest audiopolicy_tests
Bug: 160352965
Change-Id: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51
Merged-In: Ibcd91fcba95c53e3c172ae62fc6f30e70509de51
parent d295e4b4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1363,7 +1363,7 @@ status_t AudioSystem::registerPolicyMixes(const Vector<AudioMix>& mixes, bool re
    return aps->registerPolicyMixes(mixes, registration);
}

status_t AudioSystem::setUidDeviceAffinities(uid_t uid, const Vector<AudioDeviceTypeAddr>& devices)
status_t AudioSystem::setUidDeviceAffinities(uid_t uid, const AudioDeviceTypeAddrVector& devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) return PERMISSION_DENIED;
@@ -1377,7 +1377,7 @@ status_t AudioSystem::removeUidDeviceAffinities(uid_t uid) {
}

status_t AudioSystem::setUserIdDeviceAffinities(int userId,
                                                const Vector<AudioDeviceTypeAddr>& devices)
                                                const AudioDeviceTypeAddrVector& devices)
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) return PERMISSION_DENIED;
+39 −72
Original line number Diff line number Diff line
@@ -1173,31 +1173,18 @@ public:
        return reply.readBool();
    }

    virtual status_t setUidDeviceAffinities(uid_t uid, const Vector<AudioDeviceTypeAddr>& devices)
    virtual status_t setUidDeviceAffinities(uid_t uid, const AudioDeviceTypeAddrVector& devices)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());

        data.writeInt32((int32_t) uid);
        size_t size = devices.size();
        size_t sizePosition = data.dataPosition();
        data.writeInt32((int32_t) size);
        size_t finalSize = size;
        for (size_t i = 0; i < size; i++) {
            size_t position = data.dataPosition();
            if (devices[i].writeToParcel(&data) != NO_ERROR) {
                data.setDataPosition(position);
                finalSize--;
            }
        }
        if (size != finalSize) {
            size_t position = data.dataPosition();
            data.setDataPosition(sizePosition);
            data.writeInt32(finalSize);
            data.setDataPosition(position);
        status_t status = data.writeParcelableVector(devices);
        if (status != NO_ERROR) {
            return status;
        }

        status_t status = remote()->transact(SET_UID_DEVICE_AFFINITY, data, &reply);
        status = remote()->transact(SET_UID_DEVICE_AFFINITY, data, &reply);
        if (status == NO_ERROR) {
            status = (status_t)reply.readInt32();
        }
@@ -1218,32 +1205,18 @@ public:
        return status;
    }

        virtual status_t setUserIdDeviceAffinities(int userId,
                const Vector<AudioDeviceTypeAddr>& devices)
    virtual status_t setUserIdDeviceAffinities(int userId, const AudioDeviceTypeAddrVector& devices)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());

        data.writeInt32((int32_t) userId);
            size_t size = devices.size();
            size_t sizePosition = data.dataPosition();
            data.writeInt32((int32_t) size);
            size_t finalSize = size;
            for (size_t i = 0; i < size; i++) {
                size_t position = data.dataPosition();
                if (devices[i].writeToParcel(&data) != NO_ERROR) {
                    data.setDataPosition(position);
                    finalSize--;
                }
            }
            if (size != finalSize) {
                size_t position = data.dataPosition();
                data.setDataPosition(sizePosition);
                data.writeInt32(finalSize);
                data.setDataPosition(position);
        status_t status = data.writeParcelableVector(devices);
        if (status != NO_ERROR) {
            return status;
        }

            status_t status = remote()->transact(SET_USERID_DEVICE_AFFINITY, data, &reply);
        status = remote()->transact(SET_USERID_DEVICE_AFFINITY, data, &reply);
        if (status == NO_ERROR) {
            status = (status_t)reply.readInt32();
        }
@@ -2460,15 +2433,12 @@ status_t BnAudioPolicyService::onTransact(
        case SET_UID_DEVICE_AFFINITY: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            const uid_t uid = (uid_t) data.readInt32();
            Vector<AudioDeviceTypeAddr> devices;
            size_t size = (size_t)data.readInt32();
            for (size_t i = 0; i < size; i++) {
                AudioDeviceTypeAddr device;
                if (device.readFromParcel((Parcel*)&data) == NO_ERROR) {
                    devices.add(device);
                }
            AudioDeviceTypeAddrVector devices;
            status_t status = data.readParcelableVector(&devices);
            if (status != NO_ERROR) {
                return status;
            }
            status_t status = setUidDeviceAffinities(uid, devices);
            status = setUidDeviceAffinities(uid, devices);
            reply->writeInt32(status);
            return NO_ERROR;
        }
@@ -2484,15 +2454,12 @@ status_t BnAudioPolicyService::onTransact(
        case SET_USERID_DEVICE_AFFINITY: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            const int userId = (int) data.readInt32();
            Vector<AudioDeviceTypeAddr> devices;
            size_t size = (size_t)data.readInt32();
            for (size_t i = 0; i < size; i++) {
                AudioDeviceTypeAddr device;
                if (device.readFromParcel((Parcel*)&data) == NO_ERROR) {
                    devices.add(device);
                }
            AudioDeviceTypeAddrVector devices;
            status_t status = data.readParcelableVector(&devices);
            if (status != NO_ERROR) {
                return status;
            }
            status_t status = setUserIdDeviceAffinities(userId, devices);
            status = setUserIdDeviceAffinities(userId, devices);
            reply->writeInt32(status);
            return NO_ERROR;
        }
+2 −2
Original line number Diff line number Diff line
@@ -361,11 +361,11 @@ public:

    static status_t registerPolicyMixes(const Vector<AudioMix>& mixes, bool registration);

    static status_t setUidDeviceAffinities(uid_t uid, const Vector<AudioDeviceTypeAddr>& devices);
    static status_t setUidDeviceAffinities(uid_t uid, const AudioDeviceTypeAddrVector& devices);

    static status_t removeUidDeviceAffinities(uid_t uid);

    static status_t setUserIdDeviceAffinities(int userId, const Vector<AudioDeviceTypeAddr>& devices);
    static status_t setUserIdDeviceAffinities(int userId, const AudioDeviceTypeAddrVector& devices);

    static status_t removeUserIdDeviceAffinities(int userId);

+2 −2
Original line number Diff line number Diff line
@@ -196,13 +196,13 @@ public:

    virtual status_t registerPolicyMixes(const Vector<AudioMix>& mixes, bool registration) = 0;

    virtual status_t setUidDeviceAffinities(uid_t uid, const Vector<AudioDeviceTypeAddr>& devices)
    virtual status_t setUidDeviceAffinities(uid_t uid, const AudioDeviceTypeAddrVector& devices)
            = 0;

    virtual status_t removeUidDeviceAffinities(uid_t uid) = 0;

    virtual status_t setUserIdDeviceAffinities(int userId,
            const Vector<AudioDeviceTypeAddr>& devices) = 0;
            const AudioDeviceTypeAddrVector& devices) = 0;

    virtual status_t removeUserIdDeviceAffinities(int userId) = 0;

+2 −2
Original line number Diff line number Diff line
@@ -250,12 +250,12 @@ public:
    virtual status_t registerPolicyMixes(const Vector<AudioMix>& mixes) = 0;
    virtual status_t unregisterPolicyMixes(Vector<AudioMix> mixes) = 0;

    virtual status_t setUidDeviceAffinities(uid_t uid, const Vector<AudioDeviceTypeAddr>& devices)
    virtual status_t setUidDeviceAffinities(uid_t uid, const AudioDeviceTypeAddrVector& devices)
            = 0;
    virtual status_t removeUidDeviceAffinities(uid_t uid) = 0;

    virtual status_t setUserIdDeviceAffinities(int userId,
            const Vector<AudioDeviceTypeAddr>& devices) = 0;
            const AudioDeviceTypeAddrVector& devices) = 0;
    virtual status_t removeUserIdDeviceAffinities(int userId) = 0;

    virtual status_t startAudioSource(const struct audio_port_config *source,
Loading