Merge pull request #420 from changxiangzhong:fix/cp-missing

PiperOrigin-RevId: 537014587
This commit is contained in:
Tofunmi Adigun-Hameed 2023-06-02 09:15:38 +00:00
commit a739f6062e

View File

@ -99,14 +99,20 @@ public final class ListenerSet<T extends @NonNull Object> {
* during one {@link Looper} message queue iteration were handled by the listeners. * during one {@link Looper} message queue iteration were handled by the listeners.
*/ */
public ListenerSet(Looper looper, Clock clock, IterationFinishedEvent<T> iterationFinishedEvent) { public ListenerSet(Looper looper, Clock clock, IterationFinishedEvent<T> iterationFinishedEvent) {
this(/* listeners= */ new CopyOnWriteArraySet<>(), looper, clock, iterationFinishedEvent); this(
/* listeners= */ new CopyOnWriteArraySet<>(),
looper,
clock,
iterationFinishedEvent,
/* throwsWhenUsingWrongThread= */ true);
} }
private ListenerSet( private ListenerSet(
CopyOnWriteArraySet<ListenerHolder<T>> listeners, CopyOnWriteArraySet<ListenerHolder<T>> listeners,
Looper looper, Looper looper,
Clock clock, Clock clock,
IterationFinishedEvent<T> iterationFinishedEvent) { IterationFinishedEvent<T> iterationFinishedEvent,
boolean throwsWhenUsingWrongThread) {
this.clock = clock; this.clock = clock;
this.listeners = listeners; this.listeners = listeners;
this.iterationFinishedEvent = iterationFinishedEvent; this.iterationFinishedEvent = iterationFinishedEvent;
@ -117,7 +123,7 @@ public final class ListenerSet<T extends @NonNull Object> {
@SuppressWarnings("nullness:methodref.receiver.bound") @SuppressWarnings("nullness:methodref.receiver.bound")
HandlerWrapper handler = clock.createHandler(looper, this::handleMessage); HandlerWrapper handler = clock.createHandler(looper, this::handleMessage);
this.handler = handler; this.handler = handler;
throwsWhenUsingWrongThread = true; this.throwsWhenUsingWrongThread = throwsWhenUsingWrongThread;
} }
/** /**
@ -149,7 +155,8 @@ public final class ListenerSet<T extends @NonNull Object> {
@CheckResult @CheckResult
public ListenerSet<T> copy( public ListenerSet<T> copy(
Looper looper, Clock clock, IterationFinishedEvent<T> iterationFinishedEvent) { Looper looper, Clock clock, IterationFinishedEvent<T> iterationFinishedEvent) {
return new ListenerSet<>(listeners, looper, clock, iterationFinishedEvent); return new ListenerSet<>(
listeners, looper, clock, iterationFinishedEvent, throwsWhenUsingWrongThread);
} }
/** /**