From dbc114f4bb762150df161e556b8c3577567f2630 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Thu, 3 Mar 2016 11:22:12 -0500 Subject: [PATCH] Reintroduce priority to notification sorting order. Bug: 27387966 Change-Id: I7de7c4688c9774c2dbd9ea7f2c69566cb66b7285 --- .../server/notification/NotificationComparator.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/notification/NotificationComparator.java b/services/core/java/com/android/server/notification/NotificationComparator.java index 5e4703d7d34b2..7dff2c1bdd23e 100644 --- a/services/core/java/com/android/server/notification/NotificationComparator.java +++ b/services/core/java/com/android/server/notification/NotificationComparator.java @@ -28,10 +28,11 @@ public class NotificationComparator final int leftImportance = left.getImportance(); final int rightImportance = right.getImportance(); if (leftImportance != rightImportance) { - // by priority, high to low + // by importance, high to low return -1 * Integer.compare(leftImportance, rightImportance); } + // Whether or not the notification can bypass DND. final int leftPackagePriority = left.getPackagePriority(); final int rightPackagePriority = right.getPackagePriority(); if (leftPackagePriority != rightPackagePriority) { @@ -39,6 +40,13 @@ public class NotificationComparator return -1 * Integer.compare(leftPackagePriority, rightPackagePriority); } + final int leftPriority = left.sbn.getNotification().priority; + final int rightPriority = right.sbn.getNotification().priority; + if (leftPriority != rightPriority) { + // by priority, high to low + return -1 * Integer.compare(leftPriority, rightPriority); + } + final float leftPeople = left.getContactAffinity(); final float rightPeople = right.getContactAffinity(); if (leftPeople != rightPeople) {