Refactor a couple of fields to use PrefRefresh for caching instead
instead of fields. This makes us construct PrefRefresh for display
categories, which we hadn't been doing before, and was causing
b/397466966. This also limits the tests' dependency on implementation.
We had been using fields for caching Preference objects, which doesn't
account for the same preference being needed for each display.
PrefRefresh is a more flexible mechanism for recycling View objects and
it largely makes the fields obsolete.
The reuse* methods (previously get*Preference) can actually be inlined
now that tests aren't calling into them, but to keep the diff easy to
review I left them as separate methods.
Because @NonNull doesn't actually do anything, and is considered the
default, I neglected to add them to new arguments, and deleted them from
lines I modified.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Test: ExternalDisplayPreferenceFragmentTest.java
Test: with fragment visible, plug-in and activate a new physical display with the Mirror prompt
Test: with topology disabled, verify footer is shown with and without a display attached
Bug: b/397466966
Bug: b/397591022
Change-Id: I16b3ae925ca3d9d79471fd5df00b571ae3fc696f
storage_summary is passed as a single string of format "32 GB".
Spliting the phrase to allow TC to remove whitespace in case of iw
translations.
Old Translation : <free_space>
New Translation: <free_space_value> <free_space_unit>
Bug: 387197875
Test: manual
Flag: EXEMPT bugfix
Change-Id: I91abf58df472650a6278b08e4daa5d32e7f90da9
Revert submission 31790253
Reason for revert: DroidMonitor: Potential culprit for http://b/397368653 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Reverted changes: /q/submissionid:31790253
Change-Id: I851046019821fff0d132efb0b00cbff1e3ecbe72
Bug: 393951373
FLAG: EXEMPT flag clean up
Test: atest NetworkSelectSettingsTest WifiCallingSettingsForSubTest SatelliteSettingsPreferenceControllerTest
Test: manual test in live network
Change-Id: I154e9be8a8c771fafb37af078be7b495f18b6100
* changes:
feat(A11yFeedback): Pixel overlay to expose the feedback bucket ID
feat(A11yFeedback): Add feedback entry for Accessibility page
feat(A11yFeedback): Add FeedbackManager for Accessibility page
- Shows device apps' info up to 3 on Satellite settings' page.
- Add a new page to show all device's app info with Satellite supported.
Flag: com.android.internal.telephony.flags.satellite_25q4_apis
Fix: b/395813844
Test: atest pass
Change-Id: Ibd5e1c74b636639082ec9477f2b6796bcbc8340d
This change introduces a feature provider for Pixel overlays, allowing
customization of the feedback bucket ID on Android.
Bug: 393980229
Test: Manual testing for Pixel and non-Pixel overlay in real device
Test: atest AccessibilitySettingsTest
FeedbackManagerTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: Ieeb1dba4de5c13a275e66781621cbfcca7219a5e
When the built-in display settings as well as CD settings are both
present in the fragment, show external display settings category after
built-in. This applies to the per-display fragment and the initial
display list fragment.
Stop showing per-display settings nested in a parent list, as this was
causing extra spacing and complicating the code.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Test: ExternalDisplayPreferenceFragmentTest
Test: manually check topology mode for single display, multiple displays, in both fragments
Test: manually check v1 UI for single display, multiple displays, in both fragments
Bug: b/352648432
Bug: b/396116157
Change-Id: I7fdf72d198988feb1e7559f96a54f7680cf5b8a6
- Currently Android only handles Satellite w/ entitlement for any notifications. Some carriers such as KDDI have no entitlement for satellite service, so this change is to add some strings to avoid any confuse to Android user on satellite service.
Flag: EXEMPT resource update
Fix: b/382387532
Test: Manual test
Test: atest pass
Change-Id: I835787c9e0fe29eeecec0470e9bd6b38939abd8c
Flags are enabled already. The flag disabled tests should be
removed.
Fix: 395131189
Test: atest CellularSecurityNotificationsPreferenceControllerTest
Flag: EXEMPT test fix
Change-Id: I40d5c56956b714ba563cb545807deb1dee9e8d8a
Some changes made to the UI, i.e. presence or absence of items, based on
feedback. There is some ambiguity because we are not fully v2 yet, hence
this change.
When all external displays are attached after opening the fragment, we
now show no preference items, whereas before we showed the pane with
built-in display options.
If only one external display is attached, we skip the "display list"
version of the fragment, and instead show the pane and other v2 items in
the per-display fragment.
If 2 or more external displays are attached, we do not show the pane
after selecting a display, which makes the rotation/resolution items
easier to find. I tried to get scrollToPreference to work but could not,
and it could be a little disorienting anyway.
To help manage the growing number of setOrder calls, keep the order
values as well as other pref data in a single spot. This also reduces
the amount of boilerplate around constants needed and makes uniform how
multiple preferences are built.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/366056922
Bug: b/394361999
Test: TODO
Change-Id: Iaa33f6d9220a1658a372c0432fe159a69dbb88a5
In some tests it could inconsistently become a null, crashing with NPE, for the reason I can't understand (maybe there is a race condition somewhere between mocking and accessing the LockPatterUtils in such tests)
Let's accept it gracefully
Test: atest SettingsUnitTests
Bug: 382637173
Flag: EXEMPT bugfix
Change-Id: I35d5faa1a29307fc780207a816680a32b2796bc0
- 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
Currently slider is not functioning.
Flag: com.android.settings.flags.display_size_connected_display_setting
Test: atest ExternalDisplayPreferenceFragmentTest
Bug: 392853666
Change-Id: Ibcb55bc939a38dad58451b2a0db4a59f5aa28e5f
Rather than show all external displays as a single item each under one
category, each external display has its own category. For now, the
category only has one item: the single Resolution+Rotation option.
This is more consistent with the Built-in display, which also still
only has one preference item in the category.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352648432
Bug: b/392946322
Test: ExternalDisplayPreferenceFragmentTest
Test: Open display list with two displays connected, and remove them one at a time
Change-Id: I4d7f8410f506fe53201bc87f8b55ffc6d407a9c5
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