diff --git a/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java b/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java index b57cc75ebf13a..bcdeb666987f6 100644 --- a/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java +++ b/services/core/java/com/android/server/notification/NotificationIntrusivenessExtractor.java @@ -23,7 +23,7 @@ import android.util.Log; import android.util.Slog; /** - * This {@link com.android.server.notification.NotificationSignalExtractor} noticies noisy + * This {@link com.android.server.notification.NotificationSignalExtractor} notices noisy * notifications and marks them to get a temporary ranking bump. */ public class NotificationIntrusivenessExtractor implements NotificationSignalExtractor { @@ -44,9 +44,15 @@ public class NotificationIntrusivenessExtractor implements NotificationSignalExt return null; } - final Notification notification = record.getNotification(); - if (record.getImportance() > NotificationListenerService.Ranking.IMPORTANCE_DEFAULT) { - record.setRecentlyIntrusive(true); + if (record.getImportance() >= NotificationListenerService.Ranking.IMPORTANCE_DEFAULT) { + final Notification notification = record.getNotification(); + if ((notification.defaults & Notification.DEFAULT_VIBRATE) != 0 || + notification.vibrate != null || + (notification.defaults & Notification.DEFAULT_SOUND) != 0 || + notification.sound != null || + notification.fullScreenIntent != null) { + record.setRecentlyIntrusive(true); + } } return new RankingReconsideration(record.getKey(), HANG_TIME_MS) {