Avoid reentrant callback when setting up listeners

When registering new media players for timeouts, we should schedule
their timeouts but not trigger the listeners yet. Otherwise we would
end up on states where listeners would be ask to update players that
were not initialized yet.

One exception is when a playing is migrating from "resumable" to active.
We'll then delay the state to the next Looper loop.

Test: atest MediaTimeoutListenerTest
Test: manually expire players
Bug: 160036959
Change-Id: I9302dee6190e08c0e845b6f28dfcc249b636d90d
2 files changed