Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a08adb24 authored by RoboErik's avatar RoboErik
Browse files

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
parent 85f463c5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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++) {