From 1c9ea30bd7be59b5e85329a18a0b831156a5d73f Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Thu, 11 Aug 2022 00:05:09 +0000 Subject: [PATCH] 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 --- .../java/com/android/server/audio/RecordingActivityMonitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/audio/RecordingActivityMonitor.java b/services/core/java/com/android/server/audio/RecordingActivityMonitor.java index 26a63120d793a..5620dc36c9715 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 {