Commit Graph

621 Commits

Author SHA1 Message Date
Yiyi Shen
b819fa9020 [Audiosharing] Disable main toggle till device gets active.
Broadcast <-> unicast costs some time, so we grey out the audio
sharing toggle until the device get active on unicast when users toggle
off the sharing.

Flag: com.android.settingslib.flags.enable_le_audio_sharing
Test: atest
Bug: 359755881
Change-Id: I868a470430f6fb54c142f17552d70fa5fa8a2476
2024-09-02 06:54:41 +00:00
Yiyi Shen
a63f6cc528 Merge "[Audiosharing] Avoid dialog when onPlaybackStarted after call ends" into main 2024-09-02 05:24:06 +00:00
Yiyi Shen
bece2128d2 [Audiosharing] Avoid dialog when onPlaybackStarted after call ends
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362714470
Bug: 355222285
Change-Id: I9f6e1138f0877b607fb75ffef2ff249ef1114e6d
2024-08-30 14:50:05 +08:00
Haijie Hong
cafb920cdd Merge "Clean up settings subsequent pairing aconfig flag" into main 2024-08-29 05:30:34 +00:00
Yiyi Shen
a73545d878 Merge "Register callbacks on background thread to avoid ANR" into main 2024-08-29 03:26:31 +00:00
Haijie Hong
dc68fd4253 Clean up settings subsequent pairing aconfig flag
BUG: 362649019
Test: atest FastPairDeviceGroupControllerTest
Flag: EXEMPT clean up
Change-Id: Ia49b0e4e9e5b9af7fe33b2182344f7a43786f111
2024-08-28 14:28:20 +08:00
Yiyi Shen
faefac6ca8 Merge "[Audiosharing] Route to audio sharing page to start broadcast." into main 2024-08-28 01:56:09 +00:00
Yiyi Shen
f1edce7116 Merge "[Audiosharing] Handle auto start intent from QS" into main 2024-08-28 01:55:41 +00:00
Treehugger Robot
c96571371c Merge "Gate work profile code path in StylusDeviceController." into main 2024-08-27 20:06:14 +00:00
Yiyi Shen
23601a670d Register callbacks on background thread to avoid ANR
Fix: 360798156
Test: atest
Flag: EXEMPT small fix
Change-Id: Ia40bbe33952fa7ea2b951c04cf47b4a05f641e26
2024-08-27 15:37:59 +00:00
Yiyi Shen
d7d72f70d5 [Audiosharing] Handle auto start intent from QS
When intent extra EXTRA_START_LE_AUDIO_SHARING is true, audio sharing
page needs auto toggle on the main switch and start audio sharing.

And if there are one active sink and one connected sink, auto add source
to them without popping up dialog.

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 331892035
Change-Id: I0c677ea33c9e0e3eeb8495c8618bff685b13a8ed
2024-08-27 11:45:30 +00:00
My Name
e987816eed Gate work profile code path in StylusDeviceController.
If the default notes app setting is disabled for work profile, preference changes should automatically apply to the current user.

Test: Robolectric tests, plus manually check the settings on tangorpro.
Bug: 356361307
Flag: EXEMPT minor bug fix
Change-Id: Ib00a3b8287e1be327c57a47594114dad0232f2d4
2024-08-22 16:39:23 +00:00
Haijie Hong
91536001ba Merge "Clean up legacy bluetooth setting flags" into main 2024-08-21 05:45:25 +00:00
Haijie Hong
15a9f1437d Clean up legacy bluetooth setting flags
BUG: 359415806
Test: atest SettingsRoboTests
Flag: EXEMPT clean up
Change-Id: I7c47d80e61cfb0e3b473106e0784cc96ba639452
2024-08-20 15:38:32 +08:00
Chelsea Hao
2074ef938b Merge "[Audiosharing] Toast message when sharing on/off" into main 2024-08-20 04:27:18 +00:00
chelseahao
0edf69d4e8 Display broadcast name on the unsupported dialog.
Test: atest
Bug: 308368124
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Id1fdcc623e8e54a6ddb6338ab9aa7601fe809b7d
2024-08-19 13:00:28 +08:00
Yiyi Shen
0f94d4c718 [Audiosharing] Toast message when sharing on/off
Test: manual
Bug: 358249608
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I0f9620d4844b3133f0f213adda24350884fe2d5f
2024-08-16 17:37:21 +08:00
Yiyi Shen
3cfd4cf7fd [Audiosharing] Route to audio sharing page to start broadcast.
Since we already support auto start sharing and add source from QS pill
click. We can reuse the intent when user click on the second LEA headset
to start audio sharing from Connected devices page.

Test: atest
Bug: 331892035
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I83f7ae25ed96bbddb3c631b69b409f09577f421b
2024-08-16 17:32:54 +08:00
Yiyi Shen
0526b75450 Merge "[Audiosharing] Fix stop sharing btn in notification" into main 2024-08-09 02:38:03 +00:00
Yiyi Shen
4ac216914e Merge "[Audiosharing] Update dialog btn when start sharing with no extra connected device" into main 2024-08-09 02:37:20 +00:00
Yiyi Shen
a26baa0096 [Audiosharing] Fix stop sharing btn in notification
When the broadcast is off but the notification mis-stay, click on "Stop
sharing" should dismiss the notification.

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 305620450
Change-Id: Ic5b30f29b8acc06244c38eb357f63ed83985d74a
2024-08-08 18:01:07 +08:00
Yiyi Shen
da812758f3 [Audiosharing] Update dialog btn when start sharing with no extra connected device
There are two btns now: Pair new device and Show QR code
Pair new device -> go to Pair new device page
Show QR code -> go to QR code page

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 305620450

Change-Id: Id5ddb66f1bbc3b02228a0d639bf30cdc40bef265
2024-08-07 17:58:37 +08:00
Angela Wang
e92627e26d Merge "Rename CachedBluetoothDevice.getConnectableProfiles()" into main 2024-08-07 09:52:32 +00:00
Yiyi Shen
81539522d4 Merge "[Audiosharing] Handle device volume when volume bar is changed without touch" into main 2024-08-07 08:56:45 +00:00
Yiyi Shen
adbdc16113 [Audiosharing] Handle device volume when volume bar is changed without touch
Fix volume control when user use talk back swipe up/down or use Switch
Access to change the volume bar progress

Fix: 357028436
Fix: 357028435
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Iab7d48ab8713a3a809cc8f7b28381a2b86b9be5f
2024-08-07 15:17:18 +08:00
chelseahao
e7a1762ef3 [Audiosharing] When landscape mode, collapse app bar to make more space. Also refined fragments and make them scrollable.
Bug: b/356302527, b/356300387, b/356297148
Flag: com.android.settingslib.flags.enable_le_audio_qr_code_private_broadcast_sharing
Test: atest
Change-Id: I5d94f0d05afc78c13cab5b75ad662af72ffa0350
2024-08-06 09:09:11 +00:00
Angela Wang
711d0b269c Rename CachedBluetoothDevice.getConnectableProfiles()
The original method name implied that the returned profiles were guaranteed to be connectable. However, it actually filters profiles based on user can access the profile in the UI and initiate the connection. Change the method name to getUiAccessibleProfiles() aligns the name with the actual behavior.

Flag: EXEMPT simple renaming
Bug: 356530795
Test: m
Change-Id: Ib7d29a4bf9c213ddcecc567864583165ab97a099
2024-08-05 07:14:15 +00:00
Yiyi Shen
7edad1c84a [Audiosharing] Returns BluetoothDevice when fetchConnectedDevicesByGroupId
CachedBluetoothDevice can change its member variable mDevice, so we can
not rely on the CachedBluetoothDevice#getDevice when we add source to
it. This change will return BluetoothDevice instead of
CachedBluetoothDevice when fetchConnectedDevicesByGroupId, so that we
won't add source to unintended BluetoothDevice via
CachedBluetoothDevice#getDevice.

Fix: 350877510
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I4ee41b8f1449e7176f0a05a7dd4e59034c161824
2024-08-02 05:20:31 +00:00
chelseahao
e85e1c823a [Audiosharing] When user enters a bad code, apply error color on summary.
Bug: 356071392
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Test: atest
Change-Id: I427e08a3cce8d0e85f29f821d9b779acc95217b1
2024-08-01 04:25:21 +00:00
Yiyi Shen
124a9e1ebd [Audiosharing] Not announce enable/disable when toggle main switch
Fix: 356318679
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I3331f9ded48352f442712287a6b536da883fe73d
2024-07-31 18:56:33 +08:00
Yiyi Shen
7b2435a01c [Audiosharing] Clean up dup codes
Bug: 305620450
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Test: atest
Change-Id: Ife2bf26d78e522dc51891be633d6635883923de3
2024-07-30 15:34:09 +08:00
Oleg Blinnikov
2c2b7a5064 Merge "External display page is not searchable" into main 2024-07-24 22:23:44 +00:00
Oleg Blinnikov
efc891fca7 Merge "External display mode limit flag in settings" into main 2024-07-24 20:50:46 +00:00
Yuanru Qian
e8f15fd1f5 Merge "Remove ex-team members from OWNERS" into main am: 8303a38d10 am: 97f922d60c
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3191891

Change-Id: I6cb2cd56da335ee064fc4c4ee89c1e56f797cfca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-24 10:43:15 +00:00
Yuanru Qian
97f922d60c Merge "Remove ex-team members from OWNERS" into main am: 8303a38d10
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/3191891

Change-Id: I39c450800b0a3fc08d7cab8e74ff7318f753cbf9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-07-24 10:27:41 +00:00
Yuanru Qian
3fac9ad21b Remove ex-team members from OWNERS
Change-Id: I025d4963e5b63a28fb0fe36df8a4e1fdd76a9b3d
2024-07-24 09:41:31 +00:00
Oleg Blinnikov
1821d25d39 External display mode limit flag in settings
Use external display mode limit flag and override
for the flag in the settings to allow selection
of any resolutions with the refresh rate around 60

Change-Id: I180ba97eb9dfa14a386a7517f29504d369268563
Bug: 351831642
Flag: com.android.settings.flags.resolution_and_enable_connected_display_setting
Test: atest ResolutionPreferenceFragmentTest
2024-07-23 16:47:46 +00:00
Oleg Blinnikov
df9b9abd4d External display page is not searchable
Page was moved to connnected devices
from connected devices->connection pref.
This makes the page non-searchable,
therefore must be dropped from
the search index.

Change-Id: I437b1310bedc5943041eb0baa73b2e3152eb9ebd
Bug: 294015706
Test: manual
Flag: EXEMPT bugfix
2024-07-22 15:35:47 +00:00
chelseahao
7299e0f6bd Add accessibility label for "QR code" image.
Also added landscape mode.

Test: atest
Bug: 354116021
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Ide20e07f38660ef7f444fbe3b20d3364b9951e02
2024-07-22 10:27:08 +00:00
chelseahao
8dd7d1cc80 Add accessibility label for "QR code" button in Audio sharing page.
Test: atest
Bug: 354112158
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I5d2e2c70ca76e3598ca3d9550ebcc140d3400e34
2024-07-22 14:19:06 +08:00
Yiyi Shen
9eaf954e19 Merge "Fix dup preference key on Connected devices page" into main 2024-07-16 02:45:44 +00:00
Jayant Chowdhary
8569d2ade0 Merge "Exclude webcam and MIDI USB preferences from requiring auth challenge" into main 2024-07-03 04:55:58 +00:00
Jayant Chowdhary
cf9eee0bb5 Exclude webcam and MIDI USB preferences from requiring auth challenge
Webcam / MIDI don't transfer any persistent data to the host device,
so it is okay to not guard it by an auth challenge. Auth challenge for
webcam use increases friction and reduces usability.

Bug: 349370229

Flag: com.android.settings.flags.exclude_webcam_auth_challenge

Test: Check when the flag is enabled, webcam / MIDI doesn't require auth
Test: Settings robolectric tests

Change-Id: Id4c97a635a4c0a9ed14f88fbdda2743e2371dd10
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
2024-07-02 18:36:51 +00:00
Yiyi Shen
07a346fcf5 Fix dup preference key on Connected devices page
Use different key (prefix + CacheBluetooothDevice hash) for
each BluetoothDevicePreference to avoid Java crash due to "Two different
ViewHolders have the same change ID".

Test: atest
Fix: 325831741
Flag: EXEMPT safe fix only change preference key string
Change-Id: Ic993f3cab206b794045c2f46e6b4b376bfa3adea
2024-07-01 15:32:34 +08:00
Chelsea Hao
94cfea7ed1 Merge "[Audiosharing] onDestroy() is not guaranteed to be called after stopSelf(). In this case callbacks are not unregistered timely and the notification kept being brought up again if any callback is received." into main 2024-06-27 11:13:13 +00:00
Yiyi Shen
9c5ac400a0 Merge "[Audiosharing] Fix IllegalStateException at getChildFragmentManager" into main 2024-06-27 10:53:15 +00:00
chelseahao
c49658d154 [Audiosharing] onDestroy() is not guaranteed to be called after stopSelf(). In this case callbacks are not unregistered timely and the notification kept being brought up again if any callback is received.
This CL also moved some binder calls to bg thread.

Test: atest -c com.android.settings.connecteddevice.audiosharing.audiostream
Flag: com.android.settingslib.flags.enable_le_audio_qr_code_private_broadcast_sharing
Bug: 347605485
Change-Id: I1a3a3db88178a43f27cac74cf743bdb75cdfb60e
2024-06-27 09:57:37 +00:00
Chelsea Hao
f647356d62 Merge "[Audiosharing] Increase test coverage." into main 2024-06-27 08:36:02 +00:00
chelseahao
7529e1bea7 [Audiosharing] Increase test coverage.
Test: atest -c com.android.settings.connecteddevice.audiosharing.audiostream
Flag: com.android.settingslib.flags.enable_le_audio_qr_code_private_broadcast_sharing
Bug: 345686602
Change-Id: I668df463ec1c6e994d2dcaa363a20aa06f69f199
2024-06-27 07:11:37 +00:00
Yiyi Shen
6e6df5d6e2 [Audiosharing] Fix IllegalStateException at getChildFragmentManager
Fix: 349300412
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I33a22ce12ae4c602be9aafdbd9cf9fdcee82bdde
2024-06-26 18:17:46 +08:00