When invoke the method View#setLayoutParams(), ViewRootImpl
will run method ViewRootImpl#performTraversals(). And
OnGlobalLayoutListener#onGlobalLayout() will be invoked.
When the method View#setLayoutParams() is invoked in
OnGlobalLayoutListener#onGlobalLayout(), there will be recursive
call. The view will be draw on and on. This situation happen in
Screen Magnification. It should remove the listener after
work completion.
Bug: https://issuetracker.google.com/issues/62613000
Test: use systrace when enter Screen Magnification,and view the
"traversal" times.
Change-Id: I01b1fcccb8b915ec436fb95f1d30c8ec0c0de0a9
Signed-off-by: gaochong <gaochong@xiaomi.com>
Turns out that the flag for the window being obscured
does not imply that it is also partially obscured.
Also blocking system alerts and toast windows over the
accessibility service preference screen (and its associated
warning dialog) as well as the warning dialog shown when
a service is made available with the accessibiity shortcut.
Bug: 62104030
Test: Manually verified that I can't enable Select to Speak
when switch access is highlighting the button. I am able to
do that without this fix. Also started a service that
displayed a system overlay and confirmed that the overlay
disappears on a11y service preference screens and when a
new service is configured for the a11y shortcut.
Merged-In: Ie00bafa736c837881a258c9de10891b27c5baefd
Change-Id: Iabbded1a12dbc33d76e51c0bac710280a88080f3
Previously, the name of the service being in a different direction
from the locale could cause bidi artifacts.
Now, we explicitly set the direction of the dialog to the locale, and
bidi-wrap the service name.
Test: Manual
Change-Id: I563299866b24a4ce90fa2d09781aa269d8de2edd
Fixes: 37761152
Per API council review, localized strings should return CharSequence. Changes here
account for the different type returned.
Test: ag/1813674
Bug: 37723508
Change-Id: I7dacab8af48932db031de22835b65eba30393956
Settings thought the default for "Allow from lock screen" was
on. It's really off.
Bug: 37158451
Test: Manually confirmed that a fresh device now shows off.
Change-Id: I38dc4f6d2bfec5e0c8562c0d2c6e034db461aa98
Wasn't checking if the user actually agreed. Whoops.
Bug: 37123004
Test: Manually verified that canceling leaves the selection
unchanged.
Change-Id: I48a052eb74733d3d0105fc1e72c4bf77ce8be0c5
Specifically, move colour inversion and colour correction preferences
to the display category if device is color transform accelerated.
Test: Manual
Bug: 36603386
Change-Id: I4f7e4e569f5f358e6e3c705f9df02e0da473a081
Devices without a software-rendered navigation bar will be unable to
use "Magnify with button" as no accessibility button trigger for
magnification can be shown.
In this case, we hide the setting by preventing
MagnificationPreferenceFragment from showing the list of mag
modes, instead launching directly into the PreferenceFragment for
"Magnify with triple-tap"
Bug: 36862906
Test: Manual - Configured marlin to disable the navigation bar and
verified behavior in SUW and Settings
Change-Id: Ie614ec292d7779044274b7c79eaed1df080c0fd1
We were only checking if the OK button itself was obscured.
Changing to check if any part of the window is obscured.
Bug: 31855267
Test: Created a sample a11y service that displays a UI to cover
part of the window, but not the OK button. It was possible to
enable an a11y service before this change, but now it displays
a warning toast.
Change-Id: I21974535aba734da6ea9d7accf67fb9237fd16fc
Populates and displays a warning message when a feature that relies
on the Accessibility button is enabled, but not assigned.
Bug: 34720082
Test: Manual
Change-Id: Ie7031716a91fdf7fc40f32bf4e0ad17af85aa573
Adding shortcut on/off switch, improving the service picker,
and adding a switch to enable the shortcut on the lock screen.
Also adjusted setting search code to avoid indexing the
accessibility shortcut aside from the main accessibility settings
page.
Bug: 35872328
Bug: 35219988
Test: Ran in a variety of conditions, ran existing settings test.
Also added basic robo test, verified existing robo tests pass.
Change-Id: I4da9bad74caf96d9c8f3640e7db5417b4ee5d602
- Remove static text from default app summaries.They will be filled
dynamically at runtime, so we don't need the static ones here.
- Remove summaryOn/summaryOff strings from a few fragments. Search
framework does not need them.
Change-Id: I165766073ba70aceead88c3df02d62f3700e4592
Fix: 36474747
Fix: 34573952
Test: run existing tests
Added logic for proper handling of new accessibility service categories. Preferences and
services are no longer distinctly separated - services are added after system preferences
in their appropriate category, or are grouped under "Downloaded services".
Bug: 30374533
Test: CTS tests updated to accommodate addition of summary.
Change-Id: I38255ede8880922e60487607f8d1bd520b1adf75
- Add a method in VisibilityLoggerMixin to log visible event using
LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
to next page.
- In next page's onResume(), extract the previous page's metricsCategory
and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters
Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
This allows users to launch Select to Speak service in SetupWizard when
setting up their devices.
Bug: 29517229
Test: manual
Change-Id: I3844e2692e1fc9eb3d0736feb4ca4f74d474130b
Repurposing shortcut setting to make it configurable.
Bug: 30160335
Test: Verified that the setting dialog appears with both
default and newly added accessibility services. Toggled
services on and off, and verified that nothing happened
when the shortcut was disabled.
Change-Id: I14d00109212bdd4b7919b2d51f702c8f118007fa
This aligns text on preferences on the same screen when some of them
don't have icons.
- Use a custom layout for
preference
EditPreference
switch preference
VolumeSeekPreference
DialogPreferencei
Restricted*Preference
DropdownPreference
- Moved related style defs into a new file styles_preference.xml,
because current styles file is too large to read.
- Switch <PreferenceScreen ...> to <Preference ...> for a bunch of
regular preferences.
- Also removed some dead style.
Bug: 33430928
Test: runtest --path packages/apps/Settings/tests/app/src/com/android/settings/dashboard/PreferenceThemeTest.java
Change-Id: Ic9b75d3f133f2a83cd999297b8596253d4b10161
- Refactor GesturePreference to a generic VideoPreference.
- The old video_preference.xml is only for magnification video, so
renamed.
- And use VideoPreference in gesture setting pages.
- Refactor common logic into GesturePreferenceController.
Bug: 32637613
Test: RunSettingsRoboTests
Change-Id: I58580b01a32873cb32c5dc5bf2ec021d5b1400cc
We were using two methods to decide whether or not to show
that an a11y service was enabled, one on the main
Accessibility screen and another on the individual service
screen. In some situations, an enabled service would show
up as enabled on the main screen but not enabled on its
individual screen.
Bug: 30829589
Change-Id: I560d86684a2fb8987d3dd06279e033ecb7cc1a58
Bug: 30681771
Test: SettingsUnitTests
Refactor visibility logging from InstrumentedFragment into a mixin. And
apply mixin in remaining fragments.
Change-Id: Ibbb59904336254a3e4bb9e8c7d0b36e5a6bc2622