diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 8f2bae5baf594..5646c55a373ce 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -727,6 +727,10 @@ public class PhoneStatusBar extends BaseStatusBar { */ if (notification.notification.fullScreenIntent != null) { + // Stop screensaver if the notification has a full-screen intent. + // (like an incoming phone call) + awakenDreams(); + // not immersive & a full-screen alert should be shown Slog.d(TAG, "Notification has fullScreenIntent; sending fullScreenIntent"); try { diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java index 40f6ecf76b437..3caba1f8ab759 100755 --- a/services/java/com/android/server/NotificationManagerService.java +++ b/services/java/com/android/server/NotificationManagerService.java @@ -151,8 +151,6 @@ public class NotificationManagerService extends INotificationManager.Stub private AtomicFile mPolicyFile; private HashSet mBlockedPackages = new HashSet(); - private IDreamManager mSandman; - private static final int DB_VERSION = 1; private static final String TAG_BODY = "notification-policy"; @@ -658,8 +656,6 @@ public class NotificationManagerService extends INotificationManager.Stub void systemReady() { mAudioService = IAudioService.Stub.asInterface( ServiceManager.getService(Context.AUDIO_SERVICE)); - mSandman = IDreamManager.Stub.asInterface( - ServiceManager.getService("dreams")); // no beeping until we're basically done booting mSystemReady = true; @@ -995,16 +991,6 @@ public class NotificationManagerService extends INotificationManager.Stub | Notification.FLAG_NO_CLEAR; } - // Stop screensaver if the notification has a full-screen intent. - // (like an incoming phone call) - if (notification.fullScreenIntent != null && mSandman != null) { - try { - mSandman.awaken(); - } catch (RemoteException e) { - // noop - } - } - if (notification.icon != 0) { StatusBarNotification n = new StatusBarNotification(pkg, id, tag, r.uid, r.initialPid, score, notification); @@ -1047,6 +1033,7 @@ public class NotificationManagerService extends INotificationManager.Stub 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) && mSystemReady) { final AudioManager audioManager = (AudioManager) mContext