Commit Graph

61 Commits

Author SHA1 Message Date
Tim Peng
e9b91f08c4 Modify rule of remote media session UI
-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
2020-05-04 12:21:20 +08:00
TreeHugger Robot
2152d0ce4f Merge "Hide the "play media to" option" into rvc-dev 2020-04-27 09:55:56 +00:00
hughchen
d02c31e693 Hide the "play media to" option
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
2020-04-27 11:42:06 +08:00
Tim Peng
c433a867b3 Dynamic grouping failed the first time
-Check if Worker is null
-Add test case

Bug: 154875482
Test: make -j50 RunSettingsRoboTests
Change-Id: I84572ef77cc9a48c3133d96fd2255754bc1cf67c
2020-04-24 07:45:24 +00:00
Tim Peng
55ce33fbe7 Incorrect checkbox icon in dynamic group panel
-Mutate icon to prevent modifying the original resource

Bug: 154673054
Test: build pass
Change-Id: I0e1a6506cb951f80f316649d27c7728132c05be6
2020-04-22 13:50:46 +08:00
Tim Peng
e94de7fbb2 The volume slider should not show for the unselected device
-Design changes

Bug: 154555379
Test: Manual test
Change-Id: Icb127867911bc4bba0b77ce374332451b23f1215
2020-04-21 09:10:02 +00:00
Tim Peng
71dd32ded0 Hide volume slider in Output Switcher when volume adjustment is restricted
-Check UserManager.DISALLOW_ADJUST_VOLUME
-Hide slider when unsupported

Bug: 153922342
Test: 1.Open CTS-V app > Device Owner Tests
2.install CtsEmptyDeviceOwner.apk -"adb install -r -t CtsEmptyDeviceOwner.apk"
3.enter the command "adb shell dpm set-device-owner com.android.cts.emptydeviceowner/.EmptyDeviceAdmin"
4.push Check device owner button
5.open Policy transparency test and go to Disallow adjust volume > Enable the switch > Open settings.

Change-Id: Iac2793ead6d93d4eaada19c4eec33885d4b97138
2020-04-20 09:09:07 +00:00
Tim Peng
cfd862db37 Tapping on Play media can have up to a 1 minute delay
-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
2020-04-13 14:44:53 +08:00
Tim Peng
2f87c336da Settings crashed by a null worker
-Add worker checker
-Add test case

Bug: 153356562
Test: make -j42 RunSettingsRoboTests
Change-Id: I129ff63a48b3785aacc846fe1dd67a926a8e5e1f
2020-04-07 07:48:38 +00:00
Tim Peng
85055801fe No feedback when attempting to transfer to an unpowered BT device
-Set title and subtitle when connecting state changes
-Add test cases

Bug: 152606143
Test: make -j42 RunSettingsRoboTests
Change-Id: I1c482e8f45752d658d7898de760594fd3ec7164d
2020-04-06 01:19:28 +00:00
TreeHugger Robot
cd329951ba Merge "Get MediaDevice from devices list" into rvc-dev 2020-03-31 04:26:31 +00:00
Tim Peng
e4ccbbec67 PendingIntent in MediaOutputIndicatorSlice could be Hijacked
-Add setPackage() to prevent local information disclosure

Bug: 151645695
Test: make -j42 RunSettingsRoboTests
Change-Id: I74c058a381fceb85695dd76d354fb49f878f9142
2020-03-30 03:53:02 +00:00
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