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

Commit a90e4780 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

AudioService: fix cancelMuteAwaitConnection

In PlaybackActivityMonitor, unmuting of the current players
was only clearing the muting usages when the list of muted
players wasn't empty.

Bug: 232825215
Test: trigger SASS with no audio playing
Change-Id: I84f3cbb56b1336d654155bbb21520a631e581f65
parent 92e59dde
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -494,7 +494,7 @@ public final class PlaybackActivityMonitor
            }
            pw.println("\n");
            // muted players:
            pw.print("\n  muted players (piids) awaiting device connection: BL3 ####");
            pw.print("\n  muted players (piids) awaiting device connection:");
            for (int piid : mMutedPlayersAwaitingConnection) {
                pw.print(" " + piid);
            }
@@ -1235,9 +1235,7 @@ public final class PlaybackActivityMonitor

    @GuardedBy("mPlayerLock")
    private void unmutePlayersExpectingDevice() {
        if (mMutedPlayersAwaitingConnection.isEmpty()) {
            return;
        }
        mMutedUsagesAwaitingConnection = null;
        for (int piid : mMutedPlayersAwaitingConnection) {
            final AudioPlaybackConfiguration apc = mPlayers.get(piid);
            if (apc == null) {
@@ -1254,7 +1252,6 @@ public final class PlaybackActivityMonitor
            }
        }
        mMutedPlayersAwaitingConnection.clear();
        mMutedUsagesAwaitingConnection = null;
    }

    //=================================================================
@@ -1278,8 +1275,8 @@ public final class PlaybackActivityMonitor
            public void handleMessage(Message msg) {
                switch (msg.what) {
                    case MSG_L_TIMEOUT_MUTE_AWAIT_CONNECTION:
                        Log.i(TAG, "Timeout for muting waiting for "
                                + (AudioDeviceAttributes) msg.obj + ", unmuting");
                        sEventLogger.loglogi("Timeout for muting waiting for "
                                + (AudioDeviceAttributes) msg.obj + ", unmuting", TAG);
                        synchronized (mPlayerLock) {
                            unmutePlayersExpectingDevice();
                        }