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

Commit 4eea3a7f authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Fix deadlock b/w ActivityManagerService and MediaSessionService"

parents 6ba39e56 19e84047
Loading
Loading
Loading
Loading
+18 −7
Original line number Diff line number Diff line
@@ -887,6 +887,15 @@ public class MediaSessionService extends SystemService implements Monitor {
                    }
                    return;
                }

                // Execute mAudioService.adjustSuggestedStreamVolume() on
                // handler thread of MediaSessionService.
                // This will release the MediaSessionService.mLock sooner and avoid
                // a potential deadlock between MediaSessionService.mLock and
                // ActivityManagerService lock.
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String packageName = getContext().getOpPackageName();
                            mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
@@ -894,6 +903,8 @@ public class MediaSessionService extends SystemService implements Monitor {
                        } catch (RemoteException e) {
                            Log.e(TAG, "Error adjusting default volume.", e);
                        }
                    }
                });
            } else {
                session.adjustVolume(direction, flags, getContext().getPackageName(),
                        UserHandle.myUserId(), true);