media3/libraries/test_session_current
tonihei 927b2d6a43 Clarify and correct allowed multi-threading for some Player methods
Some Player methods like getting the Looper and adding listeners
were always allowed to be called from any thread, but this is
undocumented. This change makes the threading rules of these
methods more explicit.

Removing listeners was never meant to be called from another thread
and we also don't support it safely because final callbacks may
be triggered from the wrong thread. To find potential issues, we
can assert the correct thread when releasing listeners.

Finally, there is a potential race condition when calling addListener
from a different thread at the same time as release, which may lead to
a registered listener that could receive callbacks after the player is
released.

PiperOrigin-RevId: 493843981
2022-12-12 11:38:06 +00:00
..
2022-11-24 14:46:43 +00:00
2021-10-27 09:12:46 +01:00

Session test module

Tests cross-process use of the session module. To run the tests:

  1. Prepare a device (either an emulator or a real device) to run the tests on.
  2. Run ./gradlew :test-session-current:cAT