Refactor SoundEffectsHelper for asynchronous loading
Use a dedicated thread for all SoundPool and MediaPlayer
operations. This ensures that the client (AudioService) doesn't
get blocked or delayed. This also removes the need to use
locking as all access to data happens on the same thread.
Simplify the implementation of the mapping between UI effect IDs
and SoundPool sample IDs.
Add event logging for sound effects loading.
Bug: 135763139
Test: normal scenario
media volume responsiveness with stuck SoundPool
behavior when declared sound assets are missing
Change-Id: Ie5a1684a2cabe05ff53270ad97cab161a87a59f9
2 files changed