Add missing Avrcp.doQuit() call during A2dpService stop()
During graceful shutdown of A2DP, proper cleanup of AVRCP requires calling both Avrcp.doQuit() and Avrcp.cleanup() . Also, reorder the AVRCP-related operations inside A2dpService.start() and A2dpService.stop(): - Avrcp.make() before preparing the A2DP state machines - Avrcp.doQuit() and Avrcp.cleanup() after shutting down the A2DP state machines. This reordering is needed to avoid a race condition during A2dpService graceful shutdown: A2dpStateMachine -> A2dpService.setAvrcpAudioState() -> mAvrcp.setA2dpAudioState() while right before the last call mAvrcp was assigned to null inside stop(). Bug: 73547689 Test: Manual (enable/disable Bluetooth) Unit tests pass Change-Id: I8b30a0ff840cf73e8e9cce06b52659b2a17cac5b
Loading
Please register or sign in to comment