Merge "Allow the creation of IMPORTANCE_NONE channels" into oc-dev

This commit is contained in:
TreeHugger Robot
2017-05-25 22:14:31 +00:00
committed by Android (Google) Code Review
2 changed files with 23 additions and 4 deletions

View File

@@ -564,7 +564,7 @@ public class RankingHelper implements RankingConfig {
updateConfig(); updateConfig();
return; return;
} }
if (channel.getImportance() < NotificationManager.IMPORTANCE_MIN if (channel.getImportance() < NotificationManager.IMPORTANCE_NONE
|| 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_MAX;
import static android.app.NotificationManager.IMPORTANCE_NONE; import static android.app.NotificationManager.IMPORTANCE_NONE;
import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED; import static android.app.NotificationManager.IMPORTANCE_UNSPECIFIED;
@@ -570,14 +571,32 @@ public class RankingHelperTest extends NotificationTestCase {
} }
@Test @Test
public void testCreateChannel_ImportanceNone() throws Exception { public void testCreateChannel_badImportance() throws Exception {
try { try {
mHelper.createNotificationChannel(PKG, UID, mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_NONE), true); new NotificationChannel("bananas", "bananas", IMPORTANCE_NONE - 1), true);
fail("Was allowed to create a blocked channel"); fail("Was allowed to create a channel with invalid importance");
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
// yay // yay
} }
try {
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_UNSPECIFIED), true);
fail("Was allowed to create a channel with invalid importance");
} catch (IllegalArgumentException e) {
// yay
}
try {
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_MAX + 1), true);
fail("Was allowed to create a channel with invalid importance");
} catch (IllegalArgumentException e) {
// yay
}
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_NONE), true);
mHelper.createNotificationChannel(PKG, UID,
new NotificationChannel("bananas", "bananas", IMPORTANCE_MAX), true);
} }