Fix output switcher will show 2 media sessions in some use cases

Before this CL, we didn't check whether the remote session existed
in the list before. If the priority of a remote session is higher than
a local session, it causes us to return the local session even if
the list has a remote session.

This CL uses a list to cache package names of remote sessions.
If the local session has the same package name of the remote session
then don't return the local session.

Bug: 169052790
Test: make -j42 RunSettingsRoboTests
Change-Id: I2726a3deb397f646e4c74a8c445dde6fafb694a8
Merged-In: I2726a3deb397f646e4c74a8c445dde6fafb694a8
(cherry picked from commit 3a7293cbbfa4f8af8e816de64541828b540bcc3d)
2 files changed