AVRCP: Track players without active media sessions
Players can be selected as addressed by MediaSessionService, then
destroy and renew their MediaSession. We want them to continue to
be addressed.
Don't remove players that destroy their MediaSession, and just forget
the controller instead.
Remove players when their package is removed though.
Report "(unknown)" when we are asked for media info for an addressed
player that has no controller.
Fix a bug where we didn't send updated metadata when it changed.
Fix an ordering bug updating the media session.
Make logging more clear when we're adding / updating / removing players.
Add dumpsys log to confirm current mMediaController is correct.
Use @Nullable and @NonNull to help with distinguishing when
MediaController can be null in AddressedMediaPlayer.
Test: send pause / play from headset, look at bugreport to confirm
Change-Id: I083745f8988e67776716db2bec5e67b697e8ee67
Bug:
36357185
Fixes:
37865298
(cherry picked from commit
384011244f5a62ed34f198b8ba91341b4efb4fb6)