This is to address the API council feedback
Bug: 379313664
Flag: EXEMPT minor change
Test: EXEMPT minor change
Change-Id: I9f9126b2e9eae3311f9d03d13d201d7518a27a09
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
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
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
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
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
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
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
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
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
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
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
- 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
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
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