Commit Graph

648 Commits

Author SHA1 Message Date
Yiyi Shen
c349422e55 Merge "[Audiosharing] Update audio sharing section title in call" into main 2024-10-09 07:38:45 +00:00
Yiyi Shen
ea5832e174 [Audiosharing] Update audio sharing section title in call
In call mode, change title "Active media devices" to "Call devices",
also allow device click to switch active.

Test: atest
Bug: 355222285
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I8195934f19de534d07f5a655aac17d6966ae6f32
2024-10-08 15:44:10 +08:00
Yiyi Shen
b77c619ebe [Audiosharing] Fix call audio device in call
During call, BT stack will keep the broadcast in a hysteresis mode,
however BT stack will remove the fallback group id, which leads the Call
audio summary empty. Here we check if there is active device on LE_AUDIO
profile when the fallback group id is removed. The active device on
LE_AUDIO profile should be the call audio device.

Test: atest
Bug: 355222285
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I906f30631027439ed4060af758ef63eda1a0b12d
2024-10-08 14:20:28 +08:00
chelseahao
80e1b69aa7 Create only one media session per audio stream media service.
This might cause callback not being cleaned up properly even if the service is destroyed.

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362140159 369452993
Change-Id: I389735162c1f9e41cea25f63f881c20be4effb60
2024-09-29 18:57:01 +08:00
Yiyi Shen
d2e97b455e Merge "[Audiosharing] Show dialogs when lifecycle isAtLeast STARTED" into main 2024-09-26 02:49:43 +00:00
Yiyi Shen
54b0d18a04 [Audiosharing] Use DialogFragment instead of raw AlertDialog
FragmentManager can help manage the state of the dialog and automatically restore the dialog when a configuration change occurs

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858921
Change-Id: If63c7891cfb92e06c457e37eb5556f3eaf3f6121
2024-09-25 17:31:14 +08:00
Yiyi Shen
57355a0743 [Audiosharing] Show dialogs when lifecycle isAtLeast STARTED
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 305620450
Change-Id: I34f4f46b9377f1e3ec1a4cd27687c14d674f6da4
2024-09-25 17:13:19 +08:00
Yiyi Shen
5ea28f5f0a [Audiosharing] Apply new string resid
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858921
Bug: 362858894
Change-Id: I4c80d834515e43bade5f2207dc013dc30c6ab7be
2024-09-23 18:56:04 +08:00
Yiyi Shen
51fc7a8239 Rename AudioSharingRetryDialogFragment
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: I157b036541e9a7b21205ee45437bfd4562c49118
2024-09-23 16:20:48 +08:00
Yiyi Shen
322e153350 Rename AudioSharingLoadingStateDialogFragment and layout
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: I05e29b248541511daca355f1bbe4a13b17b4d20d
2024-09-23 15:46:27 +08:00
Yiyi Shen
302b26ff74 [Audiosharing] Show retry dialog when error occurs in start sharing
Errors including:
1. onBroadcastStartFailed
2. onSourceAddFailed

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: I0fe13bd675672c57219d0f6f3e735515a7ed7a06
2024-09-23 11:07:20 +08:00
Yiyi Shen
133fcf3dc5 Merge "[Audiosharing] Refine share then pair flow" into main 2024-09-19 13:29:37 +00:00
Yiyi Shen
800f81c832 [Audiosharing] Refine share then pair flow
Currently when there is one active LEA headset and users toggle on the audio sharing, a dialog will pop up to ask users to pair new headset and share audio with it. After user click pair new device button on the dialog:

1. Route users to pair new device page.
2. If users pair an LEA headset, finish the pair new device page and
   auto add source to the headset with loading indicators on audio
   sharing page.
3. If users pair a classic headset, wait for timeout, pop up dialog
   saying the paired headset is not compatible for audio sharing and
   finish the pair new device page.

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 331892035
Change-Id: Ifb9579db0ef57d3a379cb5d17c66a604d1396bb4
2024-09-19 14:03:48 +08:00
Treehugger Robot
02b60ddb14 Merge "[AudioStream] Hysteresis mode support" into main 2024-09-13 18:47:47 +00:00
Rongxuan Liu
2c3f54c5e3 [AudioStream] Hysteresis mode support
Flag: com.android.settingslib.flags.audio_sharing_hysteresis_mode_fix
Test: atest com.android.settings.connecteddevice.audiosharing.audiostreams
Test: manual test with broadcast hysteresis mode
Bug: 355222285
Bug: 355221818
Change-Id: If3a1fbdc391eeda6979868829bc00c435a43c329
2024-09-13 17:14:01 +00:00
Yiyi Shen
a6d9fa163e [Audiosharing] Show loading state on audio sharing page
1. Show "Sharing audio stream..." once starting audio sharing
2. Show "Sharing with <devicename>..." once adding source to the device

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: I6c19d999baaa91d6a5365f24e88efe79c2b38072
2024-09-12 18:21:03 +08:00
Yiyi Shen
0e7d5fcf0d Merge "[Audiosharing] Add loading state dialog" into main 2024-09-11 05:55:24 +00:00
Yiyi Shen
45218f6199 Merge "[Audiosharing] Add dialog for share then pair with classic headset" into main 2024-09-11 05:55:00 +00:00
Yiyi Shen
ea68bb0825 Merge "[Audiosharing] Change main toggle enable conditions." into main 2024-09-10 10:55:36 +00:00
Yiyi Shen
d54c7e9728 [Audiosharing] Add dialog for share then pair with classic headset
In share then pair flow, after users are routed to pair new device page,
if they pair a classic headset, we will show this dialog to explain that
the headset does not support audio sharing.

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858921
Change-Id: I9cb600fa890563c179ac265c3f9c8cda52e4d296
2024-09-10 18:52:11 +08:00
Yiyi Shen
c347fba969 [Audiosharing] Add loading state dialog
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: Ic40c3c5971e29ce1dac896a8e4efa2284d95f45e
2024-09-10 15:37:40 +08:00
Yiyi Shen
d3f4982f6e [Audiosharing] Add retry dialog when start fail
Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858894
Change-Id: I6ffb3433a6284e0b42d9c976c4abcdf835eee06f
2024-09-09 20:01:37 +08:00
Yiyi Shen
439873d08e [Audiosharing] Change main toggle enable conditions.
Enable the toggle when:
1. In audio sharing
2. No connected LEA device. We will show dialog to guide users to
   connect a compatible device.
3. Has active device, which means it is a healthy state after broadcast
   -> unicast switch.

Flag: com.android.settingslib.flags.enable_le_audio_sharing
Test: atest
Bug: 305620450
Change-Id: I2c8067f7882df6943beb3704f63a3e1113ce55d2
2024-09-09 14:07:17 +08:00
Yiyi Shen
5e9afcf59c Merge "[Audiosharing] Disable main toggle till device gets active." into main 2024-09-04 02:50:54 +00:00
Yiyi Shen
db89eaa0a2 [Audiosharing] Update cancel btn label.
When broadcast is off, the negative btn of share audio dialog should be
"Switch to xxx"

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 305620450
Change-Id: I8006e2901b8f859d1ee86cbf12d81401e004aa0f
2024-09-03 07:57:12 +00:00
Yiyi Shen
85d1148e87 Merge "[Audiosharing] Avoid audio sharing dialogs in call" into main 2024-09-02 10:40:28 +00:00
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
abd3889b5c [Audiosharing] Avoid audio sharing dialogs in call
Test: atest
Bug: 362714470
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I972d65727865793454de3eb0d9f07926d236afd7
2024-09-02 13:41:09 +08: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