Clear identity when requesting current user.
Bug: 7298189
Change-Id: Ie9c160f12067f1b9426acbfee67ef81e8f5f7992
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index a3921c0..85b488c 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -1029,12 +1029,20 @@
}
}
+ final int currentUser;
+ final long token = Binder.clearCallingIdentity();
+ try {
+ currentUser = ActivityManager.getCurrentUser();
+ } finally {
+ Binder.restoreCallingIdentity(token);
+ }
+
// If we're not supposed to beep, vibrate, etc. then don't.
if (((mDisabledNotifications & StatusBarManager.DISABLE_NOTIFICATION_ALERTS) == 0)
&& (!(old != null
&& (notification.flags & Notification.FLAG_ONLY_ALERT_ONCE) != 0 ))
&& (r.userId == UserHandle.USER_ALL ||
- (r.userId == userId && r.userId == ActivityManager.getCurrentUser()))
+ (r.userId == userId && r.userId == currentUser))
&& mSystemReady) {
final AudioManager audioManager = (AudioManager) mContext