Add support for wired routing
This is the third attempt to merge ag/25043811.
Wired routing means choosing where media plays among the
non-bluetooth routes. You can find details of the design
in go/wired-device-routing. You can find a summary of the
change here:
- Changes are guarded by the
enable_audio_policies_device_and_bluetooth_controller
flag in the media_solutions namespace.
- All wired and active bluetooth devices routes are
obtained from AudioManager.
- Bluetooth route ids are obtained from BluetoothAdapter,
regardless of whether the route corresponds to an active
or inactive bluetooth route.
- When necessary, audio routing strategies are used to
route the audio away from the default audio output.
Existing tests became invalid due to changes in the
dependencies of AudioPoliciesDeviceRouteController. New
tests are being added in the following commit where we
need to need to make changes in our dependencies so as
to enable testing.
Bug: 305199571
Test: atest MediaRouter2HostSideTest CtsMediaBetterTogetherTestCases
Change-Id: I060d0e67191750fb1b92c5fc7a102871840a776e
12 files changed