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
We had fixed this before and then regressed when moving to TextInputLayout, so added a proper test this time.
Fixes: 380207192
Test: atest ZenModeEditNamePreferenceControllerTest
Flag: android.app.modes_ui
Change-Id: Ic25b0a5a6997e7b3bb26bf26ed7e8e92654a1c11
The settings keyword search result is based on xml.
Hide the phone ringtone preference if the device
support ringtone vibration.
Flag: EXEMPT bugfix
Bug: 379006466
Test: atest PhoneRingtonePreferenceControllerTest
Change-Id: I42d2518c524ab26525445f766e14049c59a8d6ee
The new advanced protection support intent will be launched by the
existing ActionDisabledByAdminDialog if the enforcing admin of a certain
restriction is advanced protection. To determine that, Change-Id
If931dcddad508f88aac1280b587da4767b937875 introduces an API to query the
enforcing admin.
In addition, this change updates ExternalSourcesDetails to display
a disabled by advanced protection string in the preference summary.
Tests will be written in a follow up change.
Bug: 358229113
Bug: 369361373
Test: manual
Test: atest ActionDisabledByAdminDialogTest
Test: atest ExternalSourcesDetailsTest
Test: atest LocationInjectedServicesPreferenceControllerTest
Flag: android.security.aapm_api
Flag: android.security.aapm_feature_disable_install_unknown_sources
Change-Id: Icedef421d65f7ccde6562734e39a87d4458567ff
This is a no-op refactor. This change makes the BatteryHeaderPreference Catalyst migration doesn't depend on PowerUsageSummary.
Bug: 372774754
Test: manual
Flag: EXEMPT bug fix
Change-Id: I3d8d2856036f6840a0a163c35668f55baee487ab
This is a no-op refactor. This change makes the Catalyst migration of battery level bar easy.
Bug: 372774754
Test: manual
Flag: EXEMPT bug fix
Change-Id: I6e64e6d9b34aeca584f4d4e951c58c3e1b361f9d
There are duplicate a11y focuses in the App Notifications subpage.
See the bug for more details.
To fix the App, we will make the LayoutPreference unselectable,
which makes the internal FrameLayout unfocusable.
To fix the Switch, we can disable its focusability.
This will make the FrameLayout the only focusable view for the
Main Switch Bar. This a11y fix applies to all instances of
SettingsMainSwitchPreference in the Settings app.
Bug: 306725248
Flag: EXEMPT bugfix
Test:
atest SettingsMainSwitchPreferenceTest
Manually tested the UI. The SettingsMainSwitchPreference
is also used in `Display & Touch > Adaptive brightness`,
`Accessibility > Caption Preference`, etc. The toggle acts as
expected in the pages.
Change-Id: I52b4965ac0ffc8d1576e8bc650715eb80ab4e8c7
Unifies all custom caption controllers under a base controller, whose searchability is directly determined by CaptionHelper#getCustomCaptionAvailability().
Test: atest CaptionHelperTest
Bug: 353757664
Flag: com.android.settings.accessibility.fix_a11y_settings_search
Change-Id: If44e6eca4c72aa4413cd0a6e8735dbb22c7abe62
1. rename TrackpadSetting to TouchpadAndMouseSetting
to match more about usage.
2. Add separated pages for touchpad and mouse.
Gather options from current page and put it accordingly.
Please note that this change only add isolate files for pages
and didn't reference from anywhere, it will be done in next change.
This is part of feature for keyboard setting update.
document: go/new-a11y-touchpad-mouse-page
Bug: 377602364
Test: atest SettingsRoboTests
Flag: com.android.settings.keyboard.keyboard_and_touchpad_a11y_new_page_enabled
Change-Id: I9e18ce3fbc3617bfb6cef3c272f3cfcfd2ff8a37
Full flag name: "never_restrict_accessibility_activity"
Bug: b/331990900
Test: atest RestrictedPreferenceHelperTest
Flag: EXEMPT flag cleanup
Change-Id: I365ed105043cb4835075b8b9016b41862f82021c
As the preference is exported as external settings, for safety, do not
update the preference key with datastore key. As a workaround, manage a
mapping between preference hierarchy key and datastore key.
Bug: 372307567
Flag: com.android.settings.flags.catalyst_lockscreen_from_display_settings
Test: devtool
Change-Id: I56126485061859b41216cd23b8e1caf63823a1ec
This preference (and its test) has no flagging, but its parent
page 'Color and motion' is flagged for Catalyst migration.
This preference looks identical before and after migration.
Fix: 373451690
Flag: com.android.settings.flags.catalyst_accessibility_color_and_motion
Test: atest RemoveAnimationsPreferenceTest
Test: Enable our flag, and top-level Catalyst flag;
Toggle the setting in Settings > Accessibility;
Observe expected changes to animation behavior;
Change-Id: I07dbe45a120780439393d7cfd46a749025b7ab0c
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
rename KeyboardSettingUtils to match more about usage.
Bug: 379594195
Test: atest SettingsRoboTests
Flag: NONE, rename file.
Change-Id: If978e7b56ecbdb0b571db5ff34553bbb20f976ee
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