diff --git a/services/core/java/com/android/server/media/MediaSessionService.java b/services/core/java/com/android/server/media/MediaSessionService.java index 7028fa6695f66..14a8c16975f3a 100644 --- a/services/core/java/com/android/server/media/MediaSessionService.java +++ b/services/core/java/com/android/server/media/MediaSessionService.java @@ -764,7 +764,7 @@ public class MediaSessionService extends SystemService implements Monitor { synchronized (mLock) { // If we don't have a media button receiver to fall back on // include non-playing sessions for dispatching - UserRecord ur = mUserRecords.get(ActivityManager.getCurrentUser()); + UserRecord ur = mUserRecords.get(mCurrentUserId); boolean useNotPlayingSessions = (ur == null) || (ur.mLastMediaButtonReceiver == null && ur.mRestoredMediaButtonReceiver == null); @@ -946,8 +946,7 @@ public class MediaSessionService extends SystemService implements Monitor { mKeyEventReceiver); } else { // Launch the last PendingIntent we had with priority - int userId = ActivityManager.getCurrentUser(); - UserRecord user = mUserRecords.get(userId); + UserRecord user = mUserRecords.get(mCurrentUserId); if (user.mLastMediaButtonReceiver != null || user.mRestoredMediaButtonReceiver != null) { if (DEBUG) { @@ -964,11 +963,11 @@ public class MediaSessionService extends SystemService implements Monitor { if (user.mLastMediaButtonReceiver != null) { user.mLastMediaButtonReceiver.send(getContext(), needWakeLock ? mKeyEventReceiver.mLastTimeoutId : -1, - mediaButtonIntent, mKeyEventReceiver, null); + mediaButtonIntent, mKeyEventReceiver, mHandler); } else { mediaButtonIntent.setComponent(user.mRestoredMediaButtonReceiver); getContext().sendBroadcastAsUser(mediaButtonIntent, - new UserHandle(userId)); + new UserHandle(mCurrentUserId)); } } catch (CanceledException e) { Log.i(TAG, "Error sending key event to media button receiver "