diff options
author | Mikhail Naganov <mnaganov@google.com> | 2022-08-11 00:05:09 +0000 |
---|---|---|
committer | Mikhail Naganov <mnaganov@google.com> | 2022-08-11 00:20:50 +0000 |
commit | 1c9ea30bd7be59b5e85329a18a0b831156a5d73f (patch) | |
tree | 904b5f1c012fb55dbd4987ed5a20295bcd760a80 | |
parent | 621c7b69460831682749537a1de09c21ec85de56 (diff) | |
download | base-1c9ea30bd7be59b5e85329a18a0b831156a5d73f.tar.gz |
AudioService: RecordActivityMonitor: fix unbounded list growth
This CL fixes the growing list of Dispatchers in
RecordActivityMonitor by comparing dispatcher callback
via asBinder() method of the interface.
Bug: 242056995
Test: use the repro app from the bug
Change-Id: I3a2674dd339b84ecff609eef042ca41484a43255
-rw-r--r-- | services/core/java/com/android/server/audio/RecordingActivityMonitor.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/audio/RecordingActivityMonitor.java b/services/core/java/com/android/server/audio/RecordingActivityMonitor.java index 26a63120d793..5620dc36c971 100644 --- a/services/core/java/com/android/server/audio/RecordingActivityMonitor.java +++ b/services/core/java/com/android/server/audio/RecordingActivityMonitor.java @@ -337,7 +337,7 @@ public final class RecordingActivityMonitor implements AudioSystem.AudioRecordin boolean hasPublicClients = false; while (clientIterator.hasNext()) { RecMonitorClient rmc = clientIterator.next(); - if (rcdb.equals(rmc.mDispatcherCb)) { + if (rcdb.asBinder().equals(rmc.mDispatcherCb.asBinder())) { rmc.release(); clientIterator.remove(); } else { |