From cc6c6aa62bf13e8191bbeeba49f53b93efe5efae Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 23 Sep 2022 17:34:25 +0000 Subject: [PATCH] Call callback future listeners on app handler Calling maybeUpdateLegacyErrorState potentially creates a new legacy playback state which involves calling player methods. This change makes sure that the call sites of `maybeUpdateLegacyErrorState` are called on the app thread as enforced by the library. PiperOrigin-RevId: 476406282 (cherry picked from commit 74124f48ea838fcdb436726ba8337e82abc7552e) --- .../media3/session/MediaLibrarySessionImpl.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java index 8dff9a43e1..e2c966547d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java @@ -18,6 +18,7 @@ package androidx.media3.session; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.common.util.Util.postOrRun; import static androidx.media3.session.LibraryResult.RESULT_ERROR_SESSION_AUTHENTICATION_EXPIRED; import static androidx.media3.session.LibraryResult.RESULT_SUCCESS; import static androidx.media3.session.MediaConstants.ERROR_CODE_AUTHENTICATION_EXPIRED_COMPAT; @@ -129,7 +130,7 @@ import java.util.concurrent.Future; maybeUpdateLegacyErrorState(result); } }, - MoreExecutors.directExecutor()); + (Runnable r) -> postOrRun(getApplicationHandler(), r)); return future; } @@ -149,7 +150,7 @@ import java.util.concurrent.Future; verifyResultItems(result, pageSize); } }, - MoreExecutors.directExecutor()); + (Runnable r) -> postOrRun(getApplicationHandler(), r)); return future; } @@ -164,7 +165,7 @@ import java.util.concurrent.Future; maybeUpdateLegacyErrorState(result); } }, - MoreExecutors.directExecutor()); + (Runnable r) -> postOrRun(getApplicationHandler(), r)); return future; } @@ -226,7 +227,7 @@ import java.util.concurrent.Future; maybeUpdateLegacyErrorState(result); } }, - MoreExecutors.directExecutor()); + (Runnable r) -> postOrRun(getApplicationHandler(), r)); return future; } @@ -246,7 +247,7 @@ import java.util.concurrent.Future; verifyResultItems(result, pageSize); } }, - MoreExecutors.directExecutor()); + (Runnable r) -> postOrRun(getApplicationHandler(), r)); return future; }