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

Commit 6713689c authored by David Li's avatar David Li
Browse files

allow standby function in the DRAINING and TRANSFERRING states

Bug: 339564402
Test: steps in bug
Change-Id: I71e306f65d6a3730224a1d6375f62e3f952dcebc
parent 55d842d8
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -202,8 +202,12 @@ status_t StreamHalAidl::standby() {
    StreamDescriptor::Reply reply;
    switch (state) {
        case StreamDescriptor::State::ACTIVE:
        case StreamDescriptor::State::DRAINING:
        case StreamDescriptor::State::TRANSFERRING:
            RETURN_STATUS_IF_ERROR(pause(&reply));
            if (reply.state != StreamDescriptor::State::PAUSED) {
            if (reply.state != StreamDescriptor::State::PAUSED &&
                    reply.state != StreamDescriptor::State::DRAIN_PAUSED &&
                    reply.state != StreamDescriptor::State::TRANSFER_PAUSED) {
                ALOGE("%s: unexpected stream state: %s (expected PAUSED)",
                        __func__, toString(reply.state).c_str());
                return INVALID_OPERATION;
@@ -211,6 +215,7 @@ status_t StreamHalAidl::standby() {
            FALLTHROUGH_INTENDED;
        case StreamDescriptor::State::PAUSED:
        case StreamDescriptor::State::DRAIN_PAUSED:
        case StreamDescriptor::State::TRANSFER_PAUSED:
            if (mIsInput) return flush();
            RETURN_STATUS_IF_ERROR(flush(&reply));
            if (reply.state != StreamDescriptor::State::IDLE) {