Commit Graph

696 Commits

Author SHA1 Message Date
Vladimir Komsiyski
18fe317f1d Merge "VDM Settings" into main 2024-12-20 23:46:44 -08:00
Vladimir Komsiyski
af3e3026ff VDM Settings
Demo: go/vdm-settings-demo

Bug: 371713473
Bug: 338974320
Test: atest
Flag: android.companion.virtualdevice.flags.vdm_settings
Change-Id: I4a818b1b31ad59ee3de22105b969aec4c7f4d529
2024-12-19 04:57:19 -08:00
Rupesh Bansal
74f0acd92b Changing eventFlags to eventFilter
This is to address the API council feedback

Bug: 379313664
Flag: EXEMPT minor change
Test: EXEMPT minor change
Change-Id: I9f9126b2e9eae3311f9d03d13d201d7518a27a09
2024-12-17 12:58:49 +00:00
Matthew DeVore
7b7f72d902 Merge "Show display topology in the pane" into main 2024-12-16 16:24:18 -08:00
Matthew DeVore
807cf78a51 Show display topology in the pane
Populate the topology pane with the topology as returned from
DisplayManager.

This adds padding but not the proper rounded corners or highlighting for
the blocks. That will come later, probably after feature complete while
still in dogfood.

Test: add and remove overlays while external display fragment is shown - verify pane is refreshed
Test: add two overlay displays, verify two blocks appear in pane with system wallpaper
Test: with no freeform window displays, verify a "not enabled" message appears in pane with no display blocks
Test: DisplayTopologyPreferenceTest
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: Ibb35af53c24d6feb1d763e4b2bf2ec9fee2ae24d
2024-12-16 19:04:58 +00:00
Treehugger Robot
4bfd857a7e Merge changes from topic "catalyst" into main
* changes:
  [Catalyst] Specify read/write permissions for "Mobile data"
  [Catalyst] Update permission check API signature
2024-12-13 20:57:36 -08:00
Treehugger Robot
27c4fa1f41 Merge "Use BluetoothLeBroadcastAssistant#getSourceMetadata to retrieve broadcast name." into main 2024-12-13 01:51:46 -08:00
Jacky Wang
821d320051 [Catalyst] Update permission check API signature
NO_IFTTT=Catalyst only

Bug: 374115149
Flag: com.android.settings.flags.catalyst
Test: manual
Change-Id: Ib13a5fddd517e3e260815b753b55c008e24d70d8
2024-12-13 16:09:58 +08:00
Matthew DeVore
2ad409ac2c Merge "Allow tweaking minimum block size and max block ratio" into main 2024-12-12 10:14:21 -08:00
chelseahao
18444f826f Use BluetoothLeBroadcastAssistant#getSourceMetadata to retrieve broadcast name.
Test: atest
Bug: 381944659
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: I6e4c83a0858717727066de708fbde88e4b03ed8e
2024-12-12 11:31:33 +08:00
Matthew DeVore
913b836bd8 Allow tweaking minimum block size and max block ratio
The original settings of 48 and 0.05 resulted in very small results in
real-world use. The min edge length of 48 does not account for possible
padding and is unnecessarily small. The block ratio of 0.05 is probably
OK to exceed, and is unnecessarily limiting. It is worth noting that the
previous defaults usually caused a conflict between the min length and
max ratio.

Keep the parameters in case we change our mind later.

Test: TopologyScaleTest
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Change-Id: If8f72dd2e0652ffb33f3d61b137ac7d64a4477f5
2024-12-10 15:37:36 -06:00
Jacky Wang
fdbfa69183 Merge changes from topic "catalyst" into main
* changes:
  [Catalyst] Migrate bluetooth screen to catalyst
  [Catalyst] Migrate BluetoothFooterPreference
  [Catalyst] Fully migrate BluetoothMainSwitchPreference
  [Catalyst] Add SatelliteRepository.isSatelliteOn helper method
  [Catalyst] Support callChangeListener for MainSwitchBarPreference
2024-12-10 07:11:09 +00:00
chelseahao
e306ee4c6c Disable announcing "Enabled / disabled" when toggling BT in settings.
Test: atest
Bug: b/375545416
Flag: EXEMPT bugfix
Change-Id: I1992faaf813c147fa734a3522b070ccbf0531dab
2024-12-10 02:28:25 +00:00
Jacky Wang
efd08c4bfb [Catalyst] Migrate bluetooth screen to catalyst
Bug: 372774767
Flag: com.android.settings.flags.catalyst_bluetooth_switchbar_screen
Test: devtool
Change-Id: I08730e63f17b5fe57268e57f796f88f52ef5caa0
2024-12-09 21:07:37 +08:00
Jacky Wang
1c63279c3d [Catalyst] Migrate BluetoothFooterPreference
Bug: 372774767
Flag: com.android.settings.flags.catalyst_bluetooth_switchbar_screen
Test: devtool
Change-Id: Ic1f5cc897bcbaf8775fb4b841625c9a40644adfc
2024-12-09 21:07:33 +08:00
Jacky Wang
2b21d69c0c [Catalyst] Fully migrate BluetoothMainSwitchPreference
Bug: 372774767
Flag: com.android.settings.flags.catalyst_bluetooth_switchbar_screen
Test: atest
Change-Id: Ie7a78a0ef2a8739d30ece4c1c4fde5651876dc8a
2024-12-09 17:47:40 +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