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

Commit 4bd91653 authored by Eric Laurent's avatar Eric Laurent
Browse files

audio service: add watchdog for audio mode

Add a watchdog to remove an application from the audio mode
owner stack if it has requested mode IN_COMMUNICATION and
has not been playing or capturing audio for more than 3 seconds.

This will prevent volume, routing and recording issues when
misbehaving apps do not properly reset the audio mode at the
end of a call.

Bug: 161564483
Test: Manual regression tests for VoIP use cases
Change-Id: I7c6f57a2c9a6c31d107a1bba2d7dfac6e3f275bd
(cherry picked from commit 852cd7d7)
parent b3beae79
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -6428,8 +6428,8 @@ public class AudioService extends IAudioService.Stub
                                    CHECK_MODE_FOR_UID_PERIOD_MS);
                            break;
                        }
                        // For now just log the fact that an app is hogging the audio mode.
                        // TODO(b/160260850): remove abusive app from audio mode stack.
                        setModeInt(AudioSystem.MODE_NORMAL, h.getBinder(), h.getPid(), h.getUid(),
                                h.isPrivileged(), "MSG_CHECK_MODE_FOR_UID");
                        mModeLogger.log(new PhoneStateEvent(h.getPackage(), h.getPid()));
                    }
                    break;