The root cause is that androidx.preference.Preference does not implement
equals and hashCode methods, but it is used as Map key (see bug comment2
for more details). Given that Preference.getParent() can find the
category, we can simplify the data structure from Map to List.
Bug: 388696327
Flag: EXEMPT bugfix
Test: Resume/Pause Accessibility screen 100 times
Change-Id: Ib70acbf2147048730f8a4e8fd66731f9efdadecf
This entry point allows users to access and adjust Magnification
settings for low vision accessibility. Visibility is controlled by
the aconfig flag and SurveyFeatureProvider#isSurveyAvailable.
NO_IFTTT=Revisit preference_list scope
Bug: 380346799
Test: atest ToggleScreenMagnificationPreferenceFragmentTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: I81a55487734fe7b139391a6c95834c7313e54d7a
The controller's logic determines the visibility of this preference
based on the availability of surveys, as reported by
SurveyFeatureProvider.isSurveyAvailable.
Bug: 380346799
Test: atest MagnificationFeedbackPreferenceControllerTest
Flag: com.android.server.accessibility.enable_low_vision_hats
Change-Id: I7fe7aa4418a6be38e9e7af7efc76a9a25266198b
Adds ability for users to select posturing as the trigger for when
dreams will be shown.
Bug: 383208131
Test: locally - mp droid and verified posturing option is displayed in
Settings
Flag: android.service.dreams.allow_dream_when_postured
Change-Id: Iae69b9e488181b1e2af7474e3e9879a92b51274c
When we first added the touchpad settings we hadn't settled on whether
to refer to them as "touchpads" or "trackpads" yet. We've since settled
on "touchpad", but that's left us with some Settings code referring to
one and some to the other. Let's standardize on "touchpad" since that's
consistent with user-facing strings and the rest of the input codebase.
This CL doesn't change string identifiers, as I believe that would cause
them to get different Translation Console IDs and thus be retranslated.
Bug: 245989146
Test: m
Test: check strings and icons are still displayed correctly in the
touchpad settings and tutorial, and that settings toggles and the
tutorial still work
Test: atest SettingsRoboTests
Flag: EXEMPT refactor
Change-Id: I930e9fc85e09e03da3513e5f8443077fa8ea91b0
The executor factory can bind with an UI page life cycle and could
auto-shutdown when the onStop().
Bug: 384795117
Test: manual
Flag: EXEMPT bug fix
Change-Id: Ibd2538fa2def86b08d3874a44f23ae2450483a6e
ModuleInfo#isHidden is used for getting hidden module status from
ModuleMetadata package (Mainline). It was set to hide Mainline modules'
Apk to show in the Settings UI and this has caused the issue as it
disallowed the user to toggle permissions where it was needed. Thus, we
decided to deprecate the usage of ModuleInfo#isHidden (see
go/aml-hidden-modules-permissions).
Bug: 379056868
Test: unittest
Test: check behavior before/after enable flags
Flag: android.content.pm.remove_hidden_module_usage
Change-Id: I670c95350e3c21db9f74f37b675aba1b23c67a61
"Quickly open camera" screen was previously replaced by the "Double
Tap Power Button" screen and accessible only if the
feature flag
android.service.quickaccesswallet.launch_wallet_option_on_power_double_tap
was disabled.
This CL introduces the possibility to set, via a config resource, "Quickly open camera" as the double tap power
gesture screen.
Test: atest DoubleTapPowerSettingsTest
Test: atest DoubleTapPowerPreferenceControllerTest
Test: atest DoubleTapPowerSettingsUtilsTest
Test: manually modified config and verified screen and gesture behavior
change
Flag: android.service.quickaccesswallet.launch_wallet_option_on_power_double_tap
Bug: 384794943
Change-Id: I5ab4422da09fa90848c66a41829327494080b5a2
Change-Id: I8e04cac3999a7ed99a611ef084c54bc07a5505dc
If some other app or the system changes the topology, we detect it and
refresh the topology pane. If the listener reports a topology that we
just applied, do not actually refresh the pane.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352650922
Test: atest DisplayTopologyPreferenceTest.kt
Test: with added logs, verify that a detach and re-attach w/o new topology does not cause a full refresh
Change-Id: Iecf50d563b430755c93bee5a1ff54f3f3d6eb3da
Use Float rather than Int for View coordinates as mostly Floats are
required. Also stop requiring Point/PointF boxing of arguments, since
the Preference implementation ended up not using Point/PointF objects
very much.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352650922
Test: atest DisplayTopologyPreferenceTest.kt
Change-Id: Iecccb9d524014c3b6ad600f99b9e769418e57a4d
The API of the builder was changed a bit to clean up some things and
make others more explicit. Update tests in settingslib accordingly.
Bug: 382497909
Flag: TEST_ONLY
Test: this
Change-Id: Ib31991d61e7b232c8a2befda92537d7b388beb5b
After dropping, apply the new topology to the DisplayManager. We assume
the new topology is immediately written and read it back.
We don't yet respond to updates of the topology from other apps or
components; this will come in a follow-up patch soon.
Flag: com.android.settings.flags.display_topology_pane_in_display_list
Bug: b/352650922
Test: drag a display when there is only one in the topology
Test: drag a display when there are two in the topology
Test: close and re-open settings to verify a topology is persisted
Test: atest DisplayTopologyPreferenceTest.kt
Change-Id: I26aa7325570c5fd3e8b5fb60cb6e1196f8657b80
The same flag is being (correctly) added in onCreate, so on top of being wrong this was also completely unnecessary.
Bug: 368579654
Test: atest NotificationAccessConfirmationActivityTest
Flag: EXEMPT bugfix
Change-Id: I539fca77a1d136bdd0e4892993020884430b8a4e