AudioFlinger: enforce OP_RECORD_AUDIO during recording
Fix issue where RecordTrack silencing didn't silence the full buffer: the memset to 0 was using the RecordThread frame size, not the RecordTrack frame size. OP_RECORD_AUDIO was only enforced at the start of a recording which would fail if not granted. This patch silences the recording (i.e. silence is recorded instead) when it is lost, and undoes that when granted again. This requires: - propagating the package name of the client to the RecordTrack class - registering an appOp callback in RecordTrack (through a new OpRecordAudioMonitor class) to (un)silence the recording - update the isSilenced() method to take into account the appOp. Bug: 138968594 Bug: 138636979 Test: run app that records audio, then "adb shell appops __pack_name__ 27 2" and verify recording is silent after that. Change-Id: I4ebdb2f02409fdf045a77132bf7a1b24249ad948 Merged-In: Ib33f5b592185a67204997213bab1ac2594d90d37
Loading