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

Commit e2074d7b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allow DEFAULT_INPUT_METHOD to capture audio during RTT call" into rvc-dev

parents 3c0f2d04 a623a135
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1479,6 +1479,14 @@ status_t AudioSystem::setA11yServicesUids(const std::vector<uid_t>& uids)
    return aps->setA11yServicesUids(uids);
}

status_t AudioSystem::setCurrentImeUid(uid_t uid)
{
    const sp <IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
    if (aps == 0) return PERMISSION_DENIED;

    return aps->setCurrentImeUid(uid);
}

bool AudioSystem::isHapticPlaybackSupported()
{
    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
+27 −1
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ enum {
    GET_PREFERRED_DEVICE_FOR_PRODUCT_STRATEGY,
    GET_DEVICES_FOR_ATTRIBUTES,
    AUDIO_MODULES_UPDATED,  // oneway
    SET_CURRENT_IME_UID,
};

#define MAX_ITEMS_PER_LIST 1024
@@ -1145,6 +1146,18 @@ public:
        return static_cast <status_t> (reply.readInt32());
    }

    virtual status_t setCurrentImeUid(uid_t uid)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
        data.writeInt32(uid);
        status_t status = remote()->transact(SET_CURRENT_IME_UID, data, &reply);
        if (status != NO_ERROR) {
            return status;
        }
        return static_cast <status_t> (reply.readInt32());
    }

    virtual bool isHapticPlaybackSupported()
    {
        Parcel data, reply;
@@ -1529,7 +1542,8 @@ status_t BnAudioPolicyService::onTransact(
        case GET_PREFERRED_DEVICE_FOR_PRODUCT_STRATEGY:
        case GET_DEVICES_FOR_ATTRIBUTES:
        case SET_ALLOWED_CAPTURE_POLICY:
        case AUDIO_MODULES_UPDATED: {
        case AUDIO_MODULES_UPDATED:
        case SET_CURRENT_IME_UID: {
            if (!isServiceUid(IPCThreadState::self()->getCallingUid())) {
                ALOGW("%s: transaction %d received from PID %d unauthorized UID %d",
                      __func__, code, IPCThreadState::self()->getCallingPid(),
@@ -2680,6 +2694,18 @@ status_t BnAudioPolicyService::onTransact(
            return NO_ERROR;
        } break;

        case SET_CURRENT_IME_UID: {
            CHECK_INTERFACE(IAudioPolicyService, data, reply);
            int32_t uid;
            status_t status = data.readInt32(&uid);
            if (status != NO_ERROR) {
                return status;
            }
            status = setCurrentImeUid(uid);
            reply->writeInt32(static_cast <int32_t>(status));
            return NO_ERROR;
        }

        default:
            return BBinder::onTransact(code, data, reply, flags);
    }
+1 −0
Original line number Diff line number Diff line
@@ -399,6 +399,7 @@ public:

    static status_t setAssistantUid(uid_t uid);
    static status_t setA11yServicesUids(const std::vector<uid_t>& uids);
    static status_t setCurrentImeUid(uid_t uid);

    static bool     isHapticPlaybackSupported();

+1 −0
Original line number Diff line number Diff line
@@ -221,6 +221,7 @@ public:

    virtual status_t setAssistantUid(uid_t uid) = 0;
    virtual status_t setA11yServicesUids(const std::vector<uid_t>& uids) = 0;
    virtual status_t setCurrentImeUid(uid_t uid) = 0;

    virtual bool     isHapticPlaybackSupported() = 0;
    virtual status_t listAudioProductStrategies(AudioProductStrategyVector &strategies) = 0;
+7 −0
Original line number Diff line number Diff line
@@ -1420,6 +1420,13 @@ status_t AudioPolicyService::setA11yServicesUids(const std::vector<uid_t>& uids)
    return NO_ERROR;
}

status_t AudioPolicyService::setCurrentImeUid(uid_t uid)
{
    Mutex::Autolock _l(mLock);
    mUidPolicy->setCurrentImeUid(uid);
    return NO_ERROR;
}

bool AudioPolicyService::isHapticPlaybackSupported()
{
    if (mAudioPolicyManager == NULL) {
Loading