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

Commit 3e32b84e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Media: Eliminate NPE from race conditions"

parents 0c78ce81 5265beb6
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -546,18 +546,23 @@ public final class MediaSessionManager {
        private final IActiveSessionsListener.Stub mStub = new IActiveSessionsListener.Stub() {
            @Override
            public void onActiveSessionsChanged(final List<MediaSession.Token> tokens) {
                if (mHandler != null) {
                    mHandler.post(new Runnable() {
                final Handler handler = mHandler;
                if (handler != null) {
                    handler.post(new Runnable() {
                        @Override
                        public void run() {
                            if (mListener != null) {
                            final Context context = mContext;
                            if (context != null) {
                                ArrayList<MediaController> controllers
                                        = new ArrayList<MediaController>();
                                int size = tokens.size();
                                for (int i = 0; i < size; i++) {
                                    controllers.add(new MediaController(mContext, tokens.get(i)));
                                    controllers.add(new MediaController(context, tokens.get(i)));
                                }
                                final OnActiveSessionsChangedListener listener = mListener;
                                if (listener != null) {
                                    listener.onActiveSessionsChanged(controllers);
                                }
                                mListener.onActiveSessionsChanged(controllers);
                            }
                        }
                    });
@@ -566,8 +571,8 @@ public final class MediaSessionManager {
        };

        private void release() {
            mContext = null;
            mListener = null;
            mContext = null;
            mHandler = null;
        }
    }