Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e72b0ebc authored by Beverly Tai's avatar Beverly Tai Committed by Automerger Merge Worker
Browse files

Merge "Remove uninflated notifs from allNotifs list" into rvc-dev am:...

Merge "Remove uninflated notifs from allNotifs list" into rvc-dev am: c7810730 am: 86c880bc am: 064beadf

Change-Id: Ia04e563973853266a690420201046df2a3005077
parents fbbc049f 064beadf
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -440,6 +440,10 @@ public class NotificationEntryManager implements
                        mLogger.logLifetimeExtended(key, extender.getClass().getName(), "pending");
                        mLogger.logLifetimeExtended(key, extender.getClass().getName(), "pending");
                    }
                    }
                }
                }
                if (!lifetimeExtended) {
                    // At this point, we are guaranteed the notification will be removed
                    mAllNotifications.remove(pendingEntry);
                }
            }
            }
        }
        }


+24 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,7 @@ import static junit.framework.Assert.assertNull;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.assertTrue;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyInt;
@@ -93,6 +94,7 @@ import org.mockito.MockitoAnnotations;


import java.util.ArrayList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.List;
import java.util.Set;
import java.util.Set;


@@ -260,6 +262,19 @@ public class NotificationEntryManagerTest extends SysuiTestCase {
        assertNull(mEntryManager.getActiveNotificationUnfiltered(mSbn.getKey()));
        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
    @Test
    public void testRemoveNotification_onEntryRemoveNotFiredIfEntryDoesntExist() {
    public void testRemoveNotification_onEntryRemoveNotFiredIfEntryDoesntExist() {


@@ -545,6 +560,15 @@ public class NotificationEntryManagerTest extends SysuiTestCase {


    /* End annex */
    /* 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() {
    private Notification.Action createAction() {
        return new Notification.Action.Builder(
        return new Notification.Action.Builder(
                Icon.createWithResource(getContext(), android.R.drawable.sym_def_app_icon),
                Icon.createWithResource(getContext(), android.R.drawable.sym_def_app_icon),