Merge "Remove uninflated notifs from allNotifs list" into rvc-dev am: c7810730ba
Change-Id: I9432dd889ced3e808615b4dda0c18983444a3034
This commit is contained in:
@@ -440,6 +440,10 @@ public class NotificationEntryManager implements
|
||||
mLogger.logLifetimeExtended(key, extender.getClass().getName(), "pending");
|
||||
}
|
||||
}
|
||||
if (!lifetimeExtended) {
|
||||
// At this point, we are guaranteed the notification will be removed
|
||||
mAllNotifications.remove(pendingEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@ import static junit.framework.Assert.assertNull;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyBoolean;
|
||||
import static org.mockito.ArgumentMatchers.anyInt;
|
||||
@@ -93,6 +94,7 @@ import org.mockito.MockitoAnnotations;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@@ -260,6 +262,19 @@ public class NotificationEntryManagerTest extends SysuiTestCase {
|
||||
assertNull(mEntryManager.getActiveNotificationUnfiltered(mSbn.getKey()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveUninflatedNotification_removesNotificationFromAllNotifsList() {
|
||||
// GIVEN an uninflated entry is added
|
||||
mEntryManager.addNotification(mSbn, mRankingMap);
|
||||
assertTrue(entriesContainKey(mEntryManager.getAllNotifs(), mSbn.getKey()));
|
||||
|
||||
// WHEN the uninflated entry is removed
|
||||
mEntryManager.performRemoveNotification(mSbn, UNDEFINED_DISMISS_REASON);
|
||||
|
||||
// THEN the entry is still removed from the allNotifications list
|
||||
assertFalse(entriesContainKey(mEntryManager.getAllNotifs(), mSbn.getKey()));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemoveNotification_onEntryRemoveNotFiredIfEntryDoesntExist() {
|
||||
|
||||
@@ -545,6 +560,15 @@ public class NotificationEntryManagerTest extends SysuiTestCase {
|
||||
|
||||
/* End annex */
|
||||
|
||||
private boolean entriesContainKey(Collection<NotificationEntry> entries, String key) {
|
||||
for (NotificationEntry entry : entries) {
|
||||
if (entry.getSbn().getKey().equals(key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private Notification.Action createAction() {
|
||||
return new Notification.Action.Builder(
|
||||
Icon.createWithResource(getContext(), android.R.drawable.sym_def_app_icon),
|
||||
|
||||
Reference in New Issue
Block a user