Merge "Update NotificationRecord of snooze even after it is cancelled"

This commit is contained in:
Jay Aliomer
2019-11-27 17:38:40 +00:00
committed by Gerrit Code Review
2 changed files with 20 additions and 3 deletions

View File

@@ -231,9 +231,6 @@ public class SnoozeHelper {
return;
}
NotificationRecord existing = pkgRecords.get(record.getKey());
if (existing != null && existing.isCanceled) {
return;
}
pkgRecords.put(record.getKey(), record);
}

View File

@@ -226,6 +226,26 @@ public class SnoozeHelperTest extends UiServiceTestCase {
verify(mCallback, times(1)).repost(UserHandle.USER_SYSTEM, r);
}
@Test
public void testUpdateAfterCancel() throws Exception {
// snooze a notification
NotificationRecord r = getNotificationRecord("pkg", 1, "one", UserHandle.SYSTEM);
mSnoozeHelper.snooze(r , 1000);
// cancel the notification
mSnoozeHelper.cancel(UserHandle.USER_SYSTEM, false);
// update the notification
r = getNotificationRecord("pkg", 1, "one", UserHandle.SYSTEM);
mSnoozeHelper.update(UserHandle.USER_SYSTEM, r);
// verify callback is called when repost (snooze is expired)
verify(mCallback, never()).repost(anyInt(), any(NotificationRecord.class));
mSnoozeHelper.repost(r.getKey(), UserHandle.USER_SYSTEM);
verify(mCallback, times(1)).repost(UserHandle.USER_SYSTEM, r);
assertFalse(r.isCanceled);
}
@Test
public void testGetSnoozedByUser() throws Exception {
NotificationRecord r = getNotificationRecord("pkg", 1, "one", UserHandle.SYSTEM);