AudioService: fix overlapping speakerphone + Bluetooth SCO routing requests

VoIP apps sometimes send conflicting requests to route call audio
to both speaker phone and BT SCO. This can happen if the app does not
reset the speakerphone request properly before requesting BT SCO.

In this case we must make sure to cancel the oldest request so that the
correct routing is restored when the audio mode owner is updated.

Bug: 162527933
Test: repro steps in bug
Test: regression tests with speakerphone and BT routes with major
VoIP apps.

Change-Id: I2d390a283822732474583ad655dbc760b0ba8c66
2 files changed