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

Commit d974cf81 authored by David Li's avatar David Li Committed by Android Build Cherrypicker Worker
Browse files

allow standby function in the DRAINING and TRANSFERRING states

Bug: 339564402
Test: steps in bug
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6713689c5b517c44afccf700dcd62ca26c77ec81)
Merged-In: I71e306f65d6a3730224a1d6375f62e3f952dcebc
Change-Id: I71e306f65d6a3730224a1d6375f62e3f952dcebc
parent 9d0441fb
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -200,8 +200,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;
@@ -209,6 +213,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) {