From 568327ff2e2f4603270c3b2b492fb41738f4c883 Mon Sep 17 00:00:00 2001 From: Tofunmi Adigun-Hameed Date: Fri, 2 Jun 2023 09:15:38 +0000 Subject: [PATCH] Merge pull request #420 from changxiangzhong:fix/cp-missing PiperOrigin-RevId: 537014587 (cherry picked from commit a739f6062e37df48db395ce8eb8f0aafb4856b0d) --- .../androidx/media3/common/util/ListenerSet.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/ListenerSet.java b/libraries/common/src/main/java/androidx/media3/common/util/ListenerSet.java index 0ab3bab541..4d193d7a9a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/ListenerSet.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/ListenerSet.java @@ -99,14 +99,20 @@ public final class ListenerSet { * during one {@link Looper} message queue iteration were handled by the listeners. */ public ListenerSet(Looper looper, Clock clock, IterationFinishedEvent iterationFinishedEvent) { - this(/* listeners= */ new CopyOnWriteArraySet<>(), looper, clock, iterationFinishedEvent); + this( + /* listeners= */ new CopyOnWriteArraySet<>(), + looper, + clock, + iterationFinishedEvent, + /* throwsWhenUsingWrongThread= */ true); } private ListenerSet( CopyOnWriteArraySet> listeners, Looper looper, Clock clock, - IterationFinishedEvent iterationFinishedEvent) { + IterationFinishedEvent iterationFinishedEvent, + boolean throwsWhenUsingWrongThread) { this.clock = clock; this.listeners = listeners; this.iterationFinishedEvent = iterationFinishedEvent; @@ -117,7 +123,7 @@ public final class ListenerSet { @SuppressWarnings("nullness:methodref.receiver.bound") HandlerWrapper handler = clock.createHandler(looper, this::handleMessage); this.handler = handler; - throwsWhenUsingWrongThread = true; + this.throwsWhenUsingWrongThread = throwsWhenUsingWrongThread; } /** @@ -149,7 +155,8 @@ public final class ListenerSet { @CheckResult public ListenerSet copy( Looper looper, Clock clock, IterationFinishedEvent iterationFinishedEvent) { - return new ListenerSet<>(listeners, looper, clock, iterationFinishedEvent); + return new ListenerSet<>( + listeners, looper, clock, iterationFinishedEvent, throwsWhenUsingWrongThread); } /**