summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-10-22 11:49:30 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-10-22 11:49:30 +0000
commitd41e8b49de0e4b28e50bc1670bb69ea76cae6e5d (patch)
treea93e276e23598a9d1570e39761e4bdb519803b48
parentd5705da03db2afa0d4285ebf3eefc090fa5771f4 (diff)
parent067a739aad708186f30a07415a466f4393f275eb (diff)
Merge "Don't increase notif importance when shouldSilence"
-rw-r--r--packages/ExtServices/src/android/ext/services/notification/Assistant.java8
-rw-r--r--packages/ExtServices/tests/src/android/ext/services/notification/AssistantTest.java9
2 files changed, 14 insertions, 3 deletions
diff --git a/packages/ExtServices/src/android/ext/services/notification/Assistant.java b/packages/ExtServices/src/android/ext/services/notification/Assistant.java
index 3333e1592bfa..8f33a7016b39 100644
--- a/packages/ExtServices/src/android/ext/services/notification/Assistant.java
+++ b/packages/ExtServices/src/android/ext/services/notification/Assistant.java
@@ -25,7 +25,6 @@ import static android.service.notification.NotificationListenerService.Ranking
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.ActivityThread;
-import android.app.AlarmManager;
import android.app.INotificationManager;
import android.app.Notification;
import android.app.NotificationChannel;
@@ -224,8 +223,9 @@ public class Assistant extends NotificationAssistantService {
}
/** A convenience helper for creating an adjustment for an SBN. */
+ @VisibleForTesting
@Nullable
- private Adjustment createEnqueuedNotificationAdjustment(
+ Adjustment createEnqueuedNotificationAdjustment(
@NonNull NotificationEntry entry,
@NonNull ArrayList<Notification.Action> smartActions,
@NonNull ArrayList<CharSequence> smartReplies) {
@@ -237,7 +237,9 @@ public class Assistant extends NotificationAssistantService {
signals.putCharSequenceArrayList(Adjustment.KEY_SMART_REPLIES, smartReplies);
}
if (mNotificationCategorizer.shouldSilence(entry)) {
- signals.putInt(KEY_IMPORTANCE, IMPORTANCE_LOW);
+ final int importance = entry.getImportance() < IMPORTANCE_LOW ? entry.getImportance()
+ : IMPORTANCE_LOW;
+ signals.putInt(KEY_IMPORTANCE, importance);
}
return new Adjustment(
diff --git a/packages/ExtServices/tests/src/android/ext/services/notification/AssistantTest.java b/packages/ExtServices/tests/src/android/ext/services/notification/AssistantTest.java
index 2820232cdb38..2eb005a9b1fa 100644
--- a/packages/ExtServices/tests/src/android/ext/services/notification/AssistantTest.java
+++ b/packages/ExtServices/tests/src/android/ext/services/notification/AssistantTest.java
@@ -66,6 +66,7 @@ import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
+import java.util.ArrayList;
public class AssistantTest extends ServiceTestCase<Assistant> {
@@ -466,4 +467,12 @@ public class AssistantTest extends ServiceTestCase<Assistant> {
assertFalse(mAssistant.mLiveNotifications.containsKey(sbn.getKey()));
}
+
+ @Test
+ public void testAssistantNeverIncreasesImportanceWhenSuggestingSilent() throws Exception {
+ StatusBarNotification sbn = generateSbn(PKG1, UID1, P1C3, "min notif!", null);
+ Adjustment adjust = mAssistant.createEnqueuedNotificationAdjustment(new NotificationEntry(
+ mPackageManager, sbn, P1C3), new ArrayList<>(), new ArrayList<>());
+ assertEquals(IMPORTANCE_MIN, adjust.getSignals().getInt(Adjustment.KEY_IMPORTANCE));
+ }
}