CastTile: Better handling of multiple active devices.

With the new MediaProjection based flow for cast, we will have
a connected MediaRoute active at the same time as a MediaProjection
session. In order to deal with them correctly, we need to assume
in a few places that we have more than one active CastDevice. We
also consider all devices that are connected, regardless of whether
the given route is selected or not.

Test: Manual
Test: atest CastControllerImplTest
Test: atest SystemUITests
Bug: 128515798
Change-Id: Ie46798633f69c347ee32e0799d6cb23576122dd9
6 files changed