summaryrefslogtreecommitdiffstats
path: root/services/core/java/com/android/server/media
diff options
context:
space:
mode:
authorRoboErik <epastern@google.com>2014-11-21 18:28:18 -0800
committerRoboErik <epastern@google.com>2014-11-21 18:28:18 -0800
commita08adb2437f641087e01436293736be235fe1fda (patch)
treea80ab30f3bde1f7a6fdd9eb086a09bffbe0c2af7 /services/core/java/com/android/server/media
parent85f463c5b59350fa4c4a05007f8a7b65a9a89da3 (diff)
downloadframeworks_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.java3
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++) {