Merge "Ignore ongoing notifications in dreams." into tm-qpr-dev am: 1310957275
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18420936 Change-Id: I18b9955b119385f616ed8694836df1dd40d9d5d6 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -37,7 +37,7 @@ import javax.inject.Inject;
|
||||
|
||||
/***
|
||||
* {@link DreamOverlayNotificationCountProvider} provides the current notification count to
|
||||
* registered callbacks.
|
||||
* registered callbacks. Ongoing notifications are not included in the count.
|
||||
*/
|
||||
@SysUISingleton
|
||||
public class DreamOverlayNotificationCountProvider
|
||||
@@ -49,6 +49,10 @@ public class DreamOverlayNotificationCountProvider
|
||||
@Override
|
||||
public void onNotificationPosted(
|
||||
StatusBarNotification sbn, NotificationListenerService.RankingMap rankingMap) {
|
||||
if (sbn.isOngoing()) {
|
||||
// Don't count ongoing notifications.
|
||||
return;
|
||||
}
|
||||
mNotificationKeys.add(sbn.getKey());
|
||||
reportNotificationCountChanged();
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.systemui.dreams;
|
||||
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@@ -48,6 +49,8 @@ public class DreamOverlayNotificationCountProviderTest extends SysuiTestCase {
|
||||
@Mock
|
||||
StatusBarNotification mNotification2;
|
||||
@Mock
|
||||
StatusBarNotification mNotification3;
|
||||
@Mock
|
||||
NotificationListenerService.RankingMap mRankingMap;
|
||||
|
||||
private DreamOverlayNotificationCountProvider mProvider;
|
||||
@@ -58,6 +61,8 @@ public class DreamOverlayNotificationCountProviderTest extends SysuiTestCase {
|
||||
|
||||
when(mNotification1.getKey()).thenReturn("key1");
|
||||
when(mNotification2.getKey()).thenReturn("key2");
|
||||
when(mNotification3.getKey()).thenReturn("key3");
|
||||
when(mNotification3.isOngoing()).thenReturn(true);
|
||||
|
||||
final StatusBarNotification[] notifications = {mNotification1};
|
||||
when(mNotificationListener.getActiveNotifications()).thenReturn(notifications);
|
||||
@@ -83,4 +88,13 @@ public class DreamOverlayNotificationCountProviderTest extends SysuiTestCase {
|
||||
handlerArgumentCaptor.getValue().onNotificationRemoved(mNotification1, mRankingMap);
|
||||
verify(mCallback).onNotificationCountChanged(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPostingOngoingNotificationDoesNotCallCallbackWithNotificationCount() {
|
||||
final ArgumentCaptor<NotificationHandler> handlerArgumentCaptor =
|
||||
ArgumentCaptor.forClass(NotificationHandler.class);
|
||||
verify(mNotificationListener).addNotificationHandler(handlerArgumentCaptor.capture());
|
||||
handlerArgumentCaptor.getValue().onNotificationPosted(mNotification3, mRankingMap);
|
||||
verify(mCallback, never()).onNotificationCountChanged(2);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user