diff --git a/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/MediaSessionUtilTest.java b/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/MediaSessionUtilTest.java index a60c231dfc..8cf586b846 100644 --- a/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/MediaSessionUtilTest.java +++ b/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/MediaSessionUtilTest.java @@ -19,7 +19,6 @@ import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; import android.content.Context; -import android.os.Looper; import android.support.v4.media.session.MediaControllerCompat; import android.support.v4.media.session.MediaSessionCompat; import androidx.annotation.NonNull; @@ -46,13 +45,6 @@ public class MediaSessionUtilTest { @Test public void getSessionCompatToken_withMediaControllerCompat_returnsValidToken() throws Exception { - // Workaround to instantiate MediaSession with public androidx.media dependency. - // TODO(b/146536708): Remove this workaround when the relevant change is released via - // androidx.media 1.2.0. - if (Looper.myLooper() == null) { - Looper.prepare(); - } - Context context = ApplicationProvider.getApplicationContext(); SessionPlayerConnector sessionPlayerConnector = playerTestRule.getSessionPlayerConnector(); diff --git a/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/PlayerTestRule.java b/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/PlayerTestRule.java index 546501412c..d311e0a5b6 100644 --- a/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/PlayerTestRule.java +++ b/extensions/media2/src/androidTest/java/com/google/android/exoplayer2/ext/media2/PlayerTestRule.java @@ -55,15 +55,23 @@ import org.junit.rules.ExternalResource; @Override protected void before() { + // Workaround limitation in androidx.media2.session:1.0.3 which session can only be instantiated + // on thread with prepared Looper. + // TODO: Remove when androidx.media2.session:1.1.0 is released without the limitation + // [Internal: b/146536708] + if (Looper.myLooper() == null) { + Looper.prepare(); + } + context = ApplicationProvider.getApplicationContext(); executor = Executors.newFixedThreadPool(1); InstrumentationRegistry.getInstrumentation() .runOnMainSync( () -> { - // Initialize AudioManager on the main thread to workaround b/78617702 that + // Initialize AudioManager on the main thread to workaround that // audio focus listener is called on the thread where the AudioManager was - // originally initialized. + // originally initialized. [Internal: b/78617702] // Without posting this, audio focus listeners wouldn't be called because the // listeners would be posted to the test thread (here) where it waits until the // tests are finished.