End ListenerSet iteration sooner

PiperOrigin-RevId: 384500287
This commit is contained in:
olly 2021-07-13 18:46:09 +01:00 committed by Oliver Woodman
parent 949f715c6b
commit e403dda105
2 changed files with 3 additions and 3 deletions

View File

@ -179,7 +179,7 @@ public final class ListenerSet<T> {
return; return;
} }
if (!handler.hasMessages(MSG_ITERATION_FINISHED)) { if (!handler.hasMessages(MSG_ITERATION_FINISHED)) {
handler.obtainMessage(MSG_ITERATION_FINISHED).sendToTarget(); handler.sendMessageAtFrontOfQueue(handler.obtainMessage(MSG_ITERATION_FINISHED));
} }
boolean recursiveFlushInProgress = !flushingEvents.isEmpty(); boolean recursiveFlushInProgress = !flushingEvents.isEmpty();
flushingEvents.addAll(queuedEvents); flushingEvents.addAll(queuedEvents);

View File

@ -390,8 +390,8 @@ public class ListenerSetTest {
// lazy release. // lazy release.
verify(listener, times(3)).callback1(); verify(listener, times(3)).callback1();
verify(listener).callback3(); verify(listener).callback3();
verify(listener).iterationFinished(createFlagSet(EVENT_ID_1)); verify(listener, times(2)).iterationFinished(createFlagSet(EVENT_ID_1));
verify(listener).iterationFinished(createFlagSet(EVENT_ID_1, EVENT_ID_3)); verify(listener).iterationFinished(createFlagSet(EVENT_ID_3));
verifyNoMoreInteractions(listener); verifyNoMoreInteractions(listener);
} }