Don't allow devs to create blocked channels

Test: runtest systemui-notification
Change-Id: I11942e4268acc70ffcbcda08eed4e13e64f4b12f
Fixes: 37559814
This commit is contained in:
Julia Reynolds
2017-04-23 13:11:40 -04:00
parent 9da73961a7
commit d8c0ac42de
2 changed files with 14 additions and 2 deletions

View File

@@ -561,7 +561,7 @@ public class RankingHelper implements RankingConfig {
updateConfig();
return;
}
if (channel.getImportance() < NotificationManager.IMPORTANCE_NONE
if (channel.getImportance() < NotificationManager.IMPORTANCE_MIN
|| channel.getImportance() > NotificationManager.IMPORTANCE_MAX) {
throw new IllegalArgumentException("Invalid importance level");
}

View File

@@ -18,6 +18,7 @@ package com.android.server.notification;
import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
import static android.app.NotificationManager.IMPORTANCE_HIGH;
import static android.app.NotificationManager.IMPORTANCE_LOW;
import static android.app.NotificationManager.IMPORTANCE_NONE;
import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.fail;
@@ -504,12 +505,23 @@ public class RankingHelperTest {
@Test
public void testCreateChannel_blocked() throws Exception {
mHelper.setImportance(PKG, UID, NotificationManager.IMPORTANCE_NONE);
mHelper.setImportance(PKG, UID, IMPORTANCE_NONE);
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_LOW), true);
}
@Test
public void testCreateChannel_ImportanceNone() throws Exception {
try {
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_NONE), true);
fail("Was allowed to create a blocked channel");
} catch (IllegalArgumentException e) {
// yay
}
}
@Test
public void testUpdate() throws Exception {