diff options
author | RoboErik <epastern@google.com> | 2014-11-21 18:28:18 -0800 |
---|---|---|
committer | RoboErik <epastern@google.com> | 2014-11-21 18:28:18 -0800 |
commit | a08adb2437f641087e01436293736be235fe1fda (patch) | |
tree | a80ab30f3bde1f7a6fdd9eb086a09bffbe0c2af7 /services/core/java/com/android/server/media | |
parent | 85f463c5b59350fa4c4a05007f8a7b65a9a89da3 (diff) | |
download | frameworks_base-a08adb2437f641087e01436293736be235fe1fda.zip frameworks_base-a08adb2437f641087e01436293736be235fe1fda.tar.gz frameworks_base-a08adb2437f641087e01436293736be235fe1fda.tar.bz2 |
Fix binder equality check
Forgot to call .asBinder() before checking binders for equality. This
fixes a memory leak caused by the system holding on to binders.
bug:18049316
Change-Id: I43a9f4163b28cf1a77e59c3e7bade32bd2ef1c1a
Diffstat (limited to 'services/core/java/com/android/server/media')
-rw-r--r-- | services/core/java/com/android/server/media/MediaSessionService.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 98a3970..053c988 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -427,7 +427,7 @@ public class MediaSessionService extends SystemService implements Monitor { private int findIndexOfSessionsListenerLocked(IActiveSessionsListener listener) { for (int i = mSessionsListeners.size() - 1; i >= 0; i--) { - if (mSessionsListeners.get(i).mListener == listener) { + if (mSessionsListeners.get(i).mListener.asBinder() == listener.asBinder()) { return i; } } @@ -764,6 +764,7 @@ public class MediaSessionService extends SystemService implements Monitor { pw.println(); synchronized (mLock) { + pw.println(mSessionsListeners.size() + " sessions listeners."); int count = mAllSessions.size(); pw.println(count + " Sessions:"); for (int i = 0; i < count; i++) { |