Merge "Prevent apps from creating blocked channel groups" into rvc-dev am: fc06439710
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16624024 Change-Id: I4cc732fba700dba73d695166435f4f22994b7e31
This commit is contained in:
@@ -759,6 +759,9 @@ public class PreferencesHelper implements RankingConfig {
|
||||
if (r == null) {
|
||||
throw new IllegalArgumentException("Invalid package");
|
||||
}
|
||||
if (fromTargetApp) {
|
||||
group.setBlocked(false);
|
||||
}
|
||||
final NotificationChannelGroup oldGroup = r.groups.get(group.getId());
|
||||
if (oldGroup != null) {
|
||||
group.setChannels(oldGroup.getChannels());
|
||||
|
||||
@@ -2131,6 +2131,19 @@ public class PreferencesHelperTest extends UiServiceTestCase {
|
||||
assertTrue(mHelper.isGroupBlocked(PKG_N_MR1, UID_N_MR1, group.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsGroupBlocked_appCannotCreateAsBlocked() throws Exception {
|
||||
NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
|
||||
group.setBlocked(true);
|
||||
mHelper.createNotificationChannelGroup(PKG_N_MR1, UID_N_MR1, group, true);
|
||||
assertFalse(mHelper.isGroupBlocked(PKG_N_MR1, UID_N_MR1, group.getId()));
|
||||
|
||||
NotificationChannelGroup group3 = group.clone();
|
||||
group3.setBlocked(false);
|
||||
mHelper.createNotificationChannelGroup(PKG_N_MR1, UID_N_MR1, group3, true);
|
||||
assertFalse(mHelper.isGroupBlocked(PKG_N_MR1, UID_N_MR1, group.getId()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsGroup_appCannotResetBlock() throws Exception {
|
||||
NotificationChannelGroup group = new NotificationChannelGroup("id", "name");
|
||||
@@ -3270,7 +3283,7 @@ public class PreferencesHelperTest extends UiServiceTestCase {
|
||||
public void testGetConversations_noDisabledGroups() {
|
||||
NotificationChannelGroup group = new NotificationChannelGroup("a", "a");
|
||||
group.setBlocked(true);
|
||||
mHelper.createNotificationChannelGroup(PKG_O, UID_O, group, true);
|
||||
mHelper.createNotificationChannelGroup(PKG_O, UID_O, group, false);
|
||||
NotificationChannel parent = new NotificationChannel("parent", "p", 1);
|
||||
mHelper.createNotificationChannel(PKG_O, UID_O, parent, true, false);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user