Fix channel configurability check

Test: atest
Fixes: 128669244
Change-Id: Ib4bc666262426ea1fb8fc034a361c93bdd5afb36
This commit is contained in:
Julia Reynolds
2019-03-15 10:31:46 -04:00
parent 7960cf6023
commit 9c6f1aa74b
2 changed files with 17 additions and 0 deletions

View File

@@ -111,6 +111,9 @@ public abstract class NotificationPreferenceController extends AbstractPreferenc
}
protected boolean isChannelConfigurable() {
if (mAppRow != null && mAppRow.lockedImportance) {
return false;
}
if (mChannel != null && mAppRow != null) {
return !Objects.equals(mChannel.getId(), mAppRow.lockedChannelId);
}

View File

@@ -218,6 +218,20 @@ public class NotificationPreferenceControllerTest {
assertTrue(mController.isChannelConfigurable());
}
@Test
public void testIsConfigurable_appLevel() {
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
appRow.lockedChannelId = "something";
appRow.lockedImportance = true;
mController.onResume(appRow, mock(NotificationChannel.class), null, null);
assertFalse(mController.isChannelConfigurable());
appRow.lockedImportance = false;
mController.onResume(appRow, mock(NotificationChannel.class), null, null);
assertTrue(mController.isChannelConfigurable());
}
@Test
public void testIsChannelBlockable_nonSystemAppsBlockable() {
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();