Prevent oem locked and default apps from being blocked
Test: robotests Fixes: 129358763 Change-Id: I999b017f9f7389424e499a44cfac43711acbbbea
This commit is contained in:
@@ -126,6 +126,11 @@ public abstract class NotificationPreferenceController extends AbstractPreferenc
|
|||||||
return mChannel.getImportance() == IMPORTANCE_NONE;
|
return mChannel.getImportance() == IMPORTANCE_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mChannel.isImportanceLockedByOEM()
|
||||||
|
|| mChannel.isImportanceLockedByCriticalDeviceFunction()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return mChannel.isBlockableSystem() || !mAppRow.systemApp
|
return mChannel.isBlockableSystem() || !mAppRow.systemApp
|
||||||
|| mChannel.getImportance() == IMPORTANCE_NONE;
|
|| mChannel.getImportance() == IMPORTANCE_NONE;
|
||||||
}
|
}
|
||||||
|
@@ -317,6 +317,30 @@ public class NotificationPreferenceControllerTest {
|
|||||||
assertTrue(mController.isChannelGroupBlockable());
|
assertTrue(mController.isChannelGroupBlockable());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsChannelBlockable_oemLocked() {
|
||||||
|
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
|
||||||
|
appRow.systemApp = false;
|
||||||
|
NotificationChannel channel = mock(NotificationChannel.class);
|
||||||
|
when(channel.isImportanceLockedByOEM()).thenReturn(true);
|
||||||
|
when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
|
||||||
|
|
||||||
|
mController.onResume(appRow, channel, null, null);
|
||||||
|
assertFalse(mController.isChannelBlockable());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsChannelBlockable_criticalDeviceFunction() {
|
||||||
|
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
|
||||||
|
appRow.systemApp = false;
|
||||||
|
NotificationChannel channel = mock(NotificationChannel.class);
|
||||||
|
when(channel.isImportanceLockedByCriticalDeviceFunction()).thenReturn(true);
|
||||||
|
when(channel.getImportance()).thenReturn(IMPORTANCE_DEFAULT);
|
||||||
|
|
||||||
|
mController.onResume(appRow, channel, null, null);
|
||||||
|
assertFalse(mController.isChannelBlockable());
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testIsChannelGroupBlockable_SystemNotBlockable() {
|
public void testIsChannelGroupBlockable_SystemNotBlockable() {
|
||||||
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
|
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
|
||||||
|
Reference in New Issue
Block a user