Commit Graph

99 Commits

Author SHA1 Message Date
Tim Peng
9d3092cb7f Add zero state in output switcher
-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
2020-03-27 12:31:26 +00:00
hughchen
649cddeb15 Get MediaDevice from devices list
The TopDevice that we cached will not update device infomation
when route is changed. We should get TopDevice from devices
list every time to confirm the device infomation is updated.

Bug: 151709228
Test: manual test to see ui is changed
Change-Id: Iede279b424d070dc7a0b30c369bed316e7ac223d
2020-03-25 17:24:26 +08:00
Tim Peng
dd39f44344 Handle ransferring state in output switcher
-Add subtitle on Slice item for transferring and failed case
-Add test cases

Bug: 150903460
Test: make -j50 RunSettingsRoboTests
Change-Id: I45fee20194dc6c9ec86ca88158393dfda455d0c0
2020-03-12 16:29:30 +08:00
TreeHugger Robot
1334a7e986 Merge "The text contrast of "disconnected" in Switch media output panel is insufficient." into rvc-dev 2020-03-10 14:45:46 +00:00
Tim Peng
1a5b896dc2 The text contrast of "disconnected" in Switch media output panel is insufficient.
-Apply generic color "textColorSecondary"

Bug: 151050490
Test: manual
Change-Id: Id5e967faab6dedb25607f8afb12acbf338211144
2020-03-10 07:08:24 +00:00
Tim Peng
b4c4c362c5 Add entry point at output switcher to do group operation
-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
2020-03-10 13:44:09 +08:00
Tim Peng
9c2968ab21 Update rule to display output switcher Slice
-Display when Cast device is available
-Add test case

Bug: 150907688
Test: make -j42 RunSettingsRoboTests
Change-Id: I1aa2fbe7b77a0274816af47bbc372eae9d7944c9
2020-03-09 16:29:53 +08:00
tim peng
2d15cecf54 Merge "Add getSessionName() API for group name in worker" into rvc-dev 2020-03-06 06:56:30 +00:00
Tim Peng
c88dc498e8 Add getSessionName() API for group name in worker
Bug: 150827723
Test: make -j50 RunSettingsRoboTests
Change-Id: Id09cb61b8ce23520761252fbb8ffbe3e323adf8e
2020-03-05 13:49:04 +08:00
Tim Peng
2688639b05 Add package name when launching output switcher from remote slice
Bug: 150742783
Test: make -j42 RunSettingsRoboTests
Change-Id: I670870cd314dc9a51d7a9a58837b95b4b8cf8808
2020-03-04 13:30:41 +08:00
tim peng
09ff25cdf9 Merge "Add slice for dynamic grouping in output switcher" into rvc-dev 2020-03-04 02:35:35 +00:00
timhypeng
95bd75e97b Append status to title for the disconnected Bluetooth device
-Set gray color for status
-Remove status text in subtitle
-Add test cases

Bug: 149176483
Test: make -j42 RunSettingsRoboTests
Change-Id: I5ebb4e080f43d4c0fc00d87a4732ace76c2d806e
2020-02-27 08:10:51 +00:00
timhypeng
7dfd41f6b1 Add slice for dynamic grouping in output switcher
-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
2020-02-27 06:28:15 +00:00
Tim Peng
14d0d125b4 Launch output switcher with media package information
-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
2020-02-25 15:45:56 +08:00
TreeHugger Robot
f75e69acf7 Merge "Add null check of MediaDevice" 2020-02-12 11:08:36 +00:00
TreeHugger Robot
ff6e341509 Merge "Add remote media slice in volume panel" 2020-02-12 01:34:15 +00:00
hughchen
9c9d5235e6 Add null check of MediaDevice
Add null check of MediaDevice to avoid some case it would be null.

Bug: 147856563
Test: manually
Change-Id: I86615bb58ccadb8d7741f612ba18afaa178bde6c
2020-02-10 19:19:54 +08:00
hughchen
1ab6dd7a71 Show volume bar if MediaDevice is active device
This CL before, the volume bar will shown on the top device.
In this CL, the volume bar will shown on the active device.

Bug: 148765806
Test: manually
Change-Id: Id261201a4227151667c67ab91864cc349941372e
2020-02-10 02:40:06 +00:00
timhypeng
b266fa6029 Add remote media slice in volume panel
-Add test cases

Bug: 142772656
Test: make -j42 RunSettingsRoboTests
Change-Id: I62d3054a4343ed2c7fbb0b4d7aeb5a48da194b02
2020-02-06 14:38:13 +08:00
timhypeng
da96aeb33d Update preferenceSlice layout rule for new volume panel design
-show icon at left side of Slice if the mapping preference contains icon
-align MediaOutputIndicatorSlice layout with other volume slice

Bug: 148821795
Test: make -j42 RunSettingsRoboTests
Change-Id: I5b0cf7f32f355503942cb62ccf36f77ceeb1b30d
2020-02-05 14:20:03 +00:00
timhypeng
6fc2f84a4e Apply RichInputRangeBuilder
-Add volume control
-Add test case

Bug: 146813957
Test: make -j42 RunSettingsRoboTests
Change-Id: I250b8447ed133212b6325eff5122ca39069c99d9
2020-02-03 14:17:05 +08:00
hughchen
1045823b3c Fix ConcurrentModificationException
Use CopyOnWriteArrayList instead of Arraylist to
avoid ConcurrentModificationException.

Bug: 147334979
Test: make -j42 RunSettingsRoboTests

Change-Id: I669f379d3eba6a086c6bd97cde2b78d92fb5c481
2020-01-15 09:23:28 +08:00
hughchen
c770c9133a Update output switch UI
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
2020-01-14 16:45:28 +08:00
hughchen
6b3856d5de Get package name on worker instead of on slice
Bug: 144535188
Test: make -j42 RunSettingsRoboTests
Change-Id: I3aa9c7ccf8df23527b8d2b79033c96ec1289c7ea
2019-12-23 11:20:13 +08:00
Raff Tsai
d785e78594 Fix PendingIntent CanceledException exception
- b/142107748 has more context

Fixes: 143267879
Test: manual
Change-Id: I3a5446febc09006fd07986c13e0a150cf89e84fd
2019-11-12 16:13:39 +08:00
Rahul Sabnis
c5a039a89f Merge "Refactor usages of getAliasName to use getAlias in Settings" am: eed0f8816b am: 4f85f36e7d
am: 2a60040d29

Change-Id: If24afc1a316da64fbf49ad08ee761e5af7dde4b7
2019-11-05 11:47:05 -08:00
Rahul Sabnis
c96469f2bd Refactor usages of getAliasName to use getAlias in Settings
Bug: 142352567
Test: Manual
Change-Id: I40af1b1e0453900fd888317ae46b20ef359db473
2019-10-22 15:34:40 -07:00
Raff Tsai
d9cfbaf3b5 Fix volume panel hang
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
2019-09-18 11:40:46 +08:00
hughchen
059cb397cd Update slice states when on Voip calling
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
2019-09-09 11:01:44 +08:00
timhypeng
888dba8c4e slice is not updated when hearingAid device connection state changed
- add hearingAid profile into onActiveDeviceChanged

Bug: 139782394
Test: make -j42 RunSettingsRoboTests
Change-Id: I1aa202dd7361e02690a5d993d0f61e6eb7835cff
2019-08-21 07:40:13 +00:00
Tim Peng
c007158819 Hide audio switcher entry-point in the volume slice when in call
- update test case

Bug: 132385707
Test: make -j42 RunSettingsRoboTests
Change-Id: Ibfd12e75f584b6884d1025018772ac9c19673156
2019-05-13 01:38:39 +00:00
TreeHugger Robot
12dcbe7c71 Merge "Clear media switcher items when in phone call" into qt-dev 2019-05-10 18:14:02 +00:00
TreeHugger Robot
04623e81b8 Merge "Set panel launch mode to singleInstance and fix animation" into qt-dev 2019-05-10 08:41:12 +00:00
lindatseng
2943c1de7a Set panel launch mode to singleInstance and fix animation
Set panel launch mode to singleInstance to avoid panel can show up
infinite time when user keep launching panels (Easy repro by
pressing volume hard key > settings again and again).

After changing launch mode to singleInstance, we will need to do
some refactors, to avoid weirdness when adding/changing/closing
panels:
1. Move and refactor logic in SettingsPanelActivity#onCreate.
   We will need onNewIntent here to handle Panel launching, since
   we only have one instance of SettingsPanelActivity now.

   Also do refactor here to reuse the PanelFragment instead of
   creating one every single time, to better handle the exit
   animation, avoid janky exit behavior from the old PanelFragment

2. Move logic from PanelFragment#onCreateView, to reuse it when
   updating panel content.

   Also add exiting animation when we are transitioning the panel
   from one to another.  Also add alpha animation to make it move
   more smoothly.

3. Adding flags to launch see more intent in settings.

Fixes: 131225920
Fixes: 131254399
Test: manual
Change-Id: I93d3708bd02a2d736e38685475f2d9988ef62d31
2019-05-10 07:14:13 +00:00
hughchen
095c5be448 Clear media switcher items when in phone call
- update test case

Bug: 132385707
Test: make -j42 RunSettingsRoboTests
Change-Id: I2bbd35e869e8ab5596d280d04fddc98f05629190
2019-05-10 10:27:26 +08:00
lindatseng
33c5d72ffe Fix NPE when launching MediaOutput Panel
Add NP check when to avoid NPE when launching MediaOutput Panel

Fixes: 132366620
Test: Manual
Change-Id: I21a481907a5bca83404e59e08ba11ce5c55199a4
2019-05-09 14:03:15 -07:00
TreeHugger Robot
9efd0c9685 Merge "Make UI smoothly when switch device in MediaOuput slice" into qt-dev 2019-04-30 01:52:37 +00:00
hughchen
53eb9eb24d Fix media output slice is empty even BT device is paired
Return the empty ListBuilder instead of return null in
getSlice().

Bug: 131140677
Test: make -j42 RunSettingsRobotests
Change-Id: I2b1a4bc0c6d2017ec85b2e9f8a5bfc08a0eba1b5
2019-04-25 11:05:27 +08:00
Tim Peng
99ed023ca4 Remove "Play media to" when no connected device
Bug: 130251782
Test: make -j42 RunSettingsRoboTests
Change-Id: Id40199a67aef48b99f59cf6e04f93be2abe5e8fc
2019-04-22 06:09:36 +00:00
hughchen
926cb581c1 Make UI smoothly when switch device in MediaOuput slice
Put connect device method to background thread to
avoid blocking UI.

Bug: 130856371
Test: RunSettingsRoboTests
Change-Id: I7638c8cbfdfcc2225ca7a1d9214a28672b1cd7db
2019-04-19 16:17:42 +08:00
hughchen
c11875c0c6 Add FLAG_RECEIVER_FOREGROUND flag
Bug: 129726026
Test: make -j42 RunSettingsRoboTests
Change-Id: Idf994396a5dcf78e520ff3cf7c928d4dd19b606e
2019-04-02 14:22:39 +08:00
hughchen
43fcc7b829 Set accent color to COLOR_NOT_TINTED
Bug: 128570540
Test: Test: make -j42 RunSettingsRoboTests
Change-Id: I483542156bf6cd24ed7080fed45e9f8e4d87a079
2019-03-28 14:30:55 +08:00
timhypeng
9afd28fcb4 [Fix] Unable to show output device indicator after reboot
- To fix the NPE in MediaOutputIndicatorWorker
- To get Bluetooth device status in Slice, not in Worker
- To purify Worker to be an event receiver

Bug: 128945026
Test: make -j42 RunSettingsRoboTests
Change-Id: I9360202870c7a43a79641c5b84210c1bfad4b9a6
2019-03-27 05:32:52 +00:00
TreeHugger Robot
6ce76c0035 Merge "Sound + Output Switcher on Volume Slice" 2019-03-19 22:49:04 +00:00
hughchen
8f76b44410 Add null check for worker
Add null check to avoid crash when worker cannot get through uri.

Bug: 128492874
Test: make -j42 RunSettingsRoboTests
Change-Id: I789ce0bfa98c0b0b145a8605c58c88a77eeb76a9
2019-03-18 19:12:32 +08:00
hughchen
6feb55546d Sound + Output Switcher on Volume Slice
- Show "play media to" item when Previously Connected device is available
- Click "Play media to" to launch output slice
- Update test case

Bug: 127729340
Test: make -j50 RunSettingsRoboTests
Change-Id: Ic00b309f87bc16f540b22b5a43fecb86f76caeb2
2019-03-16 07:04:43 +08:00
hughchen
e13e09d1b4 Update output switcher behavior and UI design
- Remove media stream stuff, use active device info as header.
- Show the sub title of media device.
- Add new requirement, when user click disconnected bluetooth device,
  will auto connceted it.
- When bluetooth state is off, do not showing content of slice.

Bug: 127201385
Test: make -j42 RunSettingsRoboTests
Change-Id: Ie1880ba3ef9910a42caf0cca2b6502e54787f5a0
2019-03-11 11:44:27 +08:00
Jason Chiu
c78c54a9c6 Add a util method of creating Icon with Drawable
- Add a util method to help create Icon with Drawable so that
users don't need to handle bitmaps
- Add support for creating with ColorDrawable

Test: robotest
Fixes: 124407373
Change-Id: I1897256821cc804a5e599d967feb84a3bcd689a9
2019-02-19 15:51:38 +08:00
hughchen
d48be9a51a Implement MediaOutputSlice
Implement MediaOutputSlice that used to show the MediaDevice list and
switch the device to transfer the media.

Bug: 121083246
Test: make -j RunSettingsRoboTests
Change-Id: I0d57cc75ca1fc8eae2d943819f84b1ec8b608255
2019-01-28 12:04:30 +08:00