Commit Graph

682 Commits

Author SHA1 Message Date
Xin Li
5bfde9fbf5 Merge 25Q1 (ab/12770256) to aosp-main-future
Bug: 385190204
Merged-In: Iaee6792d1a27be8fa4b443f783a47a3715b6d3a1
Change-Id: I0ac29cecfec526a38cf4a120b8ef704ee7bc01b3
2025-02-26 11:59:26 -08:00
Owner Cleanup Bot
125a6223af [owners] Remove zhangjerry@google.com from src/com/android/settings/connecteddevice/usb/OWNERS
This suggested change is automatically generated based on group
memberships and affiliations.

Please approve this change and vote the highest CR. This will keep the OWNERs
file tidy.  We ask that you do not ignore this change and approve it
unless you know a reason the OWNER should remain.  It can always be
reverted if needed.

If this change is in error, vote the lowest CR value (i.e. reject the CL)
and the bot will abandon it.

See the owner's recent review activity for context:
https://android-review.googlesource.com/q/zhangjerry@google.com

To report an issue, file a bug in the Infra>Codereview component.

Change-Id: Icfd162bf283cf74e3270d97a8ac15dcb2dfb34d3
2025-02-22 09:05:23 -08:00
Chelsea Hao
fbb07d3520 Merge "Part 1 of use bluetooth toggle catalyst migration." into main 2024-12-06 03:03:49 +00:00
chelseahao
a7d6d46246 Part 1 of use bluetooth toggle catalyst migration.
Test: atest
Bug: 372774767
Flag: com.android.settings.flags.catalyst
Test: atest
Change-Id: Ic4be881ead92c6d56412ea3210bc5890e7f1695b
2024-12-05 15:52:25 +08:00
Matthew DeVore
7403db7745 Merge changes Icd3e0c93,I8932e80c into main
* changes:
  TopologyScale: limit vertical padding
  TopologyScale values for scaling the topology pane
2024-12-04 17:59:21 +00:00
Matthew DeVore
607b01760f TopologyScale: limit vertical padding
In the original design, we don't allow the vertical padding to be more
than the tallest display block on the top or bottom. This patch simply
applies that strategy that was in the design.

Test: TopologyScaleTest
Bug: b/352648432
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Change-Id: Icd3e0c93e4201d8251de0be4ca636352115c657d
2024-12-03 20:22:38 +00:00
Matthew DeVore
5d2ddfc6dd TopologyScale values for scaling the topology pane
TopologyScale helps to size the topology pane and properly size and
place the display blocks inside it. It is based on the algorithm
described in the design doc.

Test: TopologyScaleTest
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: I8932e80c2b490fab0097fa315e536b292376d4a8
2024-12-03 16:26:56 +00:00
Ze Li
c8d926c4d0 Merge "[Connected devices page] Move the refresh logic to main thread." into main 2024-12-03 08:06:04 +00:00
Ze Li
7c11a45735 [Connected devices page] Move the refresh logic to main thread.
As the caller of adding or removing devices may not be performing on background thread, sync problem could occur. So here we make sure all updates to UI happens on the main thread.

Test: atest: com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceControllerTest
Bug: 365044575
Flag: EXEMPT bugfix
Change-Id: I5b697acb7cf7469fe3bbff33b820b4e9f4c5104f
2024-12-03 13:54:57 +08:00
Matthew DeVore
9e3f075c3a Merge "Show built-in display if topology is visible" into main 2024-11-28 14:24:16 +00:00
Matthew DeVore
4a3af3a735 Show built-in display if topology is visible
The topology in the External Displays list will include the built-in
display. For consistency, also show the built-in display along with the
connected displays, so there is a 1:1 correspondence between blocks in
the topology pane and display preference items.

Test: launch external display fragment with zero or one external display, verify built-in display item appears and opens Display settings if tapped
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: Id067034f6af5d0d6fe32f4a8091bc77d1ed75698
2024-11-27 17:50:54 +00:00
Yiyi Shen
df58c45702 Merge "[Audiosharing] Fix add the secondary buds to audio sharing" into main 2024-11-27 11:08:28 +00:00
Yiyi Shen
6eabebec54 [Audiosharing] Fix add the secondary buds to audio sharing
onBroadcastMetadataChanged will trigger multiple times between adding
sinks to audio sharing. Avoid clean up device candidate list in
onBroadcastMetadataChanged

Test: manual
Bug: 381166680
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I66693028478303b07879f5e53e60e2128aa9b114
2024-11-27 17:19:23 +08:00
Matthew DeVore
6f28e1a3c7 Topology pane in extended displays list
Show an empty topology pane in the extended displays list. Even show
when no external display is connected.

This will be tweaked in a follow-up CL to include the built-in display
in the pane and the displays list.

This fixes an issue where the displays list is not shown when *no*
external displays are connected, which was not the intent of the flag.
The previous flag CL ag/30358161 only respected the flag when 1 external
display was connected.

Based on mocks at go/al-mm-figma

Bug: b/352650922
Test: reboot with zero displays attached and verify display list and pane are shown
Test: on al-13 device, make the activity fullscreen and verify the margins on left and right of pane are larger
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Change-Id: If39fefe943a26c817fa6f636f21eb8aaa080adde
2024-11-25 12:06:04 -06:00
Yiyi Shen
d611829c6b Merge "[Audiosharing] Update dialog style and wording" into main 2024-11-20 10:14:13 +00:00
Yiyi Shen
22cba6ee40 Merge "[Audiosharing] Fix hysteresis mode" into main 2024-11-20 08:59:10 +00:00
Yiyi Shen
c527b40370 [Audiosharing] Update dialog style and wording
Test: manual
Bug: 379612304
Flag: com.android.settingslib.flags.enable_le_audio_sharing

Change-Id: Ibcde412670693b13d995cdd18193cb0b79a9b52d
2024-11-20 08:49:27 +00:00
Yiyi Shen
46b1369b51 [Audiosharing] Fix hysteresis mode
Move add source logic from onReceiveStateChanged(BIS>0) to onSourceAdded

Test: atest
Bug: 355222285
Flag: com.android.settingslib.flags.audio_sharing_hysteresis_mode_fix
Change-Id: I13e201fe1daaa51b9ea6989061ab9ea2cb9568d3
2024-11-20 14:28:08 +08:00
Matthew DeVore
46da53099c clampPosition function for dragging display blocks
Uses the algorithm in the prototype and the design doc
(go/extend-cd-settings).

Bug: b/352650922
Test: atest TopologyClampTest.kt
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Change-Id: I8d8d4427f5d5dc069b1529f8ca6ac2cee259ee8e
2024-11-19 15:04:02 +00:00
Matthew DeVore
c4dd7a8288 Add flag for surfacing display topology prototype
This will force the topology pane to show in the displays list UI, and
make the displays list UI accessible from the connected devices
fragment, regardless of the number of actual devices connected.

Once the display topology pane is using real data, this will still be
useful to not skip the display list UI, which currently can only be
shown when there is more than one external display connected.

To turn off, use:
$ adb shell device_config put display_manager com.android.settings.flags.display_topology_pane_in_display_list false

Test: verify "External Display" is always shown in connected devices list
Test: verify displays list is shown when 0 or 1 external display is connected
Bug: b/352648432
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Change-Id: Ic9205c69d9de09e6fb8ae33e17fbf00fe5574447
2024-11-18 12:36:56 -06:00
Yiyi Shen
ebcff7ee19 Merge "[Audiosharing] Fix hysteresis mode" into main 2024-11-13 09:19:50 +00:00
Yiyi Shen
cb32a15f1b [Audiosharing] Fix hysteresis mode
1. Move start broadcast logic from onPlaybackStarted to
   onBroadcastMetadataChanged
2. Move add source logic from onReceiveStateChanged(BIS>0) to
   onSourceAdded

Test: atest
Bug: 355222285
Bug: 377658982
Flag: com.android.settingslib.flags.audio_sharing_hysteresis_mode_fix
Change-Id: Ie0a2345e16caa2804fede930d174a67f2ec60259
2024-11-12 17:48:26 +08:00
chelseahao
103ce4efa2 Enable audio sharing hysteresis mode fix when preview is on.
Test: atest
Bug: 368401233
Flag: com.android.settingslib.flags.audio_sharing_developer_option
Change-Id: I3dad42011aadcfd1a2670d297c8e000d1b92324a
2024-11-12 05:49:34 +00:00
Ze Li
008f8550e3 Merge "[Connected devices page] Clear up old functions and add logs" into main 2024-11-08 08:45:54 +00:00
Yiyi Shen
d690869f5b Merge "[Audiosharing] Enable audio sharing UI when preview option on." into main 2024-11-08 06:36:49 +00:00
Ze Li
e3db9b8941 [Connected devices page] Clear up old functions and add logs
Test: atest: com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceControllerTest
Bug: 365044575
Change-Id: Id648be40a4735688bbe1b4779d5812ea93baee2a
Flag: EXEMPT refactor
2024-11-07 05:37:18 +00:00
Rupesh Bansal
24f961a07a Changed to use the new hidden API.
Bug: 372700957
Test: refactoring
Flag: EXEMPT Refactoring
Change-Id: I5eb7d5ab94ebd273aea9226cd3cbed5de0d49baa
2024-11-06 18:11:40 +00:00
Yiyi Shen
2fc788c35a [Audiosharing] Enable audio sharing UI when preview option on.
Test: atest
Bug: 368401233
Flag: com.android.settingslib.flags.audio_sharing_developer_option
Change-Id: Idbc84e2c43f7361c58c440d1a7d7c78edd3c0521
2024-11-04 14:27:42 +08:00
Yiyi Shen
fe59b3da1a Merge "[Audiosharing] Cancel notification when BT BLE both off" into main 2024-10-30 10:39:09 +00:00
Yiyi Shen
55cd3c67cb [Audiosharing] Cancel notification when BT BLE both off
BluetoothAdapter#isLeAudioBroadcastSourceSupported and
isLeAudioBroadcastAssistantSupported returns ERROR_BLUETOOTH_NOT_ENABLED
when turning off BT/BLE and BT+BLE both off. Still need to cancel audio sharing notification in these case.

Test: atest
Bug: 372837932
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Ib02d9ef10378996a8ee6b9f091935ddaaf7b3c99
2024-10-30 13:18:55 +08:00
chelseahao
ae7acae24c Show error message when inputting invalid audio sharing password.
Test: atest
Bug: b/356071394
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I6e1ff6d32175ad6e4286db922645d608a2708c45
2024-10-28 09:18:02 +00:00
Yiyi Shen
f6787fd88b [Audiosharing] Update button background radius
Test: manual
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 366149567
Change-Id: I6aa2b0efb1e2d7b1d08d958fa065d739bef48812
2024-10-23 13:18:45 +08:00
Jason Chiu
97f2c3dfb4 [Catalyst] Bluetooth screen migration
- Add a flag for the migration
- Add the skeleton of the screen

Test: atest BluetoothDashboardScreenTest
Bug: 372774767
Flag: com.android.settings.flags.catalyst_bluetooth_switchbar_screen
Change-Id: I48e446532d3e839ae55880095a496e3ac4790c81
2024-10-18 17:00:49 +08:00
Yiyi Shen
96429c6589 [Audiosharing] Save user preferred primary headset to SettingsProvider
In hysteresis mode, we will receive plenty of onReceiveStateChanged, e.g. play and pause music, system sounds... The onReceiveStateChanged with BIS >= 1, as a replacement of onSourceAdded, will trigger auto pick logic for primary headset. In some cases, when user change primary headset in Call audio section on audio sharing page under the hysteresis mode, the system sound will later trigger a onReceiveStateChanged with BIS >= 1, then the auto pick logic (always pick the earliest connected headset) is possible to override the user change. Thus here we have to save the user preferred primary headset in SettingsProvider and skip the auto pick if user has made changes.

Test: atest
Bug: 355222285
Flag: com.android.settingslib.flags.audio_sharing_hysteresis_mode_fix
Change-Id: I5ccf743eb685509ffcc3c7a88051726c10fe2567
2024-10-09 16:57:07 +08:00
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