Prevent creation of default channel.

Test: runtest systemui-notification
Change-Id: Id56debdca2a11bdac5ae11832eaaa04842f0a9be
This commit is contained in:
Julia Reynolds
2017-03-06 15:14:50 -05:00
parent 4d7094dc99
commit 03fa85ddcc
2 changed files with 15 additions and 0 deletions

View File

@@ -507,6 +507,9 @@ public class RankingHelper implements RankingConfig {
if (channel.getGroup() != null && !r.groups.containsKey(channel.getGroup())) {
throw new IllegalArgumentException("NotificationChannelGroup doesn't exist");
}
if (NotificationChannel.DEFAULT_CHANNEL_ID.equals(channel.getId())) {
throw new IllegalArgumentException("Reserved id");
}
NotificationChannel existing = r.channels.get(channel.getId());
// Keep existing settings

View File

@@ -15,6 +15,7 @@
*/
package com.android.server.notification;
import static android.app.NotificationManager.IMPORTANCE_HIGH;
import static android.app.NotificationManager.IMPORTANCE_LOW;
import static junit.framework.Assert.assertNull;
@@ -770,6 +771,17 @@ public class RankingHelperTest {
mHelper.getNotificationChannel(pkg, uid, newChannel.getId(), false));
}
@Test
public void testCreateChannel_defaultChannelId() throws Exception {
try {
mHelper.createNotificationChannel(pkg2, uid2, new NotificationChannel(
NotificationChannel.DEFAULT_CHANNEL_ID, "ha", IMPORTANCE_HIGH), true);
fail("Allowed to create default channel");
} catch (IllegalArgumentException e) {
// pass
}
}
@Test
public void testCreateChannel_alreadyExists() throws Exception {
long[] vibration = new long[]{100, 67, 145, 156};