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
This commit is contained in:
@@ -427,7 +427,7 @@ public class MediaSessionService extends SystemService implements Monitor {
|
|||||||
|
|
||||||
private int findIndexOfSessionsListenerLocked(IActiveSessionsListener listener) {
|
private int findIndexOfSessionsListenerLocked(IActiveSessionsListener listener) {
|
||||||
for (int i = mSessionsListeners.size() - 1; i >= 0; i--) {
|
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;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -764,6 +764,7 @@ public class MediaSessionService extends SystemService implements Monitor {
|
|||||||
pw.println();
|
pw.println();
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
|
pw.println(mSessionsListeners.size() + " sessions listeners.");
|
||||||
int count = mAllSessions.size();
|
int count = mAllSessions.size();
|
||||||
pw.println(count + " Sessions:");
|
pw.println(count + " Sessions:");
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user