Merge "MediaSessionService: Synchronize isGlobalPriorityActive()"

This commit is contained in:
Jaewan Kim
2017-02-28 01:51:52 +00:00
committed by Android (Google) Code Review

View File

@@ -801,16 +801,17 @@ public class MediaSessionService extends SystemService implements Monitor {
+ "setup is in progress.");
return;
}
if (isGlobalPriorityActive() && uid != Process.SYSTEM_UID) {
// Prevent dispatching key event through reflection while the global priority
// session is active.
Slog.i(TAG, "Only the system can dispatch media key event "
+ "to the global priority session.");
return;
}
synchronized (mLock) {
if (!isGlobalPriorityActive() && isVoiceKey(keyEvent.getKeyCode())) {
boolean isGlobalPriorityActive = mPriorityStack.isGlobalPriorityActive();
if (isGlobalPriorityActive && uid != Process.SYSTEM_UID) {
// Prevent dispatching key event through reflection while the global
// priority session is active.
Slog.i(TAG, "Only the system can dispatch media key event "
+ "to the global priority session.");
return;
}
if (!isGlobalPriorityActive && isVoiceKey(keyEvent.getKeyCode())) {
handleVoiceKeyEventLocked(keyEvent, needWakeLock);
} else {
dispatchMediaKeyEventLocked(keyEvent, needWakeLock, true);
@@ -1080,7 +1081,9 @@ public class MediaSessionService extends SystemService implements Monitor {
@Override
public boolean isGlobalPriorityActive() {
return mPriorityStack.isGlobalPriorityActive();
synchronized (mLock) {
return mPriorityStack.isGlobalPriorityActive();
}
}
@Override