hal: Fix wrong output device for voip/music concurrent playback

If music stream is being played through speaker background during
voip call, and later when setForceUse is called with FORCE_NONE
during MODE_NORMAL, phone strategy routing will be switched to handset
device for primary output and this incidentally routes music stream to
handset from HAL side, while device in APM still keeps as speaker for
music. Then after primary output is stopped, it will restore the device
to speaker for music stream, while this routing call is ignored due to
same device on cur_output and output descriptor in APM::stopSource, and makes
music continues on handset.

Handle the restration from HAL side when device mismatch in APM and HAL.

CRs-Fixed: 2070874
Change-Id: I08529cbb148233452d6f8f3e2eed0f88c99dc573
1 file changed