Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d8c0ac42 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Don't allow devs to create blocked channels

Test: runtest systemui-notification
Change-Id: I11942e4268acc70ffcbcda08eed4e13e64f4b12f
Fixes: 37559814
parent 9da73961
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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");
        }
+13 −1
Original line number Diff line number Diff line
@@ -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 {