Merge \\"Fix deadlock b/w ActivityManagerService and MediaSessionService\\" am: 4eea3a7f88
am: 42927c4e94
Change-Id: Ieb503007f420f06c599b8fc9f4703954885754b0
This commit is contained in:
@@ -890,6 +890,15 @@ public class MediaSessionService extends SystemService implements Monitor {
|
|||||||
}
|
}
|
||||||
return;
|
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 {
|
try {
|
||||||
String packageName = getContext().getOpPackageName();
|
String packageName = getContext().getOpPackageName();
|
||||||
mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
|
mAudioService.adjustSuggestedStreamVolume(direction, suggestedStream,
|
||||||
@@ -897,6 +906,8 @@ public class MediaSessionService extends SystemService implements Monitor {
|
|||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "Error adjusting default volume.", e);
|
Log.e(TAG, "Error adjusting default volume.", e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
session.adjustVolume(direction, flags, getContext().getPackageName(),
|
session.adjustVolume(direction, flags, getContext().getPackageName(),
|
||||||
UserHandle.myUserId(), true);
|
UserHandle.myUserId(), true);
|
||||||
|
|||||||
Reference in New Issue
Block a user