Commit Graph

110 Commits

Author SHA1 Message Date
SongFerng Wang
9ca09c3494 Merge "Fix the NullPointerException" into udc-qpr-dev am: acd7bbefd1 am: 6058a62ad7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24523908

Change-Id: Ia3126898342da4f39f9431a423f25a6270ae3107
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-08-28 19:19:55 +00:00
SongFerngWang
280dfac8af Fix the NullPointerException
Add the checking of null point for LocalBluetoothProfileManager

Bug: 296442243
Test: [pass]make RunSettingsRoboTests ROBOTEST_FILTER=MediaOutputIndicatorWorkerTest
Change-Id: Ieb38feec0a8a6b1f28c3ebd256ae7482c96fdf55
2023-08-23 09:33:26 +00:00
SongFerng Wang
1901f50dcf Fix NullPointerException of LocalMediaManager
Bug: LocalMediaManager
Test: build pass

Change-Id: Ib53cb11d28669486573777be992711200a39cd85
2023-08-08 09:24:46 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Iván Budnik
f9fc86593c Remove duplicate routing logic from Settings app
Also, remove unused MediaRouter2Manager references.

This is a non-functional change.

Bug: 192657812
Test: Presubmit
Change-Id: I72f5f40e157cea922ad40a2602fba881572fb708
2023-07-19 15:58:39 +00:00
Iván Budnik
470b661c82 Inline shouldDisableMediaOutput into Settings app
This allows the removal of a MediaRouter2Manager reference in
SettingsLib. Eventually, the inlined methods should be replaced with an
appropriate long-term alternative through SettingsLib.

This is a non-functional change.

Bug: 192657812
Test: Presubmit
Change-Id: I9f5dd6720fd95389335fec9e0689a40d88d30d46
2023-07-17 10:16:42 +00:00
Iván Budnik
fdcdca616d Fix adjust volume call on MediaDeviceUpdateWorker
Volume adjustment for MediaDevice is now available through
LocalMediaManager. This is a non-functional change.

Test: Presubmit.
Bug: 192657812
Change-Id: I1f85f4b914c00b7075daa9be52b34e63836df8e3
2023-07-06 14:26:53 +00:00
Santiago Seifert
e35774664f Remove redundant method in LocalMediaManager
Test: atest LocalMediaManagerTest
Bug: 241888071
Bug: 235352899
Change-Id: I699572a97bbb92d52bc2948d955c4964883f2660
2022-12-06 13:38:39 +00:00
Betty Chang
a7b9107027 Merge "[LE Audio] Remove the broadcast icon when the device does not support broadcast feature" into tm-qpr-dev 2022-10-25 08:49:56 +00:00
changbetty
4f42ca1eac [LE Audio] Remove the broadcast icon when the device does not support
broadcast feature

Bug: 254743785
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaOutputIndicatorWorkerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=MediaVolumePreferenceControllerTest
Change-Id: I02e429b3a306e2f9b0e2342118649208617c4944
2022-10-24 12:03:23 +00:00
shaoweishen
66098febbc [Sound Panel] Fix bugs for sound panel slice
1. notify item change when slice live data has update
2. keep showing Output Switcher slice when media state is in "Pause"
   state

Bug: 247043239
Bug: 238715094
Bug: 204165377
Test: verified on device
Change-Id: Ic56a70f2f2835231519e2fccf0d2e649d41b106e
2022-10-20 02:46:41 +00:00
changbetty
f31b5769d7 [LE] Launch the dialog for the user to broadcast or find broadcast
- Launch the broadcast dialog from entry point in Media Volume Slice

    - Fix the broadcast dialog to follow the dialog style

    - Start broadcast and launch the MediaOutputBroadcastDialog from
      broadcast dialog

Bug: 229577518
Test: manual test
Change-Id: I1329b3f35b03afc441142494df883ae17f373656
2022-05-03 03:16:08 +00:00
changbetty
d1d9798a5d [LE Audio] Add entry point in Media Volume slice for broadcast sink
Bug: 228274114
Test: make RunSettingsRoboTests
Test: Manual test
Change-Id: I331232c30291348faf7166d4de8060a1cfe12bff
2022-04-25 02:42:46 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
Tim Peng
9aaa97d5d9 Not support group volume control
-Disable in Sound Settings
-Remove from Volume Panel

Bug: 189270378
Test: make -j50 RunSettingsRoboTests
Change-Id: Ie4f8be8d694b3c69dd2596a1f88fcb68789eab45
2021-06-18 12:44:22 +08:00
timhypeng
a7a73c4c92 Rename MediaOutputSliceConstants to MediaOutputConstants
-Slice is not used and it is better to remove the slice string

Bug: 165772904
Test: build pass
Change-Id: I38b26187f03509d0d9f5cdb8ef30f3f3ef8779d8
2020-12-24 01:07:24 +00:00
timhypeng
deb93069c3 Remove MediaOutputPanel and MediaOutputSlice
Bug: 174192979
Test: build pass
Change-Id: Ibbbb9e7865ae991d13cd7a2d4fb9c5c75a689dea
2020-12-17 13:37:39 +08:00
tim peng
b802a1a878 Merge "Remove MediaOutputGroupSlice" 2020-12-15 07:10:03 +00:00
timhypeng
1602bccd9e Remove MediaOutputGroupSlice
Bug: 170558292
Test: build pass
Change-Id: I06c710a8b06c8666cb2cf5198d5b59eda7a7649a
2020-12-15 09:47:39 +08:00
Robert Luo
d7cfa55286 Migrate media output switcher metrics - 3/n
Bug: 172181610
Test: run statsd_testdrive 277 and check the
output correctness after content switching.

Change-Id: I5abb471452ec92670d220b2472eadbe77e243653
2020-11-30 10:33:28 +08:00
Hugh Chen
40d4e47b05 Add the explicitly mutable flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
  FLAG_MUTABLE while errors occur.

Fixes: 172207262
Fixes: 172207195
Fixes: 172205385
Fixes: 172204525
Fixes: 172205897
Test: build pass, manual test to paring blutooth device and doing
seamless transfer

Change-Id: Ic37b37bdbe6de6bdbad741985d3a920334240d80
2020-11-04 10:59:34 +08:00
Hugh Chen
3a7293cbbf Fix output switcher will show 2 media session in some use cases
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
2020-10-16 16:08:48 +08:00
Hugh Chen
e16a8077b5 Fix output switcher will show 2 media session when remote playing
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
2020-10-14 17:58:47 +08:00
timhypeng
eee759ea29 Update rule of launching media output dialog
-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
2020-10-08 16:29:28 +08:00
timhypeng
3084d063f3 Update OutputSwitcher from MediaOutputSlice to MediaOutputDialog in Settings
-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
2020-10-08 16:18:43 +08:00
Hugh Chen
c07b475843 Move isMediaOutputDisabled() from Utils to LocalMediaManager
- Move isMediaOutputDisabled() from Utils to LocalMediaManager.
  The isMediaOutputDisabled() is used to check whether should
  disable the entry point of media output, it's not a general
  method for Settings. To reduce the usage of Utils.java,
  it's better to let LocalMediaManager handle this method.
- Add test cases.

Bug: 169378895
Test: make -j42 RunSettingsRoboTests
Change-Id: I5dbed2ad4de6dca8105414f8b7d7ce7141e258bd
2020-09-29 11:27:39 +08:00
Hugh Chen
b6840ced0d Disable entry point of output switcher
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
2020-09-25 02:38:19 +00:00
Hugh Chen
c3fe8d87d6 Fix output switcher will display previous media session
Before this CL, the same request code will cause intent to
be cached. It will cause the output switcher to display the
previous media session.

This CL uses the package name as an unique request code to
fix this issue.

Bug: 169077753
Test: make -j42 RunSettingsRoboTests
Change-Id: Iebfc7904609e243d5bf0222307bae98a952a3331
2020-09-23 10:20:19 +08:00
timhypeng
c3bd801a89 Add PairNewBluetoothReceiver to launch Bluetooth pairing page
-A new SystemUI dialog requires to launch Bluetooth pairing page
-Add receiver in manifest

Bug: 155822415
Test: build pass
Change-Id: I16767af3afb05eab7246be133011bc9148909d11
2020-09-08 06:24:08 +00:00
Hugh Chen
7f3efd4357 Fix cast volume control bar not work
Use hashcode as a requestCode id, since the
same requestCode will cause the intent be cached.

Bug: 163095633
Test: make -j42 RunSettingsRoboTests
Change-Id: I2c120f18e24a66aeff5565e952fa4064149ec540
2020-08-31 15:48:46 +08:00
timhypeng
113ac8102a Display "pair new" only when local output device is available.
-If media app does not support cast->phone transferring, local output
audio device is unavailable. "pair new" is for Bluetooth which should be
also unavilable.
-These types are local output audio devices:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI

Bug: 163095048
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451
2020-08-11 10:52:57 +08:00
Tim Peng
2b4f45574e Apply RangeBuilder amination for media transferring
-Replace transferring string with animation
-Set RANGE_MODE_INDETERMINATE mode when transferring
-Add padding parameter for indeterminate progress bar

Bug: 153615031
Test: make -j42 RunSettingsRoboTests
Change-Id: I11c99aaf0c9d585dc834b06919f062d44eefbf65
2020-06-09 06:48:07 +00:00
Hugh Chen
bf1de21131 Fix output switch will show empty slice
Use MediaDevice in the list to add row instead of use connectedDevice.
Becauae connectedDevice that got from getCurrentConnectedMediaDevice()
could be null.

Bug: 157611605
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib51e3e436e65a9aaa5a35488191b8b2ad9cb6a4b
2020-06-01 16:31:52 +08:00
TreeHugger Robot
dd356c5653 Merge "[ANR] Settings froze" into rvc-dev 2020-05-29 06:37:53 +00:00
tim peng
6febf2c629 Merge "Improve feedback when failing transferring a disconnected device" into rvc-dev 2020-05-29 05:09:07 +00:00
Tim Peng
0989586ce2 [ANR] Settings froze
-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
2020-05-29 02:30:56 +00:00
Tim Peng
33914e738d Improve feedback when failing transferring a disconnected device
-Set "failed" string for subtitle
-Add test case

Bug: 157139936
Test: make -j42 RunSettingsRoboTests
Change-Id: I1fcd51f954a63cbc9ac0e573e5a8bb43cca6f087
2020-05-27 16:49:17 +08:00
Tim Peng
1af5b0cd7b Non-deselectable routes can be deselected
-Check deselectable list
-Add test case

Bug: 157098549
Test: make -j42 RunSettingsRoboTests
Change-Id: I254a9d3825319aa7b262d04e4f4c580f76afe381
2020-05-26 07:25:29 +00:00
Robert Luo
b7d1aa8efa Add data collection and metrics for Media Output Switcher - 2/n
Fixes: 147792668
Test: ./out/host/linux-x86/bin/statsd_testdrive Atom_ID
Change-Id: I1a34228da75c197663bcfe909c961e57665590d4
2020-05-21 18:00:50 +08:00
Tim Peng
17e2e158c4 Talkback focus doesn't move in liner order after tapping selected option in switch device panel
-Not to reflash UI to reset the focus order
-Reflash UI only when connect() is valid

Bug: 156336275
Test: make -j42 RunSettingsRoboTests
Change-Id: Ibb20252167ba13309065e4672f92cdf645661a0e
2020-05-19 10:08:14 +08:00
tim peng
0581bd7f1c Merge "Output switcher shows the device list by an incorrect package name" into rvc-dev 2020-05-18 05:22:50 +00:00
Tim Peng
77bec31eb5 Output switcher shows the device list by an incorrect package name
-Reset package name when it is different with previous one
-Add test case

Bug: 156561856
Test: make -j50 RunSettingsRoboTests
Change-Id: I7931ebbc59ab404f12473fe29f2735ad3a8197fd
2020-05-15 06:26:03 +00:00
Tim Peng
a5280fcc51 "Play null on" displayed under media volume
-Reset package name when it is different with previous one
-Add test case

Bug: 156224161
Test: make -j50 RunSettingsRoboTests
Change-Id: Ifcacc171d86017b702f51343036e0ebf0e0d1989
2020-05-15 06:25:54 +00:00
tim peng
72638462e1 Merge "Display previous active media information" into rvc-dev 2020-05-15 02:10:54 +00:00
Tim Peng
a402e4f3ce Display previous active media information
-Pending intent is not updated

Bug: 156561083
Test: make -j50 RunSettingsRoboTests
Change-Id: If4fdb85d7097bc48f0512b3d11f950af1d57dcd7
2020-05-14 13:32:51 +08:00
tim peng
8d2c8f1f33 Merge "When only one device is selected in dynamic group, the device should be disabled" into rvc-dev 2020-05-14 01:35:44 +00:00
Jason Chiu
8ac1e4d49d Update icon tint color when the user toggles Dark theme
- Reload theme in slice provider when Dark theme mode changes for slices
- Reload theme in onCreate of Panel activity for its non-slice header
- Remove applyTheme from individual slices

Test: robotest
Fixes: 153700819
Change-Id: I40a7d2817c4b9100d7b2f2962a69c8a9ce6f7906
2020-05-12 10:58:54 +08:00
Tim Peng
550fd3ef9a When only one device is selected in dynamic group, the device should be disabled
-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
2020-05-12 01:44:56 +00:00
Tim Peng
2ef5a87f36 Update "Play media to" to "Play <APP> on"
-Update in Volume panel and Sound settings
-Add test cases

Bug: 155345595
Test: make -j50 RunSettingsRoboTests
Change-Id: Id971038ddbf22924a747e4e1be3597face7ec6ed
2020-05-06 10:17:15 +08:00
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