Merge "Don't allow devs to create blocked channels" into oc-dev

This commit is contained in:
Julia Reynolds
2017-04-24 21:17:12 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 2 deletions

View File

@@ -561,7 +561,7 @@ public class RankingHelper implements RankingConfig {
updateConfig(); updateConfig();
return; return;
} }
if (channel.getImportance() < NotificationManager.IMPORTANCE_NONE if (channel.getImportance() < NotificationManager.IMPORTANCE_MIN
|| channel.getImportance() > NotificationManager.IMPORTANCE_MAX) { || channel.getImportance() > NotificationManager.IMPORTANCE_MAX) {
throw new IllegalArgumentException("Invalid importance level"); 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_DEFAULT;
import static android.app.NotificationManager.IMPORTANCE_HIGH; import static android.app.NotificationManager.IMPORTANCE_HIGH;
import static android.app.NotificationManager.IMPORTANCE_LOW; 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.assertNull;
import static junit.framework.Assert.fail; import static junit.framework.Assert.fail;
@@ -504,12 +505,23 @@ public class RankingHelperTest {
@Test @Test
public void testCreateChannel_blocked() throws Exception { public void testCreateChannel_blocked() throws Exception {
mHelper.setImportance(PKG, UID, NotificationManager.IMPORTANCE_NONE); mHelper.setImportance(PKG, UID, IMPORTANCE_NONE);
mHelper.createNotificationChannel(PKG, UID, mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_LOW), true); 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 @Test
public void testUpdate() throws Exception { public void testUpdate() throws Exception {