Fix output switcher will show wrong active device

- The output switcher will show wrong active device because
  LocalMediaManager didn't go through all list. It will return
  PhoneMediaDevice immediately if found PhoneMediaDevice in the
  list, actually the active device is end of the list.

  This CL will cache PhoneMediaDevice if all BluetoothMediaDevice
  in the list are not active device then return PhoneMediaDevice
  as active device.

- Add log and test case.

Bug: 156689249
Test: make -j42 RunSettingsLibRoboTests
Change-Id: I8174168fa0578aa101efc3dd4f89e4bacb31082f
4 files changed