Before this CL, we didn't check whether the remote session existed
in the list before. If priority of remote session is higher than
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
Before this CL, output switcher will show 2 media sessions when
some apps are remote playing. The root cause is some apps will
also create local media sessions when they cast media to remote
playing.
This CL add condition to only show remote sessions on output switcher
if apps both have remote and local sessions.
Bug: 169052790
Test: make -j42 RunSettingsRoboTests
Change-Id: I80479d35b2bb2e353cf41f41f457f2dfd15cadbf
-Do not hide Media Output Dialog in Settings, and let dialog handles
-Hide Media output slice panel when launching dialog
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: I16732f625f100b259d6e53c85db40af0ec1652c5
-Update entry point at media indicator in volume panel
-Update entry point at remote media slice in volume panel
-Update entry point at remote volume group in Sound Settings
-Update entry point at media output preference in Sound Settings
-Hide Media output dialog when the caller is not active
Bug: 155822415
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib6c86067522925c439f336644e4d027dbae3379c
It adds a minimum value if it shows only one available
cast device in the output switcher. Because users can only
change the volume slider or stop control in the output switcher.
It's too hidden to have the user stop cast in the UI.
- This CL will disable the entry point of the output switcher
if there is only one available cast device in the list.
- Update test cases.
Bug: 163095048
Test: make -j42 RunSettingsRoboTests
Change-Id: I8906878e1ba769d6940041f17d83b5de6b2a32c0
Implement a throttle in SliceBackgroundWorker to control slice updates.
Test: robotest
Fixes: 152366832
Change-Id: I8b65d1b57973e036b932172627aca506f4fae3a4
-To handle getActiveLocalMediaController() in a background thread
-To update test cases for waiting LocalMediaManager initial in
background thread
Bug: 157522889
Test: make -j42 RunSettingsRoboTests
Change-Id: I27cd282a89ac9cfb6a098843f7282d5b94d98402
-Set "failed" string for subtitle
-Add test case
Bug: 157139936
Test: make -j42 RunSettingsRoboTests
Change-Id: I1fcd51f954a63cbc9ac0e573e5a8bb43cca6f087
-Reset package name when it is different with previous one
-Add test case
Bug: 156561856
Test: make -j50 RunSettingsRoboTests
Change-Id: I7931ebbc59ab404f12473fe29f2735ad3a8197fd
-Reset package name when it is different with previous one
-Add test case
Bug: 156224161
Test: make -j50 RunSettingsRoboTests
Change-Id: Ifcacc171d86017b702f51343036e0ebf0e0d1989
-Check if device id is in selected group rather than comparing client package name
-Add test cases
Bug: 154916764
Test: make -j50 RunSettingsRoboTests
Change-Id: I7364a9e3d807bbfc6b26b8212ab2da67ea329582
-Update in Volume panel and Sound settings
-Add test cases
Bug: 155345595
Test: make -j50 RunSettingsRoboTests
Change-Id: Id971038ddbf22924a747e4e1be3597face7ec6ed
-Add preference by remote session in Sound Setting
-Add slice item by remote session in Volume panel
-Replace media device data with media session data
-Add test case
Bug: 154918214
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib1c873c9f99eebcba377f4115c4b9b4297b20c3d
This CL will hide the "play media to" option is there are no active
media session and media state is not playing.
Bug: 154457882
Test: manually test
Change-Id: If272a336f06b51e7a2e1605c8dc092b2ca134c25
-Set Output Switcher activity in PendingIntent
-Broadcast is super lagged right after reboot
-Not to send broadcast to itself in order to launch Output Switcher
-Add test case
Bug: 152909957
Test: make -j42 RunSettingsRoboTests
Change-Id: I17280a3bb9e47aa6050cfaf1463c780cd9849ad7
-Set title and subtitle when connecting state changes
-Add test cases
Bug: 152606143
Test: make -j42 RunSettingsRoboTests
Change-Id: I1c482e8f45752d658d7898de760594fd3ec7164d
-Add setPackage() to prevent local information disclosure
Bug: 151645695
Test: make -j42 RunSettingsRoboTests
Change-Id: I74c058a381fceb85695dd76d354fb49f878f9142
-Update visibility of switcher preference in SoundSetting
-Update visibility of indicator slice in Volume Panel
-Add test case
Bug: 152357002
Test: make -j50 RunSettingsRoboTests
Change-Id: I8aa4e960b72f2c3c26ced78153c4ff620a123f40
-Add subtitle on Slice item for transferring and failed case
-Add test cases
Bug: 150903460
Test: make -j50 RunSettingsRoboTests
Change-Id: I45fee20194dc6c9ec86ca88158393dfda455d0c0
-Entry point is available only when there are more than 1 connected device
-Add group Slice item when it is available
-Add intent filter in manifest
-Add test case
Bug: 146813761
Test: make -j42 RunSettingsRoboTests
Change-Id: If398b7a31219fd1910503d96fe7593622528c792
-Display when Cast device is available
-Add test case
Bug: 150907688
Test: make -j42 RunSettingsRoboTests
Change-Id: I1aa2fbe7b77a0274816af47bbc372eae9d7944c9
This also fixes the Activity#setMediaController() which previously
ignored because the MediaSessionService failed to find session set to
the foreground activity.
Bug: 149006225
Test: Run MediaActivityTest in CtsMediaTestCases
Change-Id: I18d3097f7b20275a20b1de789be6884f843668ae
-Set gray color for status
-Remove status text in subtitle
-Add test cases
Bug: 149176483
Test: make -j42 RunSettingsRoboTests
Change-Id: I5ebb4e080f43d4c0fc00d87a4732ace76c2d806e
-Add group operation slice to edit the group and do the volume adjustment
-Add grouping API in slice worker
-Add test cases
Bug: 146813761
Test: make -j42 RunSettingsRoboTests
Change-Id: Ide0df5e3934bc8ac68aaa67fcbd6173a4454ac7f
-Output switcher would include transferable devices when media is active
-Output switcher would only include system devices when no media is active
-Add test cases
Bug: 150179490
Test: make -j42 RunSettingsRoboTests
Change-Id: Ice0048d3a0b78e02ec21dd3664efc0239abbb9cb
Use CopyOnWriteArrayList instead of Arraylist to
avoid ConcurrentModificationException.
Bug: 147334979
Test: make -j42 RunSettingsRoboTests
Change-Id: I669f379d3eba6a086c6bd97cde2b78d92fb5c481
This CL include following update:
1. Add onDeviceAttributesChanged() callback to update UI
when device attributes are changed.
2. Fix the top device when user press device to transfer.
3. Update UI when device is on goning call state and receive
STREAM_DEVICES_CHANGED_ACTION intent.
Bug: 144535188
Test: make -j42 RunSettingsRoboTests
Change-Id: Idd5fb95054db30f8184faf4f6ab75d0b550907a1
SliceLiveData changed its behavior, if slice is null, it will not
notify LiveData observer but callback to onErrorListener. We only
reduce PanelSlicesLoaderCountdownLatch in LiveData observer.
Therefore the error slice caused PanelSlicesLoaderCountdownLatch
never count to 0, the UI was not displayed. It is solved by reducing
PanelSlicesLoaderCountdownLatch in onErrorListener and also not return
null in MediaOutputIndicatorSlice.
Test: manual
Fixes: 141084035
Change-Id: Iddb2dbdc0e0d2ac3e26071960bb667937f181121
This CL is used to register intent of AudioManager.STREAM_DEVICES_CHANGED_ACTION
to know that phone is on VOIP call. When received this intent, media slice will
to update UI. Then if audio mode is on-going call, we will hide the slice UI.
Bug: 132198606
Test: Test: make -j42 RunSettingsRoboTests
Change-Id: Ic17ebd319b3da8f42089d36ba530cfb57c93c4c6