Merge "Check importance to determine if notif sounds" into rvc-dev
This commit is contained in:
@@ -19,11 +19,13 @@ import static android.app.Notification.VISIBILITY_SECRET;
|
||||
import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED;
|
||||
|
||||
import static com.android.systemui.DejankUtils.whitelistIpcs;
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_MEDIA_CONTROLS;
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_SILENT;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.Notification;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
@@ -351,7 +353,10 @@ public class NotificationLockscreenUserManagerImpl implements
|
||||
boolean exceedsPriorityThreshold;
|
||||
if (NotificationUtils.useNewInterruptionModel(mContext)
|
||||
&& hideSilentNotificationsOnLockscreen()) {
|
||||
exceedsPriorityThreshold = entry.getBucket() != BUCKET_SILENT;
|
||||
exceedsPriorityThreshold =
|
||||
entry.getBucket() == BUCKET_MEDIA_CONTROLS
|
||||
|| (entry.getBucket() != BUCKET_SILENT
|
||||
&& entry.getImportance() >= NotificationManager.IMPORTANCE_DEFAULT);
|
||||
} else {
|
||||
exceedsPriorityThreshold = !entry.getRanking().isAmbient();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ import static android.app.NotificationManager.IMPORTANCE_LOW;
|
||||
import static android.content.Intent.ACTION_USER_SWITCHED;
|
||||
import static android.provider.Settings.Secure.NOTIFICATION_NEW_INTERRUPTION_MODEL;
|
||||
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_MEDIA_CONTROLS;
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_PEOPLE;
|
||||
import static com.android.systemui.statusbar.notification.stack.NotificationSectionsManager.BUCKET_SILENT;
|
||||
|
||||
import static junit.framework.Assert.assertFalse;
|
||||
@@ -233,6 +235,45 @@ public class NotificationLockscreenUserManagerTest extends SysuiTestCase {
|
||||
assertFalse(mLockscreenUserManager.shouldShowOnKeyguard(entry));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowSilentNotificationsPeopleBucket_settingSaysHide() {
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
|
||||
|
||||
final Notification notification = mock(Notification.class);
|
||||
when(notification.isForegroundService()).thenReturn(true);
|
||||
NotificationEntry entry = new NotificationEntryBuilder()
|
||||
.setImportance(IMPORTANCE_LOW)
|
||||
.setNotification(notification)
|
||||
.build();
|
||||
entry.setBucket(BUCKET_PEOPLE);
|
||||
assertFalse(mLockscreenUserManager.shouldShowOnKeyguard(entry));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testShowSilentNotificationsMediaBucket_settingSaysHide() {
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
NOTIFICATION_NEW_INTERRUPTION_MODEL, 1);
|
||||
Settings.Secure.putInt(mContext.getContentResolver(),
|
||||
Settings.Secure.LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS, 0);
|
||||
|
||||
final Notification notification = mock(Notification.class);
|
||||
when(notification.isForegroundService()).thenReturn(true);
|
||||
NotificationEntry entry = new NotificationEntryBuilder()
|
||||
.setImportance(IMPORTANCE_LOW)
|
||||
.setNotification(notification)
|
||||
.build();
|
||||
entry.setBucket(BUCKET_MEDIA_CONTROLS);
|
||||
// always show media controls, even if they're silent
|
||||
assertTrue(mLockscreenUserManager.shouldShowOnKeyguard(entry));
|
||||
}
|
||||
|
||||
private class TestNotificationLockscreenUserManager
|
||||
extends NotificationLockscreenUserManagerImpl {
|
||||
public TestNotificationLockscreenUserManager(Context context) {
|
||||
|
||||
Reference in New Issue
Block a user