- Added a feature provider for face settings page in FaceFeatureProvider
for customization
- When face is deleted, disabled the settings buttons instead of hiding
them.
- Updated new UX style for add/remove face button.
Bug: 370940762
Test: atest FaceSettingsEnrollButtonPreferenceControllerTest
FaceSettingsFooterPreferenceControllerTest
Test: manual - 1. Enroll face
2. Go Face Settings page and remove face
3. Enroll face again
Flag: com.android.settings.flags.biometrics_onboarding_education
Change-Id: I490e647523eeff2dd1a58aab07f638e3e5e0ffb8
the feature is enabled in prod already
Test: atest ConnectedDeviceGroupControllerTest
Bug: N/A
Change-Id: I7b2674bd42ed0a3bbe03c74ff52c3ccd830178dc
Flag: EXEMPT just cleanup
The new file contains all contract constants for external usages (e.g.
slice, external Get/Set API). Also reuse existing constants in
SettingsSlicesContract.
NO_IFTTT=Catalyst only
Bug: 388061003
Flag: EXEMPT refactor
Test: atest
Change-Id: I449b7b6cf82e1e102f2c96a21835191605f09943
The root cause is that PreferenceController migrated to Catalyst will be
removed by DashboardFragment and VolumeSeekBarPreferenceController
onPause() is not invoked.
NO_IFTTT=Controller only
Fix: 386162594
Flag: EXEMPT bugfix
Test: atest&manual
Change-Id: I13f8588c8259ed4ddb9895ffc60e209c99c05269
Set the callback to VolumeSeekBarPreference directly and simplify
SoundSettings.
Bug: 386162594
Flag: EXEMPT refactor
Test: atest&manual
Change-Id: Ic114c15c236da9f3ea3754408adbfa9c841befd0
Adds a new param about the charging policy to see if it's currently under CHARGING_POLICY_ADAPTIVE_LONGLIFE for more flexibility to check whether the charging optimization mode is enabled.
Bug: 391270019
Flag: EXEMPT bugfix
Test: atest SettingsRoboTests
Change-Id: Ie773d9a2a13d1a37ac9fd5940f10a100eccf77ca
Deletes the old string resource and uses a new resource because the old
translated strings do not have formatting placeholders. Eventually the
old translated strings will be automatically deleted and the new string
with placeholder will be translated.
Also uses placeholders for referencing other strings so that
we guarantee that the strings are consistent across this notification
and the actual preference in Settings.
Bug: 384791485
Test: see bug screenshots
Flag: com.android.graphics.hwui.flags.high_contrast_text_small_text_rect
Change-Id: I89a9ee4b3755b20f4e090df5b4cccb7ce47a961c
A recent CL added a feature to prevent the pane height from shrinking to
stop widgets from moving around. This is actually not a great experience
because a temporary state can keep the pane height very tall and
increase scrolling.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Test: change topology to be vertically shorter and verify the pane height shrinks
Change-Id: Ic48bfecea083a45c702c8719e3c93ceba55ae872
Add a new FeatureProvider for biometrics in FeatureFactory to provide a way to customize biometric SafetySourceIssue
Bug: 370940762
Test: m Settings
Test: m SettingsGoogle
Test: m SettingsSpaUnitTests
Test: m SettingsRoboTests
Flag: com.android.settings.flags.biometrics_onboarding_education
Change-Id: I4d11f3d3522ce5ac2f975cca7c041339f3ea6031
The Desktop Experience is only available (and therefore the freeform on
secondary display disabled) if the device is eligible for Desktop Mode.
Correcting the test to make it correct.
Fix: 393547201
Test: atest DesktopModeSecondaryDisplayPreferenceControllerTest
Flag: EXEMPT (bug fix)
Change-Id: I36a031487d8a6f6d681a2cb46a1fa50e47d870cc
Fix the old tests that fail when the new lock screen notifications
settings page flag is enabled.
Fix: 393631085
Flag: com.android.server.notification.notification_lock_screen_settings
Test: LockscreenNotificationMinimalismPreferenceControllerTest,
RedactNotificationPreferenceControllerTest,
ShowOnlyUnseenNotificationsOnLockscreenPreferenceControllerTest
Change-Id: I427ce675721c6d4df6451deebfcb6e4c06c72c37
Simplify the scaling parameters and algorithm and reduce vertical
padding.
Originally a maxBlockRatio was specified at .12, which would have
caused a block length to typically be 2560 * 0.12 = 307. However, this
fails to account for smaller displays and high-DPI displays which have
smaller dip dimensions. So instead choose a maximum edge length of
256dp, which I have found to give good results on a laptop device
and a high DPI tablet, and which does not assume typical sizing for
configured displays, and still accomplishes the purpose of limiting
scrolling and dragging size.
Using the aspect ratio of the display bounds in setting the height
frequently caused a very large amount of padding, and limiting based on
the max block height only reduced it slightly. Now we set the vertical
height based on the minEdgeLength. This length is considered the
smallest size that can be comfortably interacted with, and we use it to
give ballpark ideal padding size.
Note that the unit test cases have increased pane height but in
practice (real-world pane width and constraints) this change seems to
decrease the pane height in general.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352650922
Test: atest DisplayTopologyPreferenceTest.kt
Test: atest TopologyScaleTest.kt
Test: compare appearance on mid-dpi and high-dpi screens with a single 1080p external display, or with two external displays of smallish logical size
Change-Id: Id189892c88a1e833c1f54b0e5447a15f92e3310f
We need to make the show sensitive content switch checked by default.
The old implementation misses calling to super.updateState(), which
caused lacking of UI refreshment.
This change also added validation to the preference id that is used
to construct the LockScreenNotificationShowSensitiveController, which
avoids misusage.
Added unit tests to verify that the UI is also updated upon Settings
change, and the preference IDs are verified.
Fix: 392621932
Flag: com.android.server.notification.notification_lock_screen_settings
Test: manual
Change-Id: I31fe602d5b5439515e5fdf5c706b420edaf79042
Account for high DPI screens in topology pane scaling.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352650922
Test: atest DisplayTopologyPreferenceTest.kt
Test: atest TopologyScaleTest.kt
Test: compare appearance on mid-dpi and high-dpi screens with a single 1080p external display
Change-Id: I192fccd402c20e00beacdb5ad55eed406252eb93
This change introduces the basic behavior for the main toggle switch to
enable supervision. There is currently no PIN setup dialog when the
toggle is clicked. That will be added as a follow-up.
Intake bug: b/379312924
Change-Id: I75d6b2de1a7234c6da26fcdcf1d933eed3106a8c
Test: atest SupervisionMainSwitchPreferenceTest
Bug: 392694561
Flag: android.app.supervision.flags.enable_supervision_settings_screen
This class is part of the middleware and will be used to be notified
when an EthernetInterface is added or removed.
Flag: com.android.settings.connectivity.ethernet_settings
Test: atest
SettingsRoboTests: com.android.settings.network.EthernetInterfaceTrackerTest
Change-Id: If3a1f4d7a96b301cd47ffbea55864bcc780cd1e0
Adds EthernetInterface class and its unit tests. This class encapsulates
all operations performed on an EthernetInterface. EthernetManager and
ConnectivityManager are its dependencies to execute operations.
Flag: com.android.settings.connectivity.ethernet_settings
Test: atest SettingsRoboTests:com.android.settings.network.EthernetInterfaceTest
Change-Id: I640a607c8d9705a10dc4c4c609e036a1afa6b5f7
In the process of adding highlight we use an extra feature of
LayerDrawable to add insets so that we can add padding without changing
the actual dimensions or position of the DisplayBlock Views.
To make it easier to keep the values consistent and to aid in conversion
between px and dp, use dimen values to store padding and highlight
metrics.
Bug: b/352650922
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Test: atest DisplayTopologyPreferenceTest.kt
Change-Id: I51ff2ce4a086e84a0c529346f8ede90430090b11